Gestione di utenti e ruoli
IBM Cloud® Databases for Redis le istanze vengono fornite con l'autenticazione abilitata e utilizzano l'accesso integrato di Redis ' control.They supportano più utenti e l'autenticazione attraverso il supporto delle Access Control List(ACL).
Gestione degli utenti di Redis
L'utente amministratore
Quando esegui il provisioning di una nuova istanza in IBM Cloud, ti viene automaticamente fornito l'accesso all'utente Admin. È inoltre possibile creare altri utenti e credenziali per la propria istanza.
Per utilizzare l'utente Admin per connettersi alla tua istanza, prima imposta la password Admin.
Impostazione della password di amministrazione nell'interfaccia utente
Impostare la password di amministrazione attraverso l'interfaccia utente, selezionando la propria istanza dall'elenco delle risorse nella IBM Cloud Dashboard. Quindi, selezionare Impostazioni. Successivamente, selezionare Modifica password amministratore database.
Impostazione della password di amministrazione nella CLI
Utilizzare il comando cdb user-password da Plug-in CLI Cloud Databases per impostare la password admin.
Ad esempio, per impostare la password di amministrazione dell'istanza, utilizzare il seguente comando:
ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>
Impostazione della password di amministrazione nell'API
L'endpoint di Foundation mostrato nella sezione Panoramica dei dettagli di distribuzione del servizio fornisce l'URL di base per accedere a questa istanza tramite l'API. Utilizzarlo con l'endpoint Imposta password dell'utente specificato per impostare la password dell'amministratore.
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"}` \
L'utente " default "
Databases for Redis non utilizza più internamente l'utente default. Invece, le istanze di Databases for Redis sono gestite dal sito Cloud Databases ibm-user.
Se le istanze utilizzano attualmente l'utente default, è possibile continuare a farlo. Tuttavia, per continuare a utilizzare l'utente default è necessario cambiare la password, il che dovrebbe limitare le autorizzazioni.
Queste limitazioni di autorizzazione sono una modifica comportamentale prevista come parte di un aggiornamento della versione principale. In particolare, le seguenti autorizzazioni sono limitate per l'utente default:
config: l'utentedefaultnon può visualizzare, aggiungere, aggiornare o eliminare le configurazioni del database. L'utentedefaultnon può inoltre creare o gestire utenti e ruoli del database.acl: l'utentedefaultnon può creare nuovi utenti.
Se si intende continuare a utilizzare l'utente predefinito, assicurarsi di testare accuratamente le applicazioni dopo aver aggiornato la password per verificarne la compatibilità. Per ulteriori informazioni sulla configurazione degli accessi e dei permessi in Redis, vedere Supporto ACL in Redis.
Per aggiornare la password dell'utente default, utilizzare un comando come:
ibmcloud cdb deployment-user-password <INSTANCE_NAME_OR_CRN> default <NEW PASSWORD>
Per ulteriori informazioni, consultare Aggiornamento a una nuova versione principale.
Gestione dei ruoli di Redis
RBAC (role - based access control)
RBAC (role - based access control) consente di impostare il livello di accesso di ciascun utente.
Databases for Redis attualmente supporta i seguenti ruoli:
- Il ruolo
adminfornisce il controllo completo e l'accesso a tutte le operazioni e i comandi di amministrazione. - Il ruolo
allfornisce l'accessoadmin,readewrite, fornendo agli utenti il controllo completo su tutti i comandi e le operazioni. - Il ruolo
readconsente l'accesso in sola lettura ai comandi. Gli utenti con questo ruolo possono eseguire operazioni di lettura ma non possono eseguire operazioni di scrittura. - Il ruolo
writeconsente l'accesso in sola scrittura ai comandi. Gli utenti con questo ruolo possono eseguire operazioni di scrittura ma non di lettura.
I comandi admin config get, config reset, acl whoami, acl cat, acl users, acl genpass, acl log e acl help sono disponibili per l'utilizzo
in admin e all ma non in tutti gli altri comandi acl e config.
Questi ruoli possono anche essere combinati per configurare il livello di accesso di un utente.
Combinazioni di ruoli RBAC
+ include i comandi
- esclude i comandi
+@ include categorie di comandi
-@ esclude le categorie di comando
admin+read: controllo completo diadmincon la capacità di eseguire operazioniread.admin+write: controllo completo diadmincon la capacità di eseguire operazioniwrite.admin+all: semplificaall, che includeadmin,readewrite.read+write: Gli utenti che ricoprono sia il ruolo di "read" che quello di "write" possono eseguire sia le operazionireadche quellewrite, ma non dispongono di privilegi amministrativi.read+all: semplificaall, che includeadmin,readewrite.write+all: semplificaall, che includeadmin,readewrite.admin+read+write: controlloadmincompleto con la possibilità di eseguire operazioni siareadchewrite.admin+read+all: semplifica inall, che includeadmin,readewrite.admin+write+all: semplifica inall, che includeadmin,readewrite.read+write+all: semplifica inall, che includeadmin,readewrite.-
read-write: l'utente avrà solo il ruolo "read" e potrà eseguire esclusivamente operazioni di tipo "read".
Queste combinazioni forniscono diversi livelli di controllo degli accessi. Scegli la combinazione che si allinea con i tuoi requisiti specifici e considerazioni di sicurezza.
Crea un utente con ruoli RBAC tramite l'API
Per creare un utente utilizzando i ruoli RBAC, utilizzare il seguente comando:
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!"
}
}'
Per creare un utente con ruolo predefinito, utilizzare il seguente comando:
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!"
}
}'
Per modificare o aggiornare un ruolo, utilizzare il seguente comando:
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"
}
}'
Per modificare la password di un ruolo, utilizzare il seguente comando:
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!"
}
}'
Per eliminare un utente, utilizzare il seguente comando:
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"
Crea un utente con ruoli RBAC tramite la CLI
Per creare un utente utilizzando i ruoli RBAC, utilizzare il seguente comando:
ibmcloud cdb user-create <CRN> <USERNAME> <PASSWORD> -r "<ROLE_STRING>"
Per -r USER_ROLE, utilizzare una combinazione di <+/-@all> <+/-@read> <+/-@write> <+/-@admin> per concedere l'accesso.
Esempio:
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"
Output di esempio:
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
Per creare un utente con ruolo predefinito, utilizzare il seguente comando:
ibmcloud cdb user-create <CRN> <USERNAME> <PASSWORD>
Esempio:
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
Output di esempio:
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
Per modificare o aggiornare un ruolo, utilizzare il seguente comando:
ibmcloud cdb redis user-set <CRN> <USERNAME> <ROLE_STRING>
Esempio:
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"
Output di esempio:
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
Per modificare la password di un ruolo, utilizzare il seguente comando:
ibmcloud cdb user-password <CRN> <USERNAME> <NEW_PASSWORD>
Esempio:
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
Output di esempio:
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
Per eliminare un ruolo, utilizzare il seguente comando:
ibmcloud cdb user-delete <CRN> <USERNAME>
Esempio:
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
Output di esempio:
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
Crea un utente con ruoli RBAC tramite Terraform
Per creare una formazione con un utente che utilizza i ruoli RBAC, utilizzare il seguente comando:
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"
}
Per role, utilizzare una combinazione di <+/-@all> <+/-@read> <+/-@write> <+/-@admin> per concedere l'accesso.
Per creare una formazione con un ruolo predefinito, usare il seguente comando:
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
}
Gli utenti possono essere configurati durante il provisioning iniziale di Terraform con ruoli predefiniti o personalizzati. Dopo il provisioning, operazioni quali la creazione, l'eliminazione, l'aggiornamento delle password o la modifica dei ruoli non sono supportate per mantenere la coerenza e la sicurezza.
Ruoli Redis
L'utente Admin e tutti gli altri utenti nella propria istanza hanno accesso completo alla serie di comandi Redis, tranne per il sottocomando config e acl- questo include l'utente Admin. config get, config reset,
acl whoami, acl cat, acl users, acl genpass, acl log e acl help sono utilizzabili.
In Redis, qualsiasi utente creato, sia attraverso le credenziali di servizio, la CLI, l'API o direttamente in Redis, ha lo stesso accesso. Non è possibile utilizzare Redis per creare utenti o ruoli con accesso limitato a chiavi o intervalli di chiavi specifici, poiché non vengono propagati automaticamente in una distribuzione del cluster. Tutti gli altri mezzi per gestire gli utenti assicurano la propagazione nel cluster.
Creazione di utenti tramite l'interfaccia utente
- Passa alla dashboard del servizio per il tuo servizio.
- Seleziona " Credenziali di servizio ".
- Seleziona " Nuova credenziale ".
- Scegli un nome descrittivo per la tua nuova credenziale.
- (Facoltativo) Specificare se le nuove credenziali utilizzano un endpoint pubblico o privato. Utilizzare
{ "service-endpoints": "public" }/{ "service-endpoints": "private" }nel campo Aggiungi parametri di configurazione in linea per generare stringhe di connessione utilizzando l'endpoint specificato. L'utilizzo dell'endpoint non viene applicato. Controlla solo quali nomi host si trovano nelle stringhe di collegamento. Gli endpoint pubblici vengono generati per impostazione predefinita. - Fai clic su " Aggiungi " per configurare le nuove credenziali. Un nome utente, una parola d'ordine e un utente associato vengono generati automaticamente.
Le nuove credenziali vengono visualizzate nella tabella e le stringhe di connessione sono disponibili come JSON in un campo click - to - copy in Visualizza credenziali.
Creare utenti dall'API
L'endpoint di Foundation, mostrato nella panoramica del servizio, fornisce l'URL di base per accedere a questa istanza tramite l'API. Per creare e gestire gli utenti, utilizzare l'URL di base con l'endpoint utenti:
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"}}" \
Per recuperare le stringhe di connessione di un utente, utilizzare l'URL di base con l'endpoint '/users/{userid}/connections.
Utenti per uso interno
Esistono quattro utenti riservati sulla tua istanza. La modifica di questi utenti fa sì che la tua istanza diventi instabile o inutilizzabile.
ibm-user- Un utenteadmininterno per la gestione dell'istanza e l'esposizione delle metriche.replication-user- L'account utente utilizzato per la replica.sentinel-user- L'account utente per le sentinelle per gestire monitoraggio e failover.admin- L'utente predefinito fornito per accedere alla tua istanza.