Zum Inhalt springenZur Seitennavigation springen: vorherige Seite [Zugriffstaste p]/nächste Seite [Zugriffstaste n]
documentation.suse.com / Dokumentation zu SUSE Enterprise Storage 7 / Betriebs- und Verwaltungshandbuch / Ceph Dashboard / Verwalten von Benutzern und Rollen über die Kommandozeile
Gilt für SUSE Enterprise Storage 7

11 Verwalten von Benutzern und Rollen über die Kommandozeile

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.

11.1 Verwalten der Passwortrichtlinie

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|false
cephuser@adm > ceph dashboard set-pwd-policy-check-oldpwd-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-username-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-exclusion-list-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-complexity-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-sequential-chars-enabled true|false
cephuser@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[,...]

11.2 Verwalten von Benutzerkonten

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 global für alle Ceph-Manager-Instanzen freigegeben.

Mit folgenden Kommandos verwalten Sie die Benutzerkonten:

Vorhandene Benutzer abrufen:
cephuser@adm > ceph dashboard ac-user-show [USERNAME]
Einen neuen Benutzer erstellen:
cephuser@adm > ceph dashboard ac-user-create USERNAME [PASSWORD] [ROLENAME] [NAME] [EMAIL]
Einen Benutzer löschen:
cephuser@adm > ceph dashboard ac-user-delete USERNAME
Benutzerpasswörter ändern:
cephuser@adm > ceph dashboard ac-user-set-password USERNAME PASSWORD
Name und E-Mail-Adresse eines Benutzers bearbeiten:
cephuser@adm > ceph dashboard ac-user-set-info USERNAME NAME EMAIL
Benutzer deaktivieren:
cephuser@adm > ceph dashboard ac-user-disable USERNAME
Benutzer aktivieren:
cephuser@adm > ceph dashboard ac-user-enable USERNAME

11.3 Benutzerrollen und Berechtigungen

In diesem Abschnitt erfahren Sie, welche Sicherheitsbereiche Sie einer Benutzerrolle zuweisen können, wie Sie Benutzerrollen verwalten und wie Sie sie den Benutzerkonten zuweisen.

11.3.1 Definieren von Sicherheitsbereichen

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:

hosts

Alle Funktionen für den Menüeintrag Hosts.

config-opt

Alle Funktionen für die Verwaltung der Ceph-Konfigurationsoptionen.

Speicherplatz auf dem Pool

Alle Funktionen für die Pool-Verwaltung.

osd

Alle Funktionen für die Ceph OSD-Verwaltung.

monitor

Alle Funktionen für die Ceph Monitor-Verwaltung.

rbd-image

Alle Funktionen für die Verwaltung von RADOS-Block-Device-Images.

rbd-mirroring

Alle Funktionen für die Verwaltung der RADOS-Block-Device-Spiegelung.

iscsi

Alle Funktionen für die iSCSI-Verwaltung.

rgw

Alle Funktionen für die Object-Gateway-Verwaltung.

cephfs

Alle Funktionen für die CephFS-Verwaltung.

manager

Alle Funktionen für die Ceph-Manager-Verwaltung.

Protokoll

Alle Funktionen für die Verwaltung der Ceph-Protokolle.

grafana

Alle Funktionen für den Grafana-Proxy.

prometheus

Alle Funktionen für die Prometheus-Verwaltung.

dashboard-settings

Zum Ändern der Dashboard-Einstellungen.

11.3.2 Festlegen von Benutzerrollen

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:

Administrator

Uneingeschränkte Berechtigungen für alle Sicherheitsbereiche.

Nur-Lesen

Leseberechtigung für alle Sicherheitsbereiche mit Ausnahme der Dashboard-Einstellungen.

block-manager

Uneingeschränkte Berechtigungen für die Bereiche „rbd-image“, „rbd-mirroring“ und „iscsi“.

rgw-manager

