IBM Cloud Docs
Benutzer und Rollen verwalten

Benutzer und Rollen verwalten

Databases for MongoDB Bereitstellungen werden mit aktivierter Authentifizierung geliefert und verwenden die MongoDB's Rollenbasierte Zugriffskontrolle.

Fügen Sie Benutzer in der Benutzerschnittstelle in _Serviceberechtigungsnachweise_mit dem Cloud Databases-CLI-Plug-in oder mit der APICloud Databases hinzu.

Benutzer mit Administratorberechtigung

Wenn Sie eine Bereitstellung von Databases for MongoDB bereitstellen, wird automatisch ein admin-Benutzer erstellt.

Legen Sie das Administratorkennwort fest, bevor Sie es für die Verbindung verwenden.

Der Benutzer admin hat die folgenden Berechtigungen:

  • userAdminAnyDatabase verfügt über dieselben Berechtigungen wie userAdmin für alle Datenbanken außer local und config. userAdminAnyDatabase stellt dem Benutzer mit Administratorberechtigung die Verwaltungsberechtigung zur Verfügung. Die Rolle ermöglicht die Aktion listDatabases für den gesamten Cluster. Mit userAdminAnyDatabase erstellen und erteilen Sie Rollen für jeden anderen Benutzer in Ihrer Implementierung, einschließlich aller integrierten MongoDB-Rollen. Um beispielsweise Ihre Implementierung zu überwachen, verwenden Sie admin, um sich bei der Mongo-Shell anzumelden und die Rolle clusterMonitor einem beliebigen Benutzer (einschließlich sich selbst) zuzuweisen. Verwenden Sie einen Befehl wie den folgenden:

    db.grantRolesToUser(
     "admin",
     [
       { role: "clusterMonitor", db: "admin" }
     ]
    )
    
  • readWriteAnyDatabase verfügt über dieselben Berechtigungen wie readWrite für alle Datenbanken außer local und config.

  • dbAdminAnyDatabase verfügt über dieselben Berechtigungen wie dbAdmin für alle Datenbanken außer local und config.

Festlegen des Admin-Passworts in der Benutzeroberfläche

Legen Sie Ihr Admin-Passwort über die Benutzeroberfläche fest, indem Sie Ihre Instanz aus der IBM Cloud Ressourcenliste auswählen. Wählen Sie anschließend Einstellungen aus. Wählen Sie als Nächstes Datenbankadministratorkennwort ändernaus.

Festlegen des Admin-Passworts 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 Ihre Bereitstellung festzulegen, verwenden Sie den folgenden Befehl:

ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>

Festlegen des Admin-Kennworts in der API

Der Foundation-Endpunkt, der im Abschnitt Einsatzdetails des Übersichtsfensters Ihres Dienstes angezeigt wird, stellt die Basis-URL für den Zugriff auf diesen Einsatz über die API bereit. Verwenden Sie ihn zusammen mit dem Endpunkt Set specified user's password, um das Administratorkennwort 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"}` \

