IBM Cloud Docs
Gerenciando usuários e funções

Gerenciando usuários e funções

as instâncias IBM Cloud® Databases for Redis vêm com a autenticação ativada e usam o controle de acesso integrado do Redis. O Redis 5.x e mais antigo suportam apenas um único usuário do admin. Redis 6 introduziu Suporte da Lista de Controle de Acesso(ACL). Faça upgrade para aproveitar as vantagens de vários usuários e autenticação

Gerenciamento de usuários Redis

O usuário administrativo

Ao provisionar uma nova instância em IBM Cloud, você recebe automaticamente acesso ao usuário Admin. Se você estiver usando Redis 5.x e versões anteriores, o usuário Admin é o único usuário disponível na sua instância. Se estiver usando Redis 6.x ou mais recente, você terá o usuário Admin e a capacidade de criar usuários e credenciais.

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 de sua instância, use o seguinte comando:

ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>

Definição da senha de administrador na API

O Foundation Endpoint que é mostrado na seção Overview Deployment Details (Visão geral dos detalhes da implementação) do seu serviço fornece o URL de base para acessar essa 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

Antes da chegada do suporte da ACL do no Redis 6, o usuário do default tinha permissões amplas e era usado internamente por Cloud Databases e usuários externos para gerenciar instâncias do Databases for Redis.

Com o Redis 6.x, 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 suas instâncias usam atualmente o usuário default (Redis 5.x), é possível continuar fazendo isso nas versões mais recentes, como 6.2. No entanto, o uso continuado do usuário default após o upgrade para o v6.2 requer uma mudança de senha, que deve limitar 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 permissões a seguir são restritas para o usuário default, começando com Redis v6.2:

  • config: o usuário default não pode visualizar, incluir, atualizar ou excluir configurações do banco de dados. O usuário default também não pode criar ou gerenciar usuários e funções do banco de dados..
  • acl: O usuário default não pode criar novos usuários.

Fazendo upgrade para o Redis 6.2 e o usuário default

Se você estiver usando Redis 5, faça upgrade diretamente para Redis 6.2. Após o upgrade, teste completamente seus aplicativos usando o usuário default para assegurar que seus aplicativos estejam totalmente funcionais. Fazer upgrade para v6.2 e continuar a usar o usuário default requer uma mudança de senha.

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 admin fornece controle total e acesso a todos os comandos e operações do administrador
  • A função all fornece acesso admin, read e write, fornecendo aos usuários o controle total sobre todos os comandos e operações
  • A função read permite 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 write permite 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 total admin com a capacidade de executar operações read.
  • admin + write: controle total admin com a capacidade de executar operações write.
  • admin + all: Simplifica para all, que inclui admin, read e write..
  • read + write: os usuários com as funções read e write podem executar operações read e write, mas eles não terão privilégios administrativos.
  • read + all: Simplifica para all, que inclui admin, read e write..
  • write + all: Simplifica para all, que inclui admin, read e write..
  • admin + read + write: controle admin total com a capacidade de executar as operações read e write
  • admin + read + all: Simplifica para all, que inclui admin, read e write.
  • admin + write + all: Simplifica para all, que inclui admin, read e write.
  • read + write + all: Simplifica para all, que inclui admin, read e write.

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 um comando como:

Create User

POST /deployments/{id}/users/{user_type}
{
  "user": {
  "username": "#{USER}",
  "password": "<PASSWORD>",
  "role": "<+/-@all> <+/-@read> <+/-@write> <+/-@admin>"
  }
}

Criar um usuário com funções RBAC por meio da CLI

Para criar um usuário usando funções RBAC, use um comando como:

ibmcloud cdb deployment-user-create <INSTANCE_NAME_OR_CRN> <USERNAME> <PASSWORD> -r "+@read +@write"

Para -r USER_ROLE, use alguma combinação de <+/-@all> <+/-@read> <+/-@write> <+/-@admin> para conceder o acesso

Quando a tarefa for concluída, recupere as cadeias de conexão do novo usuário com o comando " ibmcloud cdb deployment-connections.

Crie um usuário com funções RBAC por meio do Terraform

Para criar um usuário usando funções RBAC, use uma configuração como:

resource "ibm_database" "redis" {
  name = "example-redis"
  plan = "standard"
  location = "us-south"
  service = "databases-for-redis"
  resource_group_id = data.ibm_resource_group.group.id
  tags = ["tag1", "tag2"]
  version = "6"

  users {
    name = "<user_name>"
    password = "securepassword123"
    role = "-@all +@read"
  }
}

Para role, use alguma combinação de <+/-@all> <+/-@read> <+/-@write> <+/-@admin> para conceder o acesso

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 6.x e versões mais recentes, qualquer usuário que você criar, seja por meio de Credenciais de Serviço, CLI, API ou diretamente no 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 ou intervalos de chaves específicos, pois eles não são propagados automaticamente em uma implementação de cluster. Todos os outros meios para gerenciar os usuários garantem a propagação em todo o cluster.

Criação de usuários por meio da interface do usuário

  1. Navegue até o painel de serviço para o seu serviço.
  2. Selecione Credenciais de serviço.
  3. Selecione New Credential (Nova credencial).
  4. Escolha um nome descritivo para a sua nova credencial.
  5. (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.
  6. Clique em Add para provisionar 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 Foundation Endpoint que é mostrado na Visão geral do seu serviço fornece o URL de base para acessar essa instância por meio da API. Para criar e gerenciar usuários, use a URL de base com o endpoint de usuários:

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 - Redis 6.x e mais recentes

Há quatro usuários reservados na sua instância. A modificação desses usuários faz com que sua instância se torne instável ou inutilizável.

  • ibm-user- Um usuário interno ' admin para gerenciar a instância e expor 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.