Gerenciando usuários e funções
IBM Cloud® Databases for Redis as instâncias vêm com a autenticação ativada e usam o acesso incorporado do Redis control.They suportam vários usuários e autenticação por meio do suporte a listas de controle de acesso(ACL).
Gerenciamento de usuários Redis
O usuário administrativo
Ao provisionar uma nova instância em IBM Cloud, você recebe automaticamente acesso à conta de usuário “Admin”. Você também pode criar usuários e credenciais adicionais para a sua instância.
Para usar o usuário Administrador para se conectar à sua instância, primeiro configure a senha do Administrador.
Configuração da senha de administrador na interface do usuário
Defina sua senha de administrador por meio da interface do usuário, selecionando sua instância na lista de recursos no IBM Cloud Dashboard. Em seguida, selecione Configurações.. Em seguida, selecione Mudar senha do administrador de banco de dados
Configuração da senha de administrador na CLI
Use o comando cdb user-password do plug-in da CLI do Cloud Databases para configurar a senha do admin.
Por exemplo, para definir a senha de administrador da sua instância, use o seguinte comando:
ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>
Como definir a senha de administrador na API
O Endpoint da Fundação, exibido na seção “Visão geral dos detalhes da implantação” do seu serviço, fornece o endereço URL como base para acessar esta instância por meio da API. Use-o com o terminal Configurar a senha do usuário especificado para configurar a senha do 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"}` \
O usuário default
Databases for Redis não usa mais o usuário default internamente. Em vez disso, as instâncias do Databases for Redis são gerenciadas pelo Cloud Databases ibm-user.
Se as suas instâncias usam atualmente o usuário default, é possível continuar fazendo isso. No entanto, o uso contínuo do usuário default exige uma alteração de senha, o que deve limitar as permissões. Essas limitações
de permissão são uma mudança de comportamento esperada como parte de um upgrade de versão principal Especificamente, as seguintes permissões são restritas para o usuário default:
config: o usuáriodefaultnão pode visualizar, incluir, atualizar ou excluir configurações do banco de dados. O usuáriodefaulttambém não pode criar ou gerenciar usuários e funções do banco de dados..acl: O usuáriodefaultnão pode criar novos usuários.
Se você planeja continuar usando o usuário padrão, certifique-se de testar seus aplicativos completamente após atualizar a senha para verificar a compatibilidade. Para obter mais informações sobre como configurar o acesso e as permissões em Redis, consulte Suporte a ACL em Redis.
Para atualizar a senha do usuário default, use um comando como:
ibmcloud cdb deployment-user-password <INSTANCE_NAME_OR_CRN> default <NEW PASSWORD>
Para obter mais informações, consulte Fazendo upgrade para uma nova versão principal
Gerenciamento de funções Redis
Controle de acesso baseado na função (RBAC)
O controle de acesso baseado na função (RBAC) permite configurar o nível de acesso que cada usuário possui.
O Databases for Redis atualmente suporta as seguintes funções:
- A função
adminfornece controle total e acesso a todos os comandos e operações do administrador - A função
allfornece acessoadmin,readewrite, fornecendo aos usuários o controle total sobre todos os comandos e operações - A função
readpermite o acesso somente leitura a comandos Os usuários com essa função podem executar operações de leitura, mas não podem executar operações de gravação - A função
writepermite acesso somente gravação a comandos. Os usuários com essa função podem executar operações de gravação, mas não podem executar operações de leitura.
Os comandos admin config get, config reset, acl whoami, acl cat, acl users, acl genpass, acl log e acl help estão disponíveis para uso
em admin e all, mas todos os outros comandos acl e config não estão.
Essas funções também podem ser combinadas para configurar o nível de acesso de um usuário
Combinações de funções RBAC
+ inclui comandos
- exclui comandos
+@ inclui categorias de comando
-@ exclui categorias de comandos
admin+read: controle totaladmincom a capacidade de executar operaçõesread.admin+write: controle totaladmincom a capacidade de executar operaçõeswrite.admin+all: Simplifica paraall, que incluiadmin,readewrite..read+write: Os usuários que possuem as funçõesreadewritepodem realizar as operaçõesreadewrite, mas não terão privilégios administrativos.read+all: Simplifica paraall, que incluiadmin,readewrite..write+all: Simplifica paraall, que incluiadmin,readewrite..admin+read+write: controleadmintotal com a capacidade de executar as operaçõesreadewriteadmin+read+all: Simplifica paraall, que incluiadmin,readewrite.admin+write+all: Simplifica paraall, que incluiadmin,readewrite.read+write+all: Simplifica paraall, que incluiadmin,readewrite.-
read-write: O usuário terá apenas a função “read” e poderá realizar apenas operações do tipo “read”.
Essas combinações fornecem diferentes níveis de controle de acesso. Escolha a combinação que se alinha com seus requisitos específicos e considerações de segurança..
Criar um usuário com funções RBAC por meio da API
Para criar um usuário usando funções RBAC, use o seguinte 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 criar um usuário com função padrão, use o seguinte 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 alterar ou atualizar uma função, use o seguinte 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 alterar a senha de uma função, use o seguinte 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 excluir um usuário, use o seguinte 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"
Criar um usuário com funções RBAC por meio da CLI
Para criar um usuário usando funções RBAC, use o seguinte comando:
ibmcloud cdb user-create <CRN> <USERNAME> <PASSWORD> -r "<ROLE_STRING>"
Para -r USER_ROLE, use alguma combinação de <+/-@all> <+/-@read> <+/-@write> <+/-@admin> para conceder o acesso
Exemplo:
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"
Saída de amostra:
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 criar um usuário com função padrão, use o seguinte comando:
ibmcloud cdb user-create <CRN> <USERNAME> <PASSWORD>
Exemplo:
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
Saída de amostra:
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 alterar ou atualizar uma função, use o seguinte comando:
ibmcloud cdb redis user-set <CRN> <USERNAME> <ROLE_STRING>
Exemplo:
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"
Saída de amostra:
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 alterar a senha de uma função, use o seguinte comando:
ibmcloud cdb user-password <CRN> <USERNAME> <NEW_PASSWORD>
Exemplo:
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
Saída de amostra:
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 excluir uma função, use o seguinte comando:
ibmcloud cdb user-delete <CRN> <USERNAME>
Exemplo:
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
Saída de amostra:
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
Crie um usuário com funções RBAC por meio do Terraform
Para criar uma formação com um usuário usando funções RBAC, use o seguinte 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, use alguma combinação de <+/-@all> <+/-@read> <+/-@write> <+/-@admin> para conceder o acesso
Para criar uma formação com uma função padrão, use o seguinte 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
}
Os usuários podem ser configurados durante o provisionamento inicial do Terraform com funções padrão ou personalizadas. Após o provisionamento, não há suporte para operações como criação, exclusão, atualização de senhas ou alteração de funções para manter a consistência e a segurança.
Funções do Redis
O usuário administrativo e todos os outros usuários em sua instância têm acesso total ao conjunto de comandos do Redis, exceto para o subcomando config e acl-isso inclui o usuário administrativo. config get,
config reset, acl whoami, acl cat, acl users, acl genpass, acl log e acl help são utilizáveis
No Redis, qualquer usuário que você criar, seja por meio das Credenciais de Serviço, da CLI, da API ou diretamente em Redis, terá o mesmo acesso. Não é possível usar o próprio Redis para criar usuários ou funções com acesso
limitado a chaves específicas ou intervalos de chaves, uma vez que esses direitos não são propagados automaticamente em uma implantação em cluster. Todos os outros meios para gerenciar os usuários garantem a propagação em todo o cluster.
Criação de usuários pela interface do usuário
- Navegue até o painel de serviço para o seu serviço.
- Selecione “Credenciais de serviço ”.
- Selecione “Nova credencial ”.
- Escolha um nome descritivo para a sua nova credencial.
- (Opcional) Especificar se as novas credenciais usam um terminal público ou privado. Use
{ "service-endpoints": "public" }/{ "service-endpoints": "private" }no campo Incluir Parâmetros de Configuração Sequencial para gerar sequências de conexão usando o terminal especificado. O uso do terminal não é cumprido. Ele apenas controla quais nomes do host estão nas sequências de conexões. Os terminais públicos são gerados por padrão. - Clique em “Adicionar” para configurar as novas credenciais. Um nome de usuário, uma senha e um usuário associado são gerados automaticamente.
As novas credenciais aparecem na tabela, e as sequências de conexão estarão disponíveis como JSON em um campo click-to-copy sob Visualizar Credenciais.
Criando usuários por meio da API
O Endpoint da Fundação, exibido na Visão geral do seu serviço, fornece o end URL de base para acessar essa instância por meio da API. Para criar e gerenciar usuários, utilize a API base URL com o endpoint “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 as sequências de conexões de um usuário, use a URL base com o terminal /users/{userid}/connections.
Usuários de uso interno
Existem quatro usuários reservados na sua instância. A alteração desses usuários faz com que sua instância se torne instável ou inutilizável.
ibm-user- Um usuário interno doadminpara gerenciar a instância e disponibilizar métricas.replication-user- A conta do usuário usada para replicação.sentinel-user- A conta do usuário para sentinelas manipularem o monitoramento e os failovers.admin- O usuário padrão fornecido para acessar sua instância.