Uneingeschränkte Berechtigungen für den Bereich „rgw“.

cluster-manager

Uneingeschränkte Berechtigungen für die Bereiche „hosts“, „osd“, „monitor“, „manager“ und „config-opt“.

pool-manager

Uneingeschränkte Berechtigungen für den Bereich „pool“.

cephfs-manager

Uneingeschränkte Berechtigungen für den Bereich „cephfs“.

11.3.2.1 Verwalten benutzerdefinierter Rollen

Mit folgenden Kommandos können Sie neue Benutzerrollen erstellen:

Eine neue Rolle erstellen:
cephuser@adm > ceph dashboard ac-role-create ROLENAME [DESCRIPTION]
Eine Rolle löschen:
cephuser@adm > ceph dashboard ac-role-delete ROLENAME
Bereichsberechtigungen für eine Rolle festlegen:
cephuser@adm > ceph dashboard ac-role-add-scope-perms ROLENAME SCOPENAME PERMISSION [PERMISSION...]
Bereichsberechtigungen einer Rolle löschen:
cephuser@adm > ceph dashboard ac-role-del-perms ROLENAME SCOPENAME

11.3.2.2 Zuweisen von Rollen zu Benutzerkonten

Mit folgenden Kommandos weisen Sie die Rollen den Benutzern zu:

Benutzerrollen festlegen:
cephuser@adm > ceph dashboard ac-user-set-roles USERNAME ROLENAME [ROLENAME ...]
Einem Benutzer zusätzliche Rollen zuweisen:
cephuser@adm > ceph dashboard ac-user-add-roles USERNAME ROLENAME [ROLENAME ...]
Rollen eines Benutzers löschen:
cephuser@adm > ceph dashboard ac-user-del-roles USERNAME ROLENAME [ROLENAME ...]
Tipp
Tipp: Bereinigen benutzerdefinierter Rollen

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 in Abschnitt 13.9, „Vollständiges Entfernen eines Ceph-Clusters“.

11.3.2.3 Beispiel: Erstellen eines Benutzers und einer benutzerdefinierten Regel

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.

  1. Erstellen Sie einen neuen Benutzer namens tux:

     cephuser@adm > ceph dashboard ac-user-create tux PASSWORD
  2. Erstellen Sie eine Rolle und legen Sie die Bereichsberechtigungen fest:

    cephuser@adm > ceph dashboard ac-role-create rbd/pool-manager
    cephuser@adm > ceph dashboard ac-role-add-scope-perms rbd/pool-manager \
     rbd-image read create update delete
    cephuser@adm > ceph dashboard ac-role-add-scope-perms rbd/pool-manager pool read create
  3. Ordnen Sie die Rollen dem Benutzer tux zu:

    cephuser@adm > ceph dashboard ac-user-set-roles tux rbd/pool-manager read-only

11.4 Proxy-Konfiguration

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.

11.4.1 Zugriff auf das Dashboard über Reverse-Proxys

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.

11.4.2 Deaktivieren von Umleitungen

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"

11.4.3 Konfigurieren von Fehlerstatuscodes

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

11.4.4 Beispiel einer HAProxy-Konfiguration

Im folgenden Beispiel wird ein TLS/SSL-Durchlauf mit HAProxy konfiguriert.

Anmerkung
Anmerkung

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

11.5 Revision von API-Anforderungen

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:

Von

Ursprung der Anforderung, z. B. „https://[::1]:44410“.

Pfad

Der REST API-Pfad, z. B /api/auth.

Methode

„PUT“, „POST“ oder „DELETE“.

benutzer

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"}'
Tipp
Tipp: Deaktivieren der Protokollierung der Anforderungsnutzlast

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

11.6 Konfigurieren von NFS Ganesha im Ceph Dashboard

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.

11.6.1 Konfigurieren mehrerer NFS-Ganesha-Cluster

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.

11.7 Plugins zur Fehlersuche

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.