Dieses Dokument beschreibt, wie das Icinga-Classic UI (früher "CGIs" genannt) entscheiden, wer die Überwachungs- und Konfigurationsinformationen sehen darf und wer über das Web-Interface Befehle an den Icinga-Daemon erteilen darf.
Bevor wir fortfahren, ist es wichtig, dass Sie die Bedeutung und den Unterschied zwischen authentifizierten Benutzern und authentifizierten Kontakten verstehen:
Ein authentifizierter Benutzer ist jemand, der sich dem Web-Server gegenüber mit Benutzer und Passwort authentifiziert hat und dem Zugang zum Icinga-Classic-Web-Interface gewährt wurde.
Ein authentifizierter Kontakt ist ein authentifizierter Benutzer, dessen Benutzername mit dem Kurznamen einer Kontakt-Definition übereinstimmt.
Wenn wir annehmen, dass Sie Ihren Web-Server wie in der Schnellstart-Anleitung konfiguriert haben, dann sollte er Sie dazu auffordern, sich zu authentifizieren, bevor Sie das Icinga-Classic UI benutzen können. Sie sollten außerdem ein Benutzerkonto (icingaadmin) haben, das Zugang zum Classic UI hat.
Während Sie weitere Kontakte definieren, um Host- und Service-Benachrichtigungen zu erhalten, möchten Sie wahrscheinlich auch, dass sie Zugang zum Icinga-Web-Interface haben. Sie können den folgenden Befehl benutzen, um zusätzliche Benutzer hinzuzufügen, die sich beim Classic UI authentifizieren können. Ersetzen Sie <username> durch den Benutzernamen, den Sie hinzufügen möchten. In den meisten Fällen sollte der Benutzername mit dem Kurznamen eines Kontakts übereinstimmen, den Sie definiert haben.
htpasswd /usr/local/icinga/etc/htpasswd.users <username>
Als nächstes sollten Sie sicherstellen, dass das Classic UI so konfiguriert ist, dass es die Authentifizierungs- und Autorisierungsfunktionalität nutzt, um festzulegen, welchen Zugang Benutzer zu Informationen und/oder Befehlen haben. Dies wird durch die use_authentication-Variable in der Classic UI-Konfigurationsdatei erreicht, die einen Wert ungleich Null haben muss. Beispiel:
use_authentication=1
Okay, nun sind Sie fertig mit dem Einstellen der grundlegenden Authentifizierungs- und Autorisierungsfunktionalität in den Classic UI-Modulen.
Welche Standardberechtigungen haben Benutzer im Classic UI, wenn die Authentifizierungs- und Autorisierungsfunktionalität aktiviert ist?
Classic UI-Daten |
Authentifizierte Kontakte * |
andere authentifizierte Benutzer * |
Host-Statusinformationen |
Ja |
Nein |
Host-Konfigurationsinformationen |
Ja |
Nein |
Host-Verlauf |
Ja |
Nein |
Host-Benachrichtigungen |
Ja |
Nein |
Host-Befehle |
Ja |
Nein |
Service-Statusinformationen |
Ja |
Nein |
Service-Konfigurationsinformationen |
Ja |
Nein |
Service-Verlauf |
Ja |
Nein |
Service-Benachrichtigungen |
Ja |
Nein |
Service-Befehle |
Ja |
Nein |
Alle Konfigurationsinformationen |
Nein |
Nein |
System/Prozessinformationen |
Nein |
Nein |
System/Prozessbefehle |
Nein |
Nein |
Authentifizierten Kontakten * werden die folgenden Berechtigungen für jeden Service gewährt, bei dem sie als Kontakt eingetragen sind (aber "Nein" für Services, bei denen sie nicht als Kontakt eingetragen sind)...
Autorisierung, um Service-Statusinformationen zu sehen
Autorisierung, um Service-Konfigurationsinformationen zu sehen
Autorisierung, um Verlauf und Benachrichtigungen für den Service zu sehen
Autorisierung, um Service-Befehle zu erteilen
Authentifizierten Kontakten * werden die folgenden Berechtigungen für jeden Host gewährt, bei dem sie als Kontakt eingetragen sind (aber "Nein" für Hosts, bei denen sie nicht als Kontakt eingetragen sind)...
Autorisierung, um Host-Statusinformationen zu sehen
Autorisierung, um Host-Konfigurationsinformationen zu sehen
Autorisierung, um Verlauf und Benachrichtigungen für den Host zu sehen
Autorisierung, um Host-Befehle zu erteilen
Autorisierung, um Statusinformationen für alle Services des Hosts zu sehen
Autorisierung, um Konfigurationsinformationen für alle Services des Hosts zu sehen
Autorisierung, um Verlauf und Benachrichtigungen für alle Services des Host zu sehen
Autorisierung, um Befehle für alle Services des Hosts zu erteilen
Es ist wichtig anzumerken, dass als Grundeinstellung keiner autorisiert ist, das Folgende zu tun:
die Log-Datei über das showlog-Modul anzusehen
Icinga-Prozessinformationen über das extended information-Modul anzusehen
Icinga-Prozessbefehle über das command-Modul zu erteilen
Definitionen für Hostgruppen, Kontakte, Kontaktgruppen, Zeitfenster und Befehle über das configuration-Modul anzusehen
Sie werden unzweifelhaft Zugang zu diesen Informationen haben wollen, so dass Sie wie unten beschrieben zusätzliche Rechte für sich (und vielleicht andere Benutzer) zuweisen möchten.
Uns ist klar, dass die verfügbaren Optionen es nicht erlauben, sehr genau auf bestimmte Berechtigungen einzugehen, aber es ist besser als nichts...
Benutzern können zusätzliche Autorisierungen gegeben werden, indem sie den folgenden Variablen in der Classic UI-Konfigurationsdatei hinzugefügt werden...
Wenn Sie verwirrt sind, welche Autorisierung Sie benötigen, um Zugang zu verschiedenen Informationen im Classic UI zu bekommen, lesen Sie hier den Abschnitt Autorisierungsanforderungen , in dem jedes Modul beschrieben ist.
Wenn Ihr Web-Server in einer sicheren Domäne steht (d.h. hinter einer Firewall) oder wenn Sie SSL benutzen, dann können Sie einen Standard-Benutzernamen definieren, der verwendet werden kann, um das Classic UI aufzurufen. Dies wird durch die Definition der default_user_name-Option in der Classic UI-Konfigurationsdatei erreicht. Durch die Definition eines Standard-Benutzernamens, der die Classic UI-Module aufrufen kann, können Sie Benutzern erlauben, das Classic UI aufzurufen, ohne dass sie sich am Web-Server authentifizieren müssen. Sie möchten das vielleicht nutzen, um die Verwendung der Basis-Web-Authentifizierung zu verhindern, weil diese Passwörter im Klartext über das Internet überträgt.
Wichtig: Definieren Sie keinen Standard-Benutzernamen, solange Sie nicht einen sicheren Web-Server haben und sicher sind, dass sich jeder, der das Classic UI aufruft, in irgendeiner Weise authentifiziert hat. Wenn Sie diese Variable definieren, dann wird jeder, der sich am Web-Server authentifiziert, alle Rechte dieses Benutzers erben!
© 1999-2009 Ethan Galstad, 2009-2017 Icinga Development Team, https://www.icinga.com