Gestion des utilisateurs et des rôles
IBM Cloud® Databases for Redis sont livrées avec l'authentification activée et utilisent l'accès intégré de Redis control.They pour prendre en charge plusieurs utilisateurs et l'authentification grâce à la prise en charge de la liste de contrôle d'accès(ACL).
Gestion des utilisateurs Redis
Administrateur
Lorsque vous créez une nouvelle instance sur IBM Cloud, vous bénéficiez automatiquement d'un accès au compte « Admin ». Vous pouvez également créer des utilisateurs et des identifiants supplémentaires pour votre instance.
Pour utiliser l'utilisateur Admin pour vous connecter à votre instance, définissez d'abord le mot de passe d'administrateur.
Définition du mot de passe administrateur dans l'interface utilisateur
Définissez votre mot de passe administrateur via l'interface utilisateur en sélectionnant votre instance dans la liste des ressources dans le tableau de bord IBM Cloud Tableau de bord. Sélectionnez ensuite Paramètres. Sélectionnez ensuite Modifier le mot de passe de l'administrateur de base de données.
Définition du mot de passe administrateur dans le CLI
Utilisez la commande cdb user-password à partir du plug-in d'interface de ligne de commande Cloud Databases pour définir le mot de passe admin.
Par exemple, pour définir le mot de passe administrateur de votre instance, utilisez la commande suivante :
ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>
Configuration du mot de passe administrateur via l'API
Le point de terminaison « Foundation » qui apparaît dans la section « Détails du déploiement » de la vue d'ensemble de votre service fournit l' URL de base permettant d'accéder à cette instance via l'API. Utilisez-le avec le noeud final Définir le mot de passe de l'utilisateur spécifié pour définir le mot de passe de l'administrateur.
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'utilisateur « default »
Databases for Redis n'utilise plus l'utilisateur default en interne. Au lieu de cela, les instances Databases for Redis sont gérées par le site Cloud Databases ibm-user.
Si vos instances utilisent actuellement l'utilisateur default, il est possible de continuer à le faire. Cependant, l'utilisation continue de l'utilisateur default nécessite un changement de mot de passe, ce qui devrait
limiter les autorisations. Ces limitations d'autorisation sont un changement de comportement attendu dans le cadre d'une mise à niveau de version majeure. Plus précisément, les autorisations suivantes sont restreintes pour l'utilisateur
default:
config: l'utilisateurdefaultne peut pas afficher, ajouter, mettre à jour ou supprimer des configurations de base de données. L'utilisateurdefaultne peut pas non plus créer ou gérer des utilisateurs et des rôles de base de données.acl: l'utilisateurdefaultne peut pas créer de nouveaux utilisateurs.
Si vous prévoyez de continuer à utiliser l'utilisateur par défaut, assurez-vous de tester vos applications de manière approfondie après avoir mis à jour le mot de passe pour assurer la compatibilité. Pour plus d'informations sur la configuration de l'accès et des permissions dans Redis, voir le support ACL dans Redis.
Pour mettre à jour le mot de passe de l'utilisateur default, utilisez une commande telle que la suivante:
ibmcloud cdb deployment-user-password <INSTANCE_NAME_OR_CRN> default <NEW PASSWORD>
Pour plus d'informations, voir Mise à niveau vers une nouvelle version majeure.
Gestion des rôles Redis
Contrôle d'accès basé sur les rôles
Le contrôle d'accès basé sur les rôles (RBAC) vous permet de configurer le niveau d'accès de chaque utilisateur.
Databases for Redis prend actuellement en charge les rôles suivants:
- Le rôle
adminoffre un contrôle complet et un accès à toutes les commandes et opérations d'administration. - Le rôle
allpermet d'accéder àadmin,readetwrite, ce qui permet aux utilisateurs de contrôler pleinement toutes les commandes et opérations. - Le rôle
readpermet un accès en lecture seule aux commandes. Les utilisateurs dotés de ce rôle peuvent exécuter des opérations de lecture mais ne peuvent pas effectuer d'opérations d'écriture. - Le rôle
writeautorise l'accès en écriture seule aux commandes. Les utilisateurs ayant ce rôle peuvent exécuter des opérations d'écriture mais ne peuvent pas effectuer d'opérations de lecture.
Les commandes d'administration config get, config reset, acl whoami, acl cat, acl users, acl genpass, acl log et acl help peuvent être
utilisées dans admin et all, mais toutes les autres commandes acl et config ne le sont pas.
Ces rôles peuvent également être combinés pour configurer le niveau d'accès d'un utilisateur.
Combinaisons de rôles RBAC
Commandes d'inclusion +
Commandes d'exclusion -
+@ inclut les catégories de commande
-@ exclut les catégories de commande
admin+read: contrôleadmincomplet avec la possibilité d'exécuter des opérationsread.admin+write: contrôleadmincomplet avec la possibilité d'exécuter des opérationswrite.admin+all: Simplifieall, qui inclutadmin,readetwrite.read+write: Les utilisateurs disposant à la fois des rôles «read» et «write» peuvent effectuer les opérations «read» et «write», mais ils ne disposeront pas de privilèges d'administration.read+all: Simplifieall, qui inclutadmin,readetwrite.write+all: Simplifieall, qui inclutadmin,readetwrite.admin+read+write: contrôleadmincomplet avec la possibilité d'exécuter des opérationsreadetwrite.admin+read+all: Simplifieall, qui inclutadmin,readetwrite.admin+write+all: Simplifieall, qui inclutadmin,readetwrite.read+write+all: Simplifieall, qui inclutadmin,readetwrite.-
read-write: l'utilisateur disposera uniquement du rôle «read» et ne pourra effectuer que les opérations de type «read».
Ces combinaisons fournissent différents niveaux de contrôle d'accès. Choisissez la combinaison qui correspond à vos exigences spécifiques et à vos considérations de sécurité.
Création d'un utilisateur avec des rôles RBAC via l'API
Pour créer un utilisateur à l'aide des rôles RBAC, utilisez la commande suivante :
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!"
}
}'
Pour créer un utilisateur avec le rôle par défaut, utilisez la commande suivante :
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!"
}
}'
Pour modifier ou mettre à jour un rôle, utilisez la commande suivante :
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"
}
}'
Pour modifier le mot de passe d'un rôle, utilisez la commande suivante :
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!"
}
}'
Pour supprimer un utilisateur, utilisez la commande suivante :
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"
Création d'un utilisateur avec des rôles RBAC via l'interface de ligne de commande
Pour créer un utilisateur à l'aide des rôles RBAC, utilisez la commande suivante :
ibmcloud cdb user-create <CRN> <USERNAME> <PASSWORD> -r "<ROLE_STRING>"
Pour -r USER_ROLE, utilisez une combinaison de <+/-@all> <+/-@read> <+/-@write> <+/-@admin> pour accorder l'accès.
Exemple :
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"
Exemple de sortie :
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
Pour créer un utilisateur avec le rôle par défaut, utilisez la commande suivante :
ibmcloud cdb user-create <CRN> <USERNAME> <PASSWORD>
Exemple :
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
Exemple de sortie :
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
Pour modifier ou mettre à jour un rôle, utilisez la commande suivante :
ibmcloud cdb redis user-set <CRN> <USERNAME> <ROLE_STRING>
Exemple :
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"
Exemple de sortie :
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
Pour modifier le mot de passe d'un rôle, utilisez la commande suivante :
ibmcloud cdb user-password <CRN> <USERNAME> <NEW_PASSWORD>
Exemple :
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
Exemple de sortie :
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
Pour supprimer un rôle, utilisez la commande suivante :
ibmcloud cdb user-delete <CRN> <USERNAME>
Exemple :
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
Exemple de sortie :
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
Création d'un utilisateur avec des rôles RBAC via Terraform
Pour créer une formation avec un utilisateur utilisant des rôles RBAC, utilisez la commande suivante :
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"
}
Pour role, utilisez une combinaison de <+/-@all> <+/-@read> <+/-@write> <+/-@admin> pour accorder l'accès.
Pour créer une formation avec un rôle par défaut, utilisez la commande suivante :
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
}
Les utilisateurs peuvent être configurés lors du provisionnement initial de Terraform avec des rôles par défaut ou personnalisés. Après le provisionnement, les opérations telles que la création, la suppression, la mise à jour des mots de passe ou la modification des rôles ne sont pas prises en charge afin de maintenir la cohérence et la sécurité.
Rôles Redis
L'utilisateur Admin et tous les autres utilisateurs de votre instance disposent d'un accès complet à l'ensemble de commandes Redis, à l'exception de la sous-commande config et acl, qui inclut l'utilisateur Admin. config get,
config reset, acl whoami, acl cat, acl users, acl genpass, acl log et acl help sont utilisables.
Dans Redis, tout utilisateur que vous créez, que ce soit via les identifiants de service, l'interface de ligne de commande (CLI), l'API ou directement sur Redis, dispose des mêmes droits d'accès. Redis ne permet pas, en soi, de créer des utilisateurs ou des rôles dont l'accès est limité à des clés ou à des plages de clés spécifiques, car ceux-ci ne sont pas propagés automatiquement dans un déploiement en cluster. Tous les autres modes de gestion des utilisateurs assurent la propagation dans le cluster.
Création d'utilisateurs via l'interface utilisateur
- Accédez au tableau de bord de votre service.
- Sélectionnez « Informations d'identification du service ».
- Sélectionnez « Nouveaux identifiants ».
- Choisissez un nom descriptif pour vos nouvelles données d'identification.
- (Facultatif) Indiquez si les nouvelles données d'identification utilisent un noeud final public ou privé. Utilisez
{ "service-endpoints": "public" }/{ "service-endpoints": "private" }dans la zone Ajouter des paramètres de configuration en ligne pour générer des chaînes de connexion à l'aide du noeud final indiqué. L'utilisation du noeud final n'est pas imposée. Elle permet juste de contrôler les noms d'hôte mentionnés dans les chaînes de connexion. Les noeuds finaux publics sont générés par défaut. - Cliquez sur « Ajouter » pour configurer les nouveaux identifiants. Un nom d'utilisateur, un mot de passe et un utilisateur associé sont générés automatiquement.
Les nouvelles données d'identification apparaissent dans la table et les chaînes de connexion sont disponibles au format JSON dans une zone de type Cliquer pour copier sous Afficher les données d'identification.
Création d'utilisateurs à partir de l'API
Le point de terminaison « Foundation » qui apparaît dans la vue d'ensemble de votre service fournit l' URL de base permettant d'accéder à cette instance via l'API. Pour créer et gérer des utilisateurs, utilisez l' URL de base avec le point de terminaison « 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"}}" \
Pour extraire les chaînes de connexion d'un utilisateur, utilisez l'URL de base avec le noeud final /users/{userid}/connections.
Utilisateurs à usage interne
Votre instance compte quatre utilisateurs réservés. La modification de ces utilisateurs peut rendre votre instance instable, voire inutilisable.
ibm-user- Un utilisateur interne d'admin, chargé de gérer l'instance et de mettre à disposition les métriques.replication-user- Compte utilisateur utilisé pour la réplication.sentinel-user- Compte utilisateur des sentinelles utilisé pour gérer la surveillance et les basculements.admin- L'utilisateur par défaut utilisé pour accéder à votre instance.