Gestión de usuarios y roles
IBM Cloud® Databases for Redis las instancias vienen con autenticación activada y utilizan el acceso integrado de Redis. control.They soporta múltiples usuarios y autenticación a través de listas de control de acceso(ACL).
Gestión de usuarios Redis
El usuario administrador
Al crear una nueva instancia en IBM Cloud, se te concede automáticamente acceso al usuario «Admin». También puede crear usuarios y credenciales adicionales para su instancia.
Para utilizar el usuario administrador para conectarse a la instancia, primero establezca la contraseña de administrador.
Establecer la contraseña de administrador en la interfaz de usuario
Establezca su contraseña de administrador a través de la interfaz de usuario seleccionando su instancia en la lista de recursos del IBM Cloud Panel de control. A continuación, seleccione Configuración. A continuación, seleccione Cambiar contraseña de administrador de base de datos.
Configuración de la contraseña de administrador en la CLI
Utilice el mandato cdb user-password del plugin de CLICloud Databases para establecer la contraseña de admin.
Por ejemplo, para configurar la contraseña de administrador de tu instancia, utiliza el siguiente comando :
ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>
Configuración de la contraseña de administrador en la API
El «Foundation Endpoint» que aparece en la sección «Detalles generales de la implementación» de tu servicio proporciona el URL de base para acceder a esta instancia a través de la API. Utilícelo con el punto final Establecer contraseña de usuario especificada para establecer la contraseña de administrador.
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"}` \
El usuario « default »
Databases for Redis ya no utiliza internamente el usuario default. En su lugar, las instancias Databases for Redis son gestionadas por el Cloud Databases ibm-user.
Si sus instancias utilizan actualmente el usuario default, es posible seguir haciéndolo. Sin embargo, el uso continuado del usuario default requiere un cambio de contraseña, lo que se espera que limite los permisos.
Estas limitaciones de permiso son un cambio de comportamiento esperado como parte de una actualización de versión principal. En concreto, los siguientes permisos están restringidos para el usuario default:
config: el usuario dedefaultno puede ver, añadir, actualizar o suprimir configuraciones de base de datos. El usuariodefaulttampoco puede crear ni gestionar usuarios y roles de base de datos.acl: el usuariodefaultno puede crear nuevos usuarios.
Si piensa seguir utilizando el usuario predeterminado, asegúrese de probar a fondo sus aplicaciones después de actualizar la contraseña para comprobar la compatibilidad. Para obtener más información sobre la configuración de accesos y permisos en Redis, consulte la compatibilidad con ACL en Redis.
Para actualizar la contraseña de usuario de default, utilice un mandato como:
ibmcloud cdb deployment-user-password <INSTANCE_NAME_OR_CRN> default <NEW PASSWORD>
Para obtener más información, consulte Actualización a una nueva versión principal.
Gestión de roles de Redis
Control de acceso basado en roles (RBAC)
El control de acceso basado en roles (RBAC) le permite configurar el nivel de acceso que tiene cada usuario.
Databases for Redis actualmente da soporte a los roles siguientes:
- El rol
adminproporciona control completo y acceso a todos los mandatos y operaciones de administración. - El rol
allproporciona acceso aadmin,readywrite, lo que proporciona a los usuarios un control completo sobre todos los mandatos y operaciones. - El rol
readpermite el acceso de sólo lectura a los mandatos. Los usuarios con este rol pueden ejecutar operaciones de lectura pero no pueden realizar operaciones de grabación. - El rol
writepermite acceso de sólo escritura a los mandatos. Los usuarios con este rol pueden ejecutar operaciones de escritura pero no pueden realizar operaciones de lectura.
Los mandatos de administración config get, config reset, acl whoami, acl cat, acl users, acl genpass, acl log y acl help están disponibles
para su uso en admin y all, pero no todos los demás mandatos acl y config.
Estos roles también se pueden combinar para configurar el nivel de acceso de un usuario.
Combinaciones de roles RBAC
Mandatos de inclusión de +
- excluye mandatos
+@ incluye categorías de mandatos
-@ excluye categorías de mandatos
admin+read: controladmincompleto con la capacidad de ejecutar operaciones deread.admin+write: controladmincompleto con la capacidad de ejecutar operaciones dewrite.admin+all: Simplifica aall, que incluyeadmin,readywrite.read+write: Los usuarios que tengan los roles «read» y «write» pueden realizar tanto las operaciones de «read» como las de «write», pero no tendrán privilegios administrativos.read+all: Simplifica aall, que incluyeadmin,readywrite.write+all: Simplifica aall, que incluyeadmin,readywrite.admin+read+write: controladmincompleto con la capacidad de ejecutar operacionesreadywrite.admin+read+all: Simplifica enall, que incluyeadmin,readywrite.admin+write+all: Simplifica enall, que incluyeadmin,readywrite.read+write+all: Simplifica enall, que incluyeadmin,readywrite.-
read-write: El usuario solo tendrá el rol «read» y solo podrá realizar operaciones de «read».
Estas combinaciones proporcionan diferentes niveles de control de acceso. Elija la combinación que se alinea con sus requisitos específicos y consideraciones de seguridad.
Crear un usuario con roles RBAC a través de la API
Para crear un usuario utilizando roles RBAC, utilice el siguiente 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!"
}
}'
Para crear un usuario con rol por defecto, utilice el siguiente 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!"
}
}'
Para cambiar o actualizar un rol, utilice el siguiente 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"
}
}'
Para cambiar la contraseña de un rol, utilice el siguiente 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!"
}
}'
Para eliminar un usuario, utiliza el siguiente 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"
Crear un usuario con roles RBAC a través de la CLI
Para crear un usuario utilizando roles RBAC, utilice el siguiente comando :
ibmcloud cdb user-create <CRN> <USERNAME> <PASSWORD> -r "<ROLE_STRING>"
Para -r USER_ROLE, utilice alguna combinación de <+/-@all> <+/-@read> <+/-@write> <+/-@admin> para otorgar acceso.
Ejemplo:
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"
Salida de ejemplo:
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
Para crear un usuario con rol por defecto, utilice el siguiente comando :
ibmcloud cdb user-create <CRN> <USERNAME> <PASSWORD>
Ejemplo:
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
Salida de ejemplo:
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
Para cambiar o actualizar un rol, utilice el siguiente comando :
ibmcloud cdb redis user-set <CRN> <USERNAME> <ROLE_STRING>
Ejemplo:
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"
Salida de ejemplo:
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
Para cambiar la contraseña de un rol, utilice el siguiente comando :
ibmcloud cdb user-password <CRN> <USERNAME> <NEW_PASSWORD>
Ejemplo:
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
Salida de ejemplo:
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
Para eliminar un rol, utiliza el siguiente comando :
ibmcloud cdb user-delete <CRN> <USERNAME>
Ejemplo:
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
Salida de ejemplo:
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
Crear un usuario con roles RBAC a través de Terraform
Para crear una formación con un usuario utilizando roles RBAC, utilice el siguiente 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"
}
Para role, utilice alguna combinación de <+/-@all> <+/-@read> <+/-@write> <+/-@admin> para otorgar acceso.
Para crear una formación con un rol por defecto, utilice el siguiente 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
}
Los usuarios pueden configurarse durante el aprovisionamiento inicial de Terraform con roles predeterminados o personalizados. Tras el aprovisionamiento, no se admiten operaciones como la creación, eliminación, actualización de contraseñas o cambio de funciones para mantener la coherencia y la seguridad.
Roles de Redis
El usuario Admin y todos los demás usuarios de la instancia tienen acceso completo al conjunto de mandatos Redis, excepto para el submandato config y acl-esto incluye el usuario Admin. config get, config reset,
acl whoami, acl cat, acl users, acl genpass, acl log y acl help son utilizables.
En Redis, cualquier usuario que crees, ya sea mediante credenciales de servicio, la CLI, la API o directamente en Redis, tiene el mismo acceso. No es posible utilizar Redis directamente para crear usuarios o roles con acceso limitado a claves específicas o rangos de claves, ya que estos no se propagan automáticamente en una implementación en clúster. Todos los demás medios para gestionar usuarios aseguran la propagación a través del clúster.
Creación de usuarios a través de la interfaz de usuario
- Vaya al panel de control de servicio del servicio.
- Selecciona «Credenciales de servicio ».
- Selecciona «Nueva credencial ».
- Elija un nombre descriptivo para la nueva credencial.
- (Opcional) Especifique si las nuevas credenciales utilizan un punto final público o privado. Utilice
{ "service-endpoints": "public" }/{ "service-endpoints": "private" }en el campo Añadir parámetros de configuración en línea para generar series de conexión utilizando el punto final especificado. El uso del punto final no se impone. Solo controla qué nombres de host hay en las series de conexión. De forma predeterminada, se generan puntos finales públicos. - Haz clic en «Añadir» para configurar las nuevas credenciales. Se generan automáticamente un nombre de usuario, una contraseña y un usuario asociado.
Las nuevas credenciales aparecen en la tabla y las series de conexión están disponibles como JSON en un campo de pulsar para copiar en Ver credenciales.
Creación de usuarios desde la API
El «Foundation Endpoint» que aparece en la «Descripción general» de tu servicio proporciona el URL de base para acceder a esta instancia a través de la API. Para crear y gestionar usuarios, utiliza la API base URL con el punto final « 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"}}" \
Para recuperar las series de conexión de un usuario, utilice el URL base con el punto final /users/{userid}/connections.
Usuarios de uso interno
Hay cuatro usuarios reservados en tu instancia. Modificar estos usuarios provoca que tu instancia se vuelva inestable o inutilizable.
ibm-user- Un usuario interno deadminpara gestionar la instancia y publicar métricas.replication-user: la cuenta de usuario que se utiliza para la replicación.sentinel-user: la cuenta de usuario que los centinelas utilizan para manejar la supervisión y las migraciones tras error.admin- El usuario predeterminado que se proporciona para acceder a tu instancia.