In diesem Abschnitt wird die Verwaltung von Benutzerkonten erläutert, die im Ceph Dashboard verwendet werden. Hier erhalten Sie Hilfestellung für die Erstellung oder Bearbeitung von Benutzerkonten sowie für die Festlegung der richtigen Benutzerrollen und Berechtigungen.
Standardmäßig ist die Passwortrichtlinienfunktion einschließlich der folgenden Prüfungen aktiviert:
Ist das Passwort länger als N Zeichen?
Sind das alte und das neue Passwort identisch?
Die Passwortrichtlinienfunktion kann komplett ein- oder ausgeschaltet werden:
cephuser@adm >
ceph dashboard set-pwd-policy-enabled true|false
Die folgenden Einzelprüfungen können ein- oder ausgeschaltet werden:
cephuser@adm >
ceph dashboard set-pwd-policy-check-length-enabled true|falsecephuser@adm >
ceph dashboard set-pwd-policy-check-oldpwd-enabled true|falsecephuser@adm >
ceph dashboard set-pwd-policy-check-username-enabled true|falsecephuser@adm >
ceph dashboard set-pwd-policy-check-exclusion-list-enabled true|falsecephuser@adm >
ceph dashboard set-pwd-policy-check-complexity-enabled true|falsecephuser@adm >
ceph dashboard set-pwd-policy-check-sequential-chars-enabled true|falsecephuser@adm >
ceph dashboard set-pwd-policy-check-repetitive-chars-enabled true|false
Darüber hinaus stehen zum Konfigurieren des Verhaltens der Passwortrichtlinie die folgenden Optionen zur Verfügung.
Die minimale Passwortlänge (Standardwert ist 8):
cephuser@adm >
ceph dashboard set-pwd-policy-min-length N
Die minimale Passwortkomplexität (Standardwert ist 10):
cephuser@adm >
ceph dashboard set-pwd-policy-min-complexity N
Die Passwortkomplexität wird berechnet, indem jedes Zeichen im Passwort klassifiziert wird.
Eine Liste mit kommagetrennten Wörtern, die nicht in einem Passwort verwendet werden dürfen:
cephuser@adm >
ceph dashboard set-pwd-policy-exclusion-list word[,...]
Das Ceph Dashboard unterstützt die Verwaltung mehrerer Benutzerkonten. Jedes Benutzerkonto umfasst einen Benutzernamen, ein Passwort (in verschlüsselter Form mit bcrypt
gespeichert), einen optionalen Namen und eine optionale E-Mail-Adresse.
Die Benutzerkonten werden in der Konfigurationsdatenbank von Ceph Monitor gespeichert und für alle Ceph-Manager-Instanzen freigegeben.
Mit folgenden Kommandos verwalten Sie die Benutzerkonten:
cephuser@adm >
ceph dashboard ac-user-show [USERNAME]
cephuser@adm >
ceph dashboard ac-user-create USERNAME -i [PASSWORD_FILE] [ROLENAME] [NAME] [EMAIL]
cephuser@adm >
ceph dashboard ac-user-delete USERNAME
cephuser@adm >
ceph dashboard ac-user-set-password USERNAME -i PASSWORD_FILE
cephuser@adm >
ceph dashboard ac-user-set-info USERNAME NAME EMAIL
cephuser@adm >
ceph dashboard ac-user-disable USERNAME
cephuser@adm >
ceph dashboard ac-user-enable USERNAME
In diesem Abschnitt erfahren Sie, welche Sicherheitsbereiche Sie einer Benutzerrolle zuweisen können, wie Sie Benutzerrollen verwalten und wie Sie sie den Benutzerkonten zuweisen.
Benutzerkonten sind mit einer Gruppe von Rollen verknüpft, mit der definiert wird, auf welche Teile des Dashboards der Benutzer zugreifen kann. Die Dashboard-Teile sind in einem Sicherheitsbereich gruppiert. Sicherheitsbereiche sind vordefiniert und statisch. Die folgenden Sicherheitsbereiche sind derzeit verfügbar:
Alle Funktionen für den Menüeintrag
.Alle Funktionen für die Verwaltung der Ceph-Konfigurationsoptionen.
Alle Funktionen für die Pool-Verwaltung.
Alle Funktionen für die Ceph OSD-Verwaltung.
Alle Funktionen für die Ceph Monitor-Verwaltung.
Alle Funktionen für die Verwaltung von RADOS-Block-Device-Images.
Alle Funktionen für die Verwaltung der RADOS-Block-Device-Spiegelung.
Alle Funktionen für die iSCSI-Verwaltung.
Alle Funktionen für die Object-Gateway-Verwaltung.
Alle Funktionen für die CephFS-Verwaltung.
Alle Funktionen für die Ceph-Manager-Verwaltung.
Alle Funktionen für die Verwaltung der Ceph-Protokolle.
Alle Funktionen für den Grafana-Proxy.
Alle Funktionen für die Prometheus-Verwaltung.
Zum Ändern der Dashboard-Einstellungen.
Eine Rolle bestimmt eine Reihe von Zuordnungen zwischen einem Sicherheitsbereich und einer Gruppe von Berechtigungen. Es gibt vier Arten von Berechtigungen: „read“, „create“, „update“ und „delete“.
Im folgenden Beispiel wird eine Rolle festgelegt, bei der ein Benutzer die Berechtigungen „read“ und „create“ für Funktionen im Rahmen der Pool-Verwaltung sowie uneingeschränkte Berechtigungen für Funktionen im Rahmen der RBD-Image-Verwaltung besitzt:
{ 'role': 'my_new_role', 'description': 'My new role', 'scopes_permissions': { 'pool': ['read', 'create'], 'rbd-image': ['read', 'create', 'update', 'delete'] } }
Das Dashboard bietet bereits eine Gruppe vordefinierter Rollen, die als Systemrollen bezeichnet werden. Diese Rollen können Sie nach einer Neuinstallation des Ceph Dashboards sofort nutzen:
Uneingeschränkte Berechtigungen für alle Sicherheitsbereiche.
Leseberechtigung für alle Sicherheitsbereiche mit Ausnahme der Dashboard-Einstellungen.
Uneingeschränkte Berechtigungen für die Bereiche „rbd-image“, „rbd-mirroring“ und „iscsi“.
Uneingeschränkte Berechtigungen für den Bereich „rgw“.
Uneingeschränkte Berechtigungen für die Bereiche „hosts“, „osd“, „monitor“, „manager“ und „config-opt“.
Uneingeschränkte Berechtigungen für den Bereich „pool“.
Uneingeschränkte Berechtigungen für den Bereich „cephfs“.
Mit folgenden Kommandos können Sie neue Benutzerrollen erstellen:
cephuser@adm >
ceph dashboard ac-role-create ROLENAME [DESCRIPTION]
cephuser@adm >
ceph dashboard ac-role-delete ROLENAME
cephuser@adm >
ceph dashboard ac-role-add-scope-perms ROLENAME SCOPENAME PERMISSION [PERMISSION...]
cephuser@adm >
ceph dashboard ac-role-del-perms ROLENAME SCOPENAME
Mit folgenden Kommandos weisen Sie die Rollen den Benutzern zu:
cephuser@adm >
ceph dashboard ac-user-set-roles USERNAME ROLENAME [ROLENAME ...]
cephuser@adm >
ceph dashboard ac-user-add-roles USERNAME ROLENAME [ROLENAME ...]
cephuser@adm >
ceph dashboard ac-user-del-roles USERNAME ROLENAME [ROLENAME ...]
Wenn Sie benutzerdefinierte Rollen erstellen und den Ceph-Cluster später mit dem Ausführungsprogramm ceph.purge
bereinigen möchten, müssen Sie zunächst die benutzerdefinierten Rollen bereinigen. Weitere Informationen finden Sie im Abschnitt 13.9, „Vollständiges Entfernen eines Ceph-Clusters“.
In diesem Abschnitt wird das Verfahren zum Erstellen eines Benutzerkontos veranschaulicht, das RBD-Images verwalten und den Ceph-Pool abrufen kann sowie den Nur-Lese-Zugriff auf alle anderen Bereiche erhält.
Erstellen Sie einen neuen Benutzer namens tux
:
cephuser@adm >
ceph dashboard ac-user-create tux PASSWORD
Erstellen Sie eine Rolle und legen Sie die Bereichsberechtigungen fest:
cephuser@adm >
ceph dashboard ac-role-create rbd/pool-managercephuser@adm >
ceph dashboard ac-role-add-scope-perms rbd/pool-manager \ rbd-image read create update deletecephuser@adm >
ceph dashboard ac-role-add-scope-perms rbd/pool-manager pool read create
Ordnen Sie die Rollen dem Benutzer tux
zu:
cephuser@adm >
ceph dashboard ac-user-set-roles tux rbd/pool-manager read-only
Wenn Sie eine feste URL für das Ceph Dashboard festlegen möchten oder wenn Sie keine direkten Verbindungen zu den Manager-Knoten zulassen möchten, können Sie einen Proxy einrichten, der eingehende Anfragen automatisch an die aktuell aktive ceph-mgr
-Instanz weiterleitet.
Wenn Sie über eine Reverse-Proxy-Konfiguration auf das Dashboard zugreifen, muss ggf. ein URL-Präfix angegeben werden. Mit der Einstellung url_prefix
legen Sie fest, dass das Dashboard Hyperlinks mit Ihrem Präfix nutzen soll:
cephuser@adm >
ceph config set mgr mgr/dashboard/url_prefix URL_PREFIX
Anschließend können Sie unter http://HOST_NAME:PORT_NUMBER/URL_PREFIX/
auf das Dashboard zugreifen.
Wenn sich das Ceph Dashboard hinter einem Lastausgleichsproxy wie HAProxy befindet, deaktivieren Sie das Weiterleitungsverhalten, um Situationen zu vermeiden, in denen die internen (nicht auflösbaren) URLs an den Frontend-Client veröffentlicht werden. Mit folgendem Kommando antwortet das Dashboard mit einem HTTP-Fehler (standardmäßig 500
), statt an das aktive Dashboard weiterzuleiten:
cephuser@adm >
ceph config set mgr mgr/dashboard/standby_behaviour "error"
Setzen Sie die Einstellung mit folgendem Kommando auf das standardmäßige Weiterleitungsverhalten zurück:
cephuser@adm >
ceph config set mgr mgr/dashboard/standby_behaviour "redirect"
Wenn das Weiterleitungsverhalten deaktiviert ist, dann sollten Sie den HTTP-Statuscode von Standby-Dashboards anpassen. Führen Sie hierzu folgendes Kommando aus:
cephuser@adm >
ceph config set mgr mgr/dashboard/standby_error_status_code 503
Im folgenden Beispiel wird ein TLS/SSL-Durchlauf mit HAProxy konfiguriert.
Die Konfiguration funktioniert unter den folgenden Bedingungen: Wenn das Dashboard ausfällt, erhält der Frontend-Client möglicherweise eine HTTP-Weiterleitungsantwort (303
) und wird an einen nicht auflösbaren Host weitergeleitet.
Dies geschieht, wenn die Ausfallsicherung während zweier HAProxy-Zustandsprüfungen auftritt. In dieser Situation antwortet der zuvor aktive Dashboard-Knoten nun mit einer 303, die auf den neuen aktiven Knoten zeigt. Um diese Situation zu vermeiden, sollten Sie erwägen, das Weiterleitungsverhalten auf Standby-Knoten zu deaktivieren.
defaults log global option log-health-checks timeout connect 5s timeout client 50s timeout server 450s frontend dashboard_front mode http bind *:80 option httplog redirect scheme https code 301 if !{ ssl_fc } frontend dashboard_front_ssl mode tcp bind *:443 option tcplog default_backend dashboard_back_ssl backend dashboard_back_ssl mode tcp option httpchk GET / http-check expect status 200 server x HOST:PORT ssl check verify none server y HOST:PORT ssl check verify none server z HOST:PORT ssl check verify none
Die REST-API des Ceph Dashboards kann PUT-, POST- und DELETE-Anforderungen im Ceph-Revisionsprotokoll festhalten. Die Protokollierung ist standardmäßig deaktiviert; mit folgendem Kommando können Sie sie jedoch aktivieren:
cephuser@adm >
ceph dashboard set-audit-api-enabled true
Nach der Aktivierung werden die folgenden Parameter für jede Anforderung protokolliert:
Ursprung der Anforderung, z. B. „https://[::1]:44410“.
Der REST API-Pfad, z. B /api/auth
.
„PUT“, „POST“ oder „DELETE“.
Name des Benutzers (oder „None“ [Keine]).
Beispiel für einen Protokolleintrag:
2019-02-06 10:33:01.302514 mgr.x [INF] [DASHBOARD] \ from='https://[::ffff:127.0.0.1]:37022' path='/api/rgw/user/exu' method='PUT' \ user='admin' params='{"max_buckets": "1000", "display_name": "Example User", "uid": "exu", "suspended": "0", "email": "user@example.com"}'
Die Protokollierung der Anforderungsnutzlast (die Liste der Argumente und ihrer Werte) ist standardmäßig aktiviert. So können Sie sie deaktivieren:
cephuser@adm >
ceph dashboard set-audit-api-log-payload false
Das Ceph Dashboard kann NFS-Ganesha-Exporte verwalten, die CephFS oder Object Gateway als Backstore verwenden. Das Dashboard verwaltet NFS-Ganesha-Konfigurationsdateien, die in RADOS-Objekten auf dem CephFS-Cluster gespeichert sind. NFS Ganesha muss einen Teil ihrer Konfiguration im Ceph-Cluster speichern.
Konfigurieren Sie den Standort der Konfigurationsobjekte von NFS Ganesha mit folgendem Kommando:
cephuser@adm >
ceph dashboard set-ganesha-clusters-rados-pool-namespace pool_name[/namespace]
Sie können nun NFS-Ganesha-Exporte über das Ceph Dashboard verwalten.
Das Ceph Dashboard unterstützt die Verwaltung von NFS-Ganesha-Exporten, die zu verschiedenen NFS-Ganesha-Clustern gehören. Wir empfehlen, dass jeder NFS-Ganesha-Cluster seine Konfigurationsobjekte in einem anderen RADOS-Pool/Namespace speichert, um die Konfigurationen voneinander zu isolieren.
Geben Sie mit folgendem Kommando die Speicherorte der Konfiguration der einzelnen NFS-Ganesha-Cluster an:
cephuser@adm >
ceph dashboard set-ganesha-clusters-rados-pool-namespace cluster_id:pool_name[/namespace](,cluster_id:pool_name[/namespace])*
Die cluster_id ist eine beliebige Zeichenkette, die den NFS-Ganesha-Cluster eindeutig identifiziert.
Wenn Sie das Ceph Dashboard mit mehreren NFS-Ganesha-Clustern konfigurieren, können Sie in der Weboberfläche automatisch auswählen, zu welchem Cluster ein Export gehört.
Ceph-Dashboard-Plugins erweitern die Funktionalität des Dashboards. Das Plugin zur Fehlersuche ermöglicht die Anpassung des Verhaltens des Dashboards entsprechend dem Fehlersuchmodus. Es kann mit folgendem Kommando aktiviert, deaktiviert oder überprüft werden:
cephuser@adm >
ceph dashboard debug status Debug: 'disabled'cephuser@adm >
ceph dashboard debug enable Debug: 'enabled'cephuser@adm >
dashboard debug disable Debug: 'disabled'
Es ist standardmäßig deaktiviert. Dies ist die empfohlene Einstellung für Produktionsbereitstellungen. Bei Bedarf kann der Fehlersuchmodus aktiviert werden, ohne dass ein Neustart erforderlich ist.