Benutzer und Rollen verwalten
Databases for Elasticsearch-Bereitstellungen werden mit aktivierter Authentifizierung bereitgestellt und verwenden die integrierten Benutzervon Elasticsearch.
Fügen Sie Benutzer in der Benutzeroberfläche auf der Seite Service credentials, mit dem Cloud Databases CLI-Plug-in oder der Cloud Databases API hinzu.
Benutzer mit Administratorberechtigung
Wenn Sie eine Implementierung von Databases for Elasticsearch bereitstellen, wird automatisch ein admin
-Benutzer erstellt.
Legen Sie das Administratorkennwort fest, bevor Sie es für die Verbindung verwenden.
Festlegen des Admin-Kennworts in der Benutzeroberfläche
Legen Sie Ihr Admin-Passwort über die Benutzeroberfläche fest, indem Sie Ihre Instanz in der Ressourcenliste auswählen. Wählen Sie auf dem Dashboard die Registerkarte Einstellungen, geben Sie dann entweder ein neues Admin-Passwort ein oder erstellen Sie ein neues und klicken Sie auf die Schaltfläche Passwort ändern.
Festlegen des Admin-Kennworts in der CLI
Verwenden Sie den Befehl cdb user-password
aus dem Plug-in IBM Cloud der Befehlszeilenschnittstelle Cloud Databases, um das Administratorkennwort festzulegen.
Um beispielsweise das Administratorkennwort für eine Bereitstellung namens example-deployment
festzulegen, verwenden Sie den folgenden Befehl:
ibmcloud cdb user-password example-deployment admin <newpassword>
Einstellen des Admin-Kennworts in der API
Der Foundation-Endpunkt, der im Übersichtsbereich im Abschnitt Einsatzdetails Ihres Dienstes angezeigt wird, bietet die URL für den Zugriff auf diesen Einsatz über die API. Verwenden Sie ihn zusammen mit dem Endpunkt Passwort des angegebenen Benutzers festlegen, um das Administrator-Passwort festzulegen.
curl -X PATCH `https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/admin` \
-H `Authorization: Bearer <>` \
-H `Content-Type: application/json` \
-d `{"password":"newrootpasswordsupersecure21"}` \
Die Rolle ibm_superuser
Ab Elasticsearch Version 7.17.7 wird allen neuen und vorhandenen Benutzern, einschließlich des Benutzers admin
, die Rolle ibm_superuser
zugewiesen. Die Rolle ibm_superuser
verfügt über dieselben Berechtigungen
wie superuser
, außer dass die Rolle ibm_superuser
nicht auf verdeckte, interne oder eingeschränkte Indizes zugreifen kann. Die Einschränkung des Zugriffs auf verdeckte Indizes verhindert, dass Benutzer versehentlich
ihren eigenen Zugriff einschränken, indem sie Sicherheitsindizes schließen.
Während Sie über die Berechtigungen zum Ändern dieser Rolle in die ursprüngliche superuser
verfügen, sollten Sie dies nicht tun. Wenn Sie ibm_superuser
in superuser
ändern, wird der Zugriff auf Ihre Elasticsearch-Implementierung
unterbrochen.
Verwaltung von Benutzern und Rollen über die Benutzeroberfläche
- Wechseln Sie zum Service-Dashboard für Ihren Service.
- Klicken Sie auf Dienstanmeldeinformationen, um die Seite zu öffnen.
- Klicken Sie auf Neuer Berechtigungsnachweis.
- Wählen Sie einen beschreibenden Namen für Ihren neuen Berechtigungsnachweis aus.
- (Optional) Geben Sie an, ob die neuen Berechtigungsnachweise für einen öffentlichen oder privaten Endpunkt verwendet werden. Verwenden Sie wahlweise
{ "service-endpoints": "public" }
/{ "service-endpoints": "private" }
im Feld Integrierte Konfigurationsparameter hinzufügen, um Verbindungszeichenfolgen zu generieren, die den angegebenen Endpunkt verwenden. Die Verwendung des Endpunkts wird nicht umgesetzt. Mit der Angabe wird lediglich gesteuert, welche Hostnamen die Verbindungszeichenfolgen enthalten. Standardmäßig werden öffentliche Endpunkte generiert. - Klicken Sie auf Hinzufügen, um die neuen Berechtigungsnachweise bereitzustellen. Es werden ein Benutzername und ein Kennwort und zudem automatisch ein zugehöriger Elasticsearch-Benutzer generiert.
Die neuen Berechtigungsnachweise werden in der Tabelle angezeigt und die Verbindungszeichenfolgen sind als JSON in einem Click-to-Copy-Feld unter Berechtigungsnachweise anzeigen verfügbar.
Wenn Sie einen Benutzer über die CLI oder API erstellen, werden die Verbindungszeichenfolgen dieses Benutzers nicht automatisch in Serviceberechtigungsnachweise eingetragen. Wenn Sie diese dort hinzufügen möchten, können Sie einen neuen
Berechtigungsnachweis mit den vorhandenen Benutzerinformationen erstellen. Geben Sie den Benutzernamen und das Kennwort in das JSON-Feld unter Integrierte Konfigurationsparameter hinzufügen ein. Zum Beispiel {"existing_credentials":{"username":"Robert","password":"supersecure"}}
.
Im Grunde senden Sie den Benutzernamen und das Kennwort ein, und der Anmeldedienst generiert die Verbindungszeichenfolgen mit den eingegebenen Anmeldedaten.
Bei der Generierung von Berechtigungsnachweisen von einem vorhandenen Benutzer erfolgt keine Überprüfung oder Erstellung dieses Benutzers.
Wenn Sie möchten, dass Benutzer, die mit Hilfe von Dienstanmeldeinformationen erstellt wurden, eine andere Rolle haben, verwenden Sie admin
, um ihre Rolle zu ändern.
Verwaltung von Benutzern und Rollen über die CLI
Wenn Sie Benutzer mit einer anderen Rolle benötigen, können Sie deren Rolle mit admin
ändern.
Benutzer, die direkt über die Befehlszeilenschnittstelle erstellt werden, erscheinen nicht in den Dienstanmeldeinformationen, aber Sie können sie hinzufügen.
Wenn Sie Ihren Dienst über das Cloud Databases CLI-Plugin verwalten, erstellen Sie einen neuen Benutzer mit cdb user-create
. Um beispielsweise einen neuen Benutzer für eine
Bereitstellung namens example-deployment
zu erstellen, verwenden Sie den folgenden Befehl:
ibmcloud cdb user-create example-deployment <newusername> <newpassword>
Rufen Sie nach Abschluss der Task die Verbindungszeichenfolgen des neuen Benutzers mit dem Befehl ibmcloud cdb deployment-connections
ab, der wie folgt aussieht:
ibmcloud cdb deployment-connections [--user <userid>] [--password <password>] [--endpoint-type <endpoint type>] [--all] [--only] [--start] [--certroot <path>] [--json]
Verwaltung von Benutzern und Rollen über die API
Wenn Sie eine andere Rolle für die Benutzer benötigen, verwenden Sie den Benutzer admin, um ihre Rolle zu ändern.
Benutzer, die direkt über die API erstellt werden, erscheinen nicht in den Dienstanmeldeinformationen, aber Sie können sie hinzufügen.
Die Basisendpunkt, die im Abschnitt Übersicht Ihres Service angezeigt wird, stellt die Basis-URL für den Zugriff auf diese Implementierung über die API bereit. Verwenden Sie zum Erstellen und Verwalten von Benutzern die Basis-URL
mit dem Endpunkt /users
.
Der Befehl sieht wie folgt aus:
curl -X POST 'https://api.{region}.databases.cloud.ibm.com/v4/ibm/deployments/{id}/users' \
-H "Authorization: Bearer $APIKEY" \
-H "Content-Type: application/json" \
-d '{"username":"jane_smith", "password":"newsupersecurepassword"}'
Wenn Sie die Verbindungszeichenfolgen eines Benutzers abrufen möchten, verwenden Sie die Basis-URL mit dem Endpunkt /users/{userid}/connections
.
Elasticsearch Benutzer und Rollen
Wenn die integrierten Benutzer und Rollen nicht zu Ihrer Umgebung passen, erstellen Sie Benutzer und Rollen direkt in Elasticsearch. Der Benutzer mit Administratorberechtigung für Ihre Bereitstellung verfügt über die Berechtigung zum Erstellen einer beliebigen Rolle oder Berechtigungsgruppe für Ihre Bereitstellung.