Verwaltung von Benutzern und Rollen über die Benutzeroberfläche

  1. Wechseln Sie zum Service-Dashboard für Ihren Service.
  2. Klicken Sie auf Serviceberechtigungsnachweise, um den Abschnitt Serviceberechtigungsnachweise zu öffnen.
  3. Klicken Sie auf Neuer Berechtigungsnachweis.
  4. Wählen Sie einen beschreibenden Namen für Ihren neuen Berechtigungsnachweis aus.
  5. (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.
  6. Klicken Sie auf Hinzufügen, um die neuen Anmeldedaten bereitzustellen. Daraufhin werden automatisch ein Benutzername mit dem zugehörigen Kennwort sowie ein zugeordneter MongoDB-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"}}. Sie geben den Benutzernamen und das Kennwort ein, und Service Credentials generiert die Verbindungszeichenfolgen mit den eingegebenen Anmeldeinformationen.

Bei der Generierung von Berechtigungsnachweisen von einem vorhandenen Benutzer erfolgt keine Überprüfung oder Erstellung dieses Benutzers.

Benutzer, die Sie über _Serviceberechtigungsnachweise_erstellen, erhalten die Rollen readWriteAnyDatabase und dbAdminAnyDatabase.

Wenn Benutzer, die aus Serviceberechtigungsnachweise erstellt wurden, eine andere Rolle haben müssen, können Sie den Benutzer mit Administratorberechtigung verwenden, um ihre Rolle zu ändern.

Verwaltung von Benutzern und Rollen über die CLI

Benutzer, die in der CLI erstellt werden, erhalten die Rollen readWriteAnyDatabase und dbAdminAnyDatabase.

Wenn Sie einen Benutzer mit einer anderen Rolle benötigen, können Sie den admin Benutzer verwenden, um seine Rolle zu ändern.

Benutzer, die direkt von der CLI aus erstellt werden, erscheinen nicht in Service Credentials, aber Sie können sie hinzufügen.

  1. Wenn Sie Ihren Service über das Cloud Databases-CLI-Plug-in verwalten, erstellen Sie einen neuen Benutzer mit cdb user-create. Um beispielsweise einen neuen Benutzer für Ihre Bereitstellung zu erstellen, verwenden Sie den folgenden Befehl:
ibmcloud cdb user-create <INSTANCE_NAME_OR_CRN> <NEWUSERNAME> <NEWPASSWORD>
  1. Wenn die Aufgabe abgeschlossen ist, rufen Sie die Verbindungszeichenfolgen des neuen Benutzers mit dem Befehl ibmcloud cdb deployment-connections ab.

  2. Bei MongoDB werden Benutzerdaten zentral in der Datenbank admin gespeichert. Listen Sie alle Benutzer und ihre Rollen und Datenbankberechtigungen in der Mongo-Shell mit dem Befehl show users auf.

ibmcloud cdb deployment-connections --start -u admin mongodb-production
Database Password>>
MongoDB shell version v4.0.3
connecting to: mongodb://....
....
replset:PRIMARY> use admin
switched to db admin
replset:PRIMARY> show users

Verwaltung von Benutzern und Rollen über die API

Benutzer, die in der API erstellt werden, erhalten die Rollen readWriteAnyDatabase und dbAdminAnyDatabase.

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 Service Credentials, 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/v5/ibm/deployments/{id}/users/{user_type}
-H 'Authorization: Bearer <>'
-H 'Content-Type: application/json'
-d '{"user": {"username": "user", "password": "v3ry-1-secUre-pAssword-2"}}' \

Wenn Sie die Verbindungszeichenfolgen eines Benutzers abrufen möchten, verwenden Sie die Basis-URL mit dem Endpunkt /users/{userid}/connections.

MongoDB-created Benutzer und Rollen

Wenn die eingebauten Benutzer und Rollen nicht für Ihre Umgebung geeignet sind, erstellen Sie Benutzer und Rollen direkt in MongoDB. Der Benutzer mit Administratorberechtigung für Ihre Bereitstellung verfügt über die Berechtigung zum Erstellen einer beliebigen Rolle oder Berechtigungsgruppe für Ihre Bereitstellung.

Benutzer und Rollen, die direkt in MongoDB erstellt werden, werden nicht in Serviceberechtigungsnachweise angezeigt und nicht in Ihr IBM Cloud-Konto oder IAM integriert.

Der Benutzer ibm

Wenn Sie die Mongo-Shell verwenden, um die Benutzer in Ihrem Einsatz aufzulisten, fällt Ihnen vielleicht ein Benutzer mit dem Namen ibm auf. Bei dem Benutzer ibm handelt es sich um das interne Benutzerkonto mit Rootberechtigung, das für die Verwaltung von Replikation, Clusteroperationen und anderen Funktionen verwendet wird, die die Stabilität Ihrer Bereitstellung sicherstellen. Das Ändern oder Löschen des ibm-Benutzers ist nicht ratsam und stört die Stabilität Ihrer Bereitstellung.

ops_manager-Benutzer für MongoDB Enterprise Edition

Ops Manager ist nur in Databases for MongoDB Enterprise Edition-Bereitstellungen verfügbar. Der Benutzertyp ops_manager verfügt über eingeschränkte Berechtigungen. Weitere Informationen finden Sie in der Dokumentation zuOps Manager.