Benutzer und Rollen verwalten

IBM Cloud® Databases for Redis instanzen werden mit aktivierter Authentifizierung ausgeliefert und verwenden den integrierten Zugriff von Redis control.They. Sie unterstützen mehrere Benutzer und die Authentifizierung durch die Unterstützung von Zugriffskontrolllisten(ACL).

Redis verwalten

Benutzer mit Administratorberechtigung

Wenn Sie eine neue Instanz unter IBM Cloud einrichten, erhalten Sie automatisch Zugriff auf den Admin-Benutzer. Sie können auch zusätzliche Benutzer und Anmeldedaten für Ihre Instanz erstellen.

Wenn Sie den Benutzer mit Administratorberechtigung verwenden möchten, um eine Verbindung zu Ihrer Instanz herzustellen, legen Sie zuerst das Administratorkennwort fest.

Festlegen des Admin-Passworts in der Benutzeroberfläche

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

Einstellen des Admin-Passworts in der CLI

Verwenden Sie den Befehl cdb user-password aus dem Cloud Databases-CLI-Plug-in, um das admin-Kennwort festzulegen.

Um beispielsweise das Administratorpasswort für Ihre Instanz festzulegen, verwenden Sie den folgenden Befehl:

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

Festlegen des Administratorpassworts in der API

Der Foundation-Endpunkt, der im Abschnitt „Übersicht über die Bereitstellungsdetails“ Ihres Dienstes angezeigt wird, stellt die Basis- URL en für den Zugriff auf diese Instanz ü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"}` \

Der Benutzer „ default

Databases for Redis verwendet intern nicht mehr den Benutzer default. Stattdessen werden die Databases for Redis Instanzen von der Cloud Databases ibm-user verwaltet.

Wenn Ihre Instanzen derzeit den Benutzer default verwenden, ist es möglich, dies weiterhin zu tun. Die fortgesetzte Nutzung des Benutzers default erfordert jedoch eine Änderung des Passworts, wodurch die Berechtigungen eingeschränkt werden dürften. Diese Berechtigungseinschränkungen sind eine erwartete Verhaltensänderung im Rahmen eines Hauptversionsupgrades. Insbesondere sind die folgenden Berechtigungen für den Benutzer default eingeschränkt:

  • config: Der default-Benutzer kann keine Datenbankkonfigurationen anzeigen, hinzufügen, aktualisieren und löschen. Der Benutzer default kann auch keine Datenbankbenutzer und -rollen erstellen und verwalten.
  • acl: Der Benutzer default kann keine neuen Benutzer erstellen.

Wenn Sie den Standardbenutzer weiterhin verwenden möchten, stellen Sie sicher, dass Sie Ihre Anwendungen nach der Aktualisierung des Passworts gründlich auf Kompatibilität testen. Weitere Informationen zur Konfiguration von Zugriff und Berechtigungen in Redis finden Sie unter ACL-Unterstützung in Redis.

Verwenden Sie zum Aktualisieren des default-Benutzerkennworts einen Befehl wie den folgenden:

ibmcloud cdb deployment-user-password <INSTANCE_NAME_OR_CRN> default <NEW PASSWORD>

Weitere Informationen finden Sie unter Upgrade auf eine neue Hauptversion durchführen.

Redis verwalten

Rollenbasierte Zugriffssteuerung

Mit der rollenbasierten Zugriffssteuerung (RBAC) können Sie die Zugriffsebene für jeden Benutzer konfigurieren.

Databases for Redis unterstützt derzeit die folgenden Rollen:

  • Die Rolle admin bietet uneingeschränkten Zugriff auf alle Verwaltungsbefehle und -operationen.
  • Die Rolle all ermöglicht den Zugriff auf admin, read und write und gibt Benutzern die volle Kontrolle über alle Befehle und Operationen.
  • Die Rolle read ermöglicht Lesezugriff auf Befehle. Benutzer mit dieser Rolle können Leseoperationen ausführen, aber keine Schreiboperationen.
  • Die Rolle write ermöglicht Schreibzugriff auf Befehle. Benutzer mit dieser Rolle können Schreiboperationen durchführen, aber keine Leseoperationen.

Die Verwaltungsbefehle config get, config reset, acl whoami, acl cat, acl users, acl genpass, acl log und acl help sind zur Verwendung in admin und all verfügbar, alle anderen Befehle acl und config sind jedoch nicht verfügbar.

