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: Derdefault-Benutzer kann keine Datenbankkonfigurationen anzeigen, hinzufügen, aktualisieren und löschen. Der Benutzerdefaultkann auch keine Datenbankbenutzer und -rollen erstellen und verwalten.acl: Der Benutzerdefaultkann 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
adminbietet uneingeschränkten Zugriff auf alle Verwaltungsbefehle und -operationen. - Die Rolle
allermöglicht den Zugriff aufadmin,readundwriteund gibt Benutzern die volle Kontrolle über alle Befehle und Operationen. - Die Rolle
readermöglicht Lesezugriff auf Befehle. Benutzer mit dieser Rolle können Leseoperationen ausführen, aber keine Schreiboperationen. - Die Rolle
writeermö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ändigeadmin-Steuerung mit der Möglichkeit,read-Operationen auszuführen.admin+write: Vollständigeadmin-Steuerung mit der Möglichkeit,write-Operationen auszuführen.admin+all: Vereinfachtall, einschließlichadmin,readundwrite.read+write: Benutzer, die sowohl die Rolle „read“ als auch die Rolle „write“ innehaben, können sowohl Vorgänge unterreadals auch unterwriteausführen, verfügen jedoch nicht über Administratorrechte.read+all: Vereinfachtall, einschließlichadmin,readundwrite.write+all: Vereinfachtall, einschließlichadmin,readundwrite.admin+read+write: Vollständigeadmin-Steuerung mit der Möglichkeit, sowohlread-als auchwrite-Operationen auszuführen.admin+read+all: Vereinfachtall, einschließlichadmin,readundwrite.admin+write+all: Vereinfachtall, einschließlichadmin,readundwrite.read+write+all: Vereinfachtall, einschließlichadmin,readundwrite.-
read-write: Der Benutzer verfügt ausschließlich über die Rolle „read“ und kann nur Vorgänge unterreadausfü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
- Navigieren Sie zum Servicedashboard für Ihren Service.
- Wählen Sie „Service-Anmeldedaten“ aus.
- Wählen Sie „Neue Anmeldedaten “ aus.
- 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 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. - 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.