Frage LDAP-Connection: Checkmk User-Attribut für LDAP-User auf konstanten Wert setzen

Eine Checkmk 2.1 Site soll über eine LDAP-Connection an eine externe Benutzerverwaltung angebunden werden.
Frage dazu: gibt es eine Möglichkeit ein Checkmk User-Attribut, das in der LDAP-Connection über ein Attribute Sync Plugin gesetzt wird, auf einen konstanten Wert zu setzen, der für alle User gilt, die über diese Connection angelegt werden? Konkret geht es um das Attribut “Visibility of Hosts/Services”, das für alle User auf True gesetzt werden soll. Das genutzte Verzeichnis hat dafür kein passendes LDAP-Attribut und der default Wert ist False.

Hi @egd,
was genau möchtest du denn erreichen?
Sollen alle Hosts generell erreichbar sein oder nur bestimmte Hosts für manche Server?
Weil dafür wären die Kontaktgruppen ja genau richtig.

Möchtest du generell einstellen, dass alle User alle Hosts sehen, kannst du die Rollen einfach anpassen, die die User zugewiesen bekommen. Dort kannst du einstellen, dass die alle Hosts/Service sehen dürfen, unabhängig der Kontaktgruppe.

Hi @Kruzgoth,
Alle LDAP-User haben über ihre Rolle Sdas Recht “See all host and services” und sind Kontaktgruppen zugeordnet, denen jeweils nur ein Subset der vorhandenen Hosts zugeordnet ist.
Über das User Profile sollen sie die Möglichkeit haben, mit dem Attribut “Visibility of hosts/services” zu wählen, ob sie alle Hosts angezeigt bekommen oder nur die, die ihrer Kontaktgruppe zugeordnet sind.
Wenn “Only show hosts and services the user is a contact for” bei “Visibility of hosts/services” angekreuzt/aktiviert ist, hat der User eine eingeschränkte Sicht, ansonsten sieht er alle Hosts.
Beim ersten Login soll “Only show hosts and services the user is a contact for” aktiv sein. Danach liegt es in der Hand des Users, weiviele Hosts ihm angezeigt werden und er kann das auch beliebig über sein User Profile ändern.

Es ist im wesentlichen also eine Anforderung zur Usabilty.
Ist Zustand: Ein LDAP-User sieht initial alle Hosts und kann die Sicht optional selbständig einschränken.
Ziel-Zustand: Ein LDAP-User hat initial eine eingeschränkte Sicht auf die Hosts und kann sie optional auf alle Hosts erweitern.

Und das hier erfüllt nicht deine Anforderungen?
grafik

Leider nicht, da es in dem verwendeten Verzeichnis kein LDAP-Attribut ‘force_authuser’ gibt. Wenn man es trotzdem nutzt, gibt es einen Fehler Fehler bei der LDAP-Abfrage. Der ist aber nur im Log sichtbar. Effektif wird in der userdb dann force_authuser auf False gesetzt.

Kurzer Einwurf. Eine Anbindung dieser Einstellung an ein LDAP Attribut macht keinen Sinn wenn der User dies selbständig für sich bestimmen soll. Innerhalb einer Session würde das geänderte Attribut wieder auf den LDAP Wert gesetzt werden falls der User das ändert.

Warum nicht die Option “Global Settings” → “Default User Profile” verwenden?
Hier kann ohne Probleme dein Ziel-Zustand eingestellt werden.

Das Problem hier ist, dass @egd beides haben möchte. Er möchte User einbinden, die per Default alle Hosts und Service sehen können, als auch welche, die nicht alle sehen können, dies aber später in ihren Settings umstellen können.

Ich glaube, so flexible ist Check_MK dahingehend leider nicht =/

Vielen Dank euch beiden für die schnelle Hilfe. Habe doch das Default User Profile geändert. Damit passt es für die überwiegende Mehrheit der LDAP-User - Danke für den Tip @andreas-doehler.
Da das Verzeichnis kein passendes Attribut für force_authuser enthält, war die ursprüngliche Idee, mehrere LDAP-Connections für unterschiedliche User-Gruppen zu verwenden, die dann in Checkmk das User Attribut jeweils auf einen anderen, konstanten Wert setzen.

Vorschlag für Checkmk: Im Plugins Abschnitt der LDAP-Connection bei den Standard User Attributen statt der Checkbox “LDAP attribute to sync” eine Auswahl mit “LDAP attribute to sync” und “Constant Value”. In dem zugehörigen Textfeld steht dann entweder der Name eines LDAP-Attributs oder ein fester Wert, je nachdem was ausgewählt ist. So hat man an einer Stelle die Kontrolle über die Attribute der LDAP-User.