Diese Rollen können auch kombiniert werden, um die Zugriffsebene eines Benutzers zu konfigurieren.

RBAC-Rollenkombinationen

+ enthält Befehle

- schließt Befehle aus

+@ enthält Befehlskategorien

-@ schließt Befehlskategorien aus

  • admin + read: Vollständige admin-Steuerung mit der Möglichkeit, read-Operationen auszuführen.
  • admin + write: Vollständige admin-Steuerung mit der Möglichkeit, write-Operationen auszuführen.
  • admin + all: Vereinfacht all, einschließlich admin, read und write.
  • read + write: Benutzer, die sowohl die Rolle „ read “ als auch die Rolle „ write “ innehaben, können sowohl Vorgänge unter read als auch unter write ausführen, verfügen jedoch nicht über Administratorrechte.
  • read + all: Vereinfacht all, einschließlich admin, read und write.
  • write + all: Vereinfacht all, einschließlich admin, read und write.
  • admin + read + write: Vollständige admin-Steuerung mit der Möglichkeit, sowohl read-als auch write-Operationen auszuführen.
  • admin + read + all: Vereinfacht all, einschließlich admin, read und write.
  • admin + write + all: Vereinfacht all, einschließlich admin, read und write.
  • read + write + all: Vereinfacht all, einschließlich admin, read und write.
    • read- write: Der Benutzer verfügt ausschließlich über die Rolle „ read “ und kann nur Vorgänge unter read ausführen.

Diese Kombinationen bieten verschiedene Ebenen der Zugriffssteuerung. Wählen Sie die Kombination aus, die Ihren spezifischen Anforderungen und Sicherheitsaspekten entspricht.

Benutzer mit RBAC-Rollen über die API erstellen

Um einen Benutzer mit RBAC-Rollen zu erstellen, verwenden Sie den folgenden Befehl:

curl -X POST "https://{region}.databases.cloud.ibm.com/v5/ibm/deployments/{deployment_id}/users/database" \
     -H "Authorization: Bearer {iam_token}" \
     -H "Content-Type: application/json" \
     -d '{
           "user": {
             "username": "example-user",
             "password": "YourPassword123!"
           }
         }'

Um einen Benutzer mit Standardrolle zu erstellen, verwenden Sie den folgenden Befehl:

curl -X POST "https://{region}.databases.cloud.ibm.com/v5/ibm/deployments/{deployment_id}/users/database" \
     -H "Authorization: Bearer {iam_token}" \
     -H "Content-Type: application/json" \
     -d '{
           "user": {
             "username": "example-user",
             "password": "YourPassword123!"
           }
         }'

Um eine Rolle zu ändern oder zu aktualisieren, verwenden Sie den folgenden Befehl:

curl -X PATCH "https://{region}.databases.cloud.ibm.com/v5/ibm/deployments/{deployment_id}/users/database/{username}" \
     -H "Authorization: Bearer {iam_token}" \
     -H "Content-Type: application/json" \
     -d '{
           "user": {
             "role": "+@read +@admin"
           }
         }'

Um das Passwort einer Rolle zu ändern, verwenden Sie den folgenden Befehl:

curl -X PATCH "https://{region}.databases.cloud.ibm.com/v5/ibm/deployments/{deployment_id}/users/database/{username}" \
     -H "Authorization: Bearer {iam_token}" \
     -H "Content-Type: application/json" \
     -d '{
           "user": {
             "password": "NewSecurePassword456!"
           }
         }'

Um einen Benutzer zu löschen, verwenden Sie den folgenden Befehl:

curl -X DELETE "https://{region}.databases.cloud.ibm.com/v5/ibm/deployments/{deployment_id}/users/database/{username}" \
     -H "Authorization: Bearer {iam_token}" \
     -H "Accept: application/json"

Benutzer mit RBAC-Rollen über die Befehlszeilenschnittstelle erstellen

Um einen Benutzer mit RBAC-Rollen zu erstellen, verwenden Sie den folgenden Befehl:

ibmcloud cdb user-create <CRN> <USERNAME> <PASSWORD> -r "<ROLE_STRING>"

Verwenden Sie für -r USER_ROLE eine Kombination aus <+/-@all> <+/-@read> <+/-@write> <+/-@admin>, um Zugriff zu erteilen.

Beispiel:

ibmcloud cdb user-create \
  crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45:: \
  ibm_cloud_35ea37ad_119b_462d_bfd4_a4f001387cdf \
  Password1234567890 \
  -r "+@read +@write"

Beispielausgabe:

Key                   Value
ID                    crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45:task:49ec86e6-a2ac-4eb2-9c6b-48039c554f7e
Deployment ID         crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45::
Description           Creating user
Created At            2025-04-18T07:26:31Z
Status                running
Progress Percentage   0
...
Progress Percentage   66
...
Status                completed
Progress Percentage   100
Location              https://api.dev-yp-03.us-south.databases.cloud.ibm.com/v5/ibm/deployments/crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a%2F40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45::
OK

Um einen Benutzer mit Standardrolle zu erstellen, verwenden Sie den folgenden Befehl:

ibmcloud cdb user-create <CRN> <USERNAME> <PASSWORD>

Beispiel:

ibmcloud cdb user-create \
  crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45:: \
  ibm_cloud_user_default_role \
  Password1234567890

Beispielausgabe:

Key                   Value
ID                    crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45:task:f225e6a3-3f4e-449d-bfce-a5e171719074
Deployment ID         crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45::
Description           Creating user
Created At            2025-04-18T07:47:27Z
Status                running
Progress Percentage   0
Status                completed
Progress Percentage   100
Location              https://api.dev-yp-03.us-south.databases.cloud.ibm.com/v5/ibm/deployments/crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a%2F40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45::
OK

Um eine Rolle zu ändern oder zu aktualisieren, verwenden Sie den folgenden Befehl:

ibmcloud cdb redis user-set <CRN> <USERNAME> <ROLE_STRING>

Beispiel:

ibmcloud cdb redis user-set \
  crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45:: \
  ibm_cloud_35ea37ad_119b_462d_bfd4_a4f001387cdf \
  "+@all"

Beispielausgabe:

Key                   Value
ID                    crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45:task:3a30ebc4-20d8-4004-8514-47c615276f81
Deployment ID         crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45::
Description           Updating user
Created At            2025-04-18T07:32:40Z
Status                running
Progress Percentage   0
Status                completed
Progress Percentage   100
Location              https://api.dev-yp-03.us-south.databases.cloud.ibm.com/v5/ibm/deployments/crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a%2F40ddc34a953a8c02f10987b59085b60e:7065adf2-cc4f-433a-9a97-aa69d03f6f45::
OK

Um das Passwort einer Rolle zu ändern, verwenden Sie den folgenden Befehl:

ibmcloud cdb user-password <CRN> <USERNAME> <NEW_PASSWORD>

Beispiel:

ibmcloud cdb user-password \
  crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02:: \
  ibm_cloud_35ea37ad_119b_462d_bfd4_a4f001387cdf \
  Password1234567890123

Beispielausgabe:

Key                   Value
ID                    crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02:task:c254ccef-9e9c-4375-ae0f-4c78173f6278
Deployment ID         crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02::
Description           Updating user
Created At            2025-04-18T07:41:32Z
Status                running
Progress Percentage   0
Progress Percentage   66
Status                completed
Progress Percentage   100
Location              https://api.dev-yp-03.us-south.databases.cloud.ibm.com/v5/ibm/deployments/crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a%2F40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02::
OK

Um eine Rolle zu löschen, verwenden Sie den folgenden Befehl:

ibmcloud cdb user-delete <CRN> <USERNAME>

Beispiel:

ibmcloud cdb user-delete \
  crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02:: \
  ibm_cloud_35ea37ad_119b_462d_bfd4_a4f001387cdf

Beispielausgabe:

Key                   Value
ID                    crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02:task:cc7effad-4fb2-4ae6-bd94-2d432b471e39
Deployment ID         crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a/40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02::
Description           Deleting user
Created At            2025-04-18T07:44:10Z
Status                running
Progress Percentage   0
Status                completed
Progress Percentage   100
Location              https://api.dev-yp-03.us-south.databases.cloud.ibm.com/v5/ibm/deployments/crn:v1:bluemix:public:databases-for-redis-dev-yp-03:us-south:a%2F40ddc34a953a8c02f10987b59085b60e:3b20b985-1c89-441e-8e00-2d394d441a02::
OK

Benutzer mit RBAC-Rollen über Terraform erstellen

Um eine Formation mit einem Benutzer mit RBAC-Rollen zu erstellen, verwenden Sie den folgenden Befehl:

resource "ibm_database" "redis" {
  name              = "Databases for Redis-jt-DO-NOT-DELETE"
  plan              = "standard"
  location          = var.region
  service           = "databases-for-redis"
  version           = "7.2"
  service_endpoints = "public-and-private"
  resource_group_id = data.ibm_resource_group.group.id
  tags              = ["redis", "user-mgmt"]
#   ##################################################
#   # 1. Create user with custom ACL role
#   ##################################################
  users {
    name     = "reader-user-with-role"
    password = "secureReadPass123456789"
    role     = "-@all +@read"
  }

Verwenden Sie für role eine Kombination aus <+/-@all> <+/-@read> <+/-@write> <+/-@admin>, um Zugriff zu erteilen.

Um eine Formation mit einer Standardrolle zu erstellen, verwenden Sie den folgenden Befehl:

resource "ibm_database" "redis" {
  name              = "Databases for Redis-jt-DO-NOT-DELETE"
  plan              = "standard"
  location          = var.region
  service           = "databases-for-redis"
  version           = "7.2"
  service_endpoints = "public-and-private"
  resource_group_id = data.ibm_resource_group.group.id
  tags              = ["redis", "user-mgmt"]
  ##################################################
  # 2. Create user with default role
  ##################################################
  users {
    name     = "default-user-role"
    password = "defaultPass123456789"
    # no `role` field → default ACL applies
  }

Die Benutzer können während der anfänglichen Terraform-Bereitstellung entweder mit Standard- oder benutzerdefinierten Rollen konfiguriert werden. Nach der Bereitstellung werden Vorgänge wie das Erstellen, Löschen, Aktualisieren von Kennwörtern oder Ändern von Rollen nicht unterstützt, um Konsistenz und Sicherheit zu gewährleisten.

Redis-Rollen

Der Benutzer mit Administratorberechtigung und alle anderen Benutzer in Ihrer Instanz haben uneingeschränkten Zugriff auf die Gruppe der Befehle Redis, mit Ausnahme des Unterbefehls config und acl-einschließlich des Benutzers mit Administratorberechtigung. config get, config reset, acl whoami, acl cat, acl users, acl genpass, acl log und acl help sind verwendbar.

In „ Redis “ verfügt jeder von Ihnen angelegte Benutzer – unabhängig davon, ob Sie ihn über Service-Anmeldedaten, die CLI, die API oder direkt unter Redis angelegt haben – über denselben Zugriff. Mit „ Redis “ selbst können Sie keine Benutzer oder Rollen erstellen, deren Zugriff auf bestimmte Schlüssel oder Schlüsselbereiche beschränkt ist, da diese in einer Cluster-Bereitstellung nicht automatisch weitergegeben werden. Bei allen anderen Methoden zur Verwaltung von Benutzern ist die Weitergabe im Cluster sichergestellt.

Benutzer über die Benutzeroberfläche anlegen

  1. Navigieren Sie zum Servicedashboard für Ihren Service.
  2. Wählen Sie „Service-Anmeldedaten“ aus.
  3. Wählen Sie „Neue Anmeldedaten “ aus.
  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 entweder { "service-endpoints": "public" } oder { "service-endpoints": "private" } im Feld Integrierte Konfigurationsparameter hinzufügen, um Verbindungszeichenfolgen unter Verwendung des angegebenen Endpunkts zu generieren. 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. Ein Benutzername, ein Passwort und ein zugehöriger Benutzer werden automatisch 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.

Benutzer über die API erstellen

Der „Foundation Endpoint“, der in der Übersicht Ihres Dienstes angezeigt wird, stellt die Basis- URL en für den Zugriff auf diese Instanz über die API bereit. Um Benutzer anzulegen und zu verwalten, verwenden Sie die Basis- URL mit dem Endpunkt „ users “:

curl -X POST https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/{user_type} \
-H "Authorization: Bearer $APIKEY" \
-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.

Benutzer für den internen Gebrauch

Auf Ihrer Instanz sind vier Benutzer reserviert. Das Ändern dieser Benutzer führt dazu, dass Ihre Instanz instabil oder unbrauchbar wird.

  • ibm-user- Ein interner „ admin “-Benutzer zur Verwaltung der Instanz und zur Bereitstellung von Metriken.
  • replication-user: Das Benutzerkonto für Replikation.
  • sentinel-user: Das Benutzerkonto für Sentinels zur Verarbeitung von Überwachungen und Failovers.
  • admin- Der Standardbenutzer, der für den Zugriff auf Ihre Instanz bereitgestellt wird.