Ceph-Benutzer hinzufügen

Durch Hinzufügen eines Benutzers wird ein Benutzername erstellt, d. h. TYPE.ID, ein geheimer Schlüssel und alle Funktionen, die in dem Befehl enthalten sind, den Sie zum Erstellen des Benutzers verwenden.

Der Schlüssel eines Benutzers ermöglicht dem Benutzer die Authentifizierung beim Ceph-Speichercluster. Die Benutzerfunktionalität berechtigt den Benutzer zum Lesen, Schreiben oder Ausführen auf Ceph-Monitoren (mon), Ceph-OSDs (osd) oder Ceph-Metadatenservern (mds).

Es gibt mehrere Möglichkeiten, einen Benutzer hinzuzufügen:

  • ceph auth add: Dieser Befehl ist die kanonische Methode zum Hinzufügen eines Benutzers. Er erstellt den Benutzer, generiert einen Schlüssel und fügt alle angegebenen Funktionen hinzu.

  • ceph auth get-or-create: Dieser Befehl ist häufig die bequemste Methode, einen Benutzer zu erstellen, da er ein Schlüsseldateiformat mit dem Benutzernamen (in Klammern) und dem Schlüssel zurückgibt. Wenn der Benutzer bereits vorhanden ist, gibt dieser Befehl einfach den Benutzernamen und den Schlüssel im Schlüsseldateiformat zurück. Sie können die Option -o FILE_NAME verwenden, um die Ausgabe in einer Datei zu sichern.

  • ceph auth get-or-create-key: Dieser Befehl ist eine einfache Möglichkeit, einen Benutzer zu erstellen und nur den Schlüssel des Benutzers zurückzugeben. Dies ist nützlich für Clients, die nur den Schlüssel benötigen, z. B. libvirt. Wenn der Benutzer bereits vorhanden ist, gibt dieser Befehl einfach den Schlüssel zurück. Sie können die Option -o FILE_NAME verwenden, um die Ausgabe in einer Datei zu sichern.

Bei der Erstellung von Clientbenutzern können Sie einen Benutzer ohne Funktionen erstellen. Ein Benutzer ohne Funktionalität ist über die reine Authentifizierung hinaus nutzlos, da der Client die Clusterzuordnung nicht von der Überwachung abrufen kann. Sie können jedoch einen Benutzer ohne Funktionen erstellen, wenn Sie das Hinzufügen von Funktionen später mit dem Befehl ceph auth caps verzögern möchten.

Ein typischer Benutzer verfügt über mindestens Lesefunktionalität auf dem Ceph-Monitor und Lese-und Schreibfunktionalität auf Ceph-OSDs. Außerdem sind die OSD-Berechtigungen eines Benutzers häufig auf den Zugang zu einem bestimmten Pool beschränkt.

[ceph: root@host01 /]# ceph auth add client.john mon 'allow r' osd 'allow rw pool=mypool'
[ceph: root@host01 /]# ceph auth get-or-create client.paul mon 'allow r' osd 'allow rw pool=mypool'
[ceph: root@host01 /]# ceph auth get-or-create client.george mon 'allow r' osd 'allow rw pool=mypool' -o george.keyring
[ceph: root@host01 /]# ceph auth get-or-create-key client.ringo mon 'allow r' osd 'allow rw pool=mypool' -o ringo.key
Wichtig: Wenn Sie einem Benutzer Funktionen für OSDs bereitstellen, aber den Zugriff auf bestimmte Pools NICHT einschränken, hat der Benutzer Zugriff auf ALLE Pools im Cluster.