Proteja o acesso às suas instâncias usando políticas de ACL

Ao usar políticas de lista de controle de acesso (ACL) no Memorystore for Valkey, é possível proteger o acesso às suas instâncias. É possível ativar a segurança detalhada restringindo o acesso de usuários e serviços a chaves, comandos e canais do Pub/Sub específicos.

Veja a seguir exemplos de casos de uso de políticas de ACL para proteger o acesso a instâncias:

  • Fornecer controle de acesso baseado em papéis (RBAC): crie perfis de usuário distintos para diferentes componentes dos seus aplicativos. Por exemplo, um front-end da Web pode ter acesso somente leitura, enquanto um serviço de trabalho em segundo plano tem acesso de leitura e gravação. Isso evita vazamentos ou adulterações acidentais de dados.
  • Evite comandos destrutivos: restrinja comandos perigosos, como FLUSHALL, FLUSHDB, ou CONFIG apenas a administradores de alto nível. Isso protege a integridade dos dados contra bugs de software ou erros manuais.
  • Ofereça segurança para aplicativos multilocatários: use usuários de lista de controle de acesso (ACL, na sigla em inglês) separados para diferentes microsserviços ou parceiros externos. Isso garante que os usuários de um serviço não possam ler ou modificar as chaves de outro serviço.

    O Memorystore for Valkey não oferece multilocação no nível do recurso. Mesmo que os keyspaces sejam divididos, um serviço pode consumir uma quantidade desproporcional de memória ou CPU.

  • Realize análises e monitoramento somente leitura: atribua um usuário dedicado que possa usar apenas GET ou outros comandos somente leitura (por exemplo, SCAN ou TYPE) para mecanismos de análise ou aplicativos de painel. Isso evita gravações ou exclusões de dados acidentais.

  • Proteger chaves de banco de dados: restrinja os aplicativos para interagir apenas com chaves que correspondam a padrões específicos (por exemplo, app1:*). Isso fornece a separação lógica de dados em uma instância.

  • Desativar scripts Lua: use políticas de ACL para gerenciar os recursos de script Lua das suas instâncias. Desativar ou restringir scripts Lua pode ser útil para ajustar o desempenho, simplificar a funcionalidade das instâncias ou aderir às diretrizes de segurança da sua organização.

Antes de começar

Antes de começar a usar as políticas de ACL, siga as instruções nesta seção.

Usar o console do Google Cloud , a Google Cloud CLI e as APIs

Para usar o console do Google Cloud , a Google Cloud CLI e as APIs, faça o seguinte:

  1. No console do Google Cloud , na página do seletor de projetos, selecione ou crie um projeto do Google Cloud .

    Observação:se você não pretende manter os recursos criados neste procedimento, crie um projeto novo em vez de selecionar um que já existe. Depois de concluir essas etapas, é possível excluir o projeto. Para fazer isso, basta remover todos os recursos associados a ele.


    Acessar o seletor de projetos
  2. Verifique se o faturamento foi ativado para o projeto. Saiba como verificar se o faturamento está ativado em um projeto.
  3. Instale e inicialize a Google Cloud CLI.

    Observação:se você já instalou a CLI gcloud anteriormente, execute gcloud components update para verificar se você tem a versão mais recente. É necessário ter pelo menos a versão 489.0.0 da CLI gcloud para acessar os comandos da CLI gcloud do Memorystore para Valkey.

  4. Ative a API Memorystore for Valkey.
    Memorystore for Valkey
  5. Ative a API Network Connectivity.
    API Network Connectivity
  6. Ative a API Service Consumer Management.
    API Service Consumer Management

Atribuir funções do Memorystore para Valkey

Verifique se você ou a conta de usuário que está usando têm as permissões necessárias para a ação que você precisa executar.

Para realizar todas as operações de política de ACL, use os papéis de Administrador do Memorystore (roles/memorystore.admin) e Editor do Memorystore (roles/memorystore.editor). Para visualizar apenas as políticas de ACL, use o papel de Leitor do Memorystore (roles/memorystore.viewer).

Atribuir permissões do Memorystore for Valkey

Além das funções de administrador, editor e leitor do Memorystore, para usar políticas de ACL no Memorystore for Valkey, você precisa das seguintes permissões:

Ação Permissão
Criar uma política de ACL memorystore.aclPolicies.create
Atribuir uma política de ACL a uma instância memorystore.instances.update
Conferir informações sobre políticas de ACL memorystore.aclPolicies.list
Ver informações sobre uma política de ACL memorystore.aclPolicies.get
Ver informações sobre as revisões da política de ACL memorystore.aclPolicyRevisions.list
Ver informações sobre uma revisão da política de ACL memorystore.aclPolicyRevisions.get
Modificar uma política de ACL memorystore.aclPolicies.update
Remover uma política de ACL de uma instância memorystore.instances.update
Excluir uma política de ACL memorystore.aclPolicies.delete

Criar uma política de ACL

Ao criar políticas de ACL no Memorystore for Valkey, você aumenta a segurança das suas instâncias restringindo o acesso do usuário a chaves, comandos e canais do Pub/Sub específicos.

É possível criar uma política de ACL usando o console do Google Cloud ou a CLI gcloud.

Console

  1. No console do Google Cloud , acesse a página do Memorystore para Valkey.

    Memorystore for Valkey

  2. No painel de navegação lateral, clique em Políticas de ACL.

  3. Na página Políticas de ACL, clique em Criar política.

  4. Na janela Criar política, faça o seguinte:

    1. No campo Nome da política, insira um nome para a política de ACL. O nome da política precisa conter apenas letras minúsculas, números e hifens. Ele também precisa começar com uma letra e ser único na região.

    2. No menu Região, selecione a região em que você quer que o Memorystore para Valkey crie a política de ACL.

    3. Clique em Adicionar regra.

    4. No campo ID do usuário, insira o nome do usuário a quem a política de ACL será aplicada.

    5. No campo String de acesso, insira a string de acesso da política. A string de acesso é uma regra legível por humanos que define as permissões específicas do usuário.

      Por exemplo, se você quiser conceder ao superusuário default permissões de leitura e gravação para todas as chaves de ACL da instância, preencha os campos ID do usuário e String de acesso da seguinte maneira:

      ID do usuário String de acesso
      default on ~* &* +@all

      Essa regra concede as seguintes permissões ao usuário default:

      • on: o usuário está ativo e habilitado para autenticação
      • ~*: o usuário tem acesso de leitura e gravação a todas as chaves possíveis
      • &*: o usuário tem acesso a todos os canais do Pub/Sub
      • +@all: o usuário pode executar todos os comandos disponíveis.

      Para mais informações sobre outras regras e políticas de ACL que podem ser criadas, consulte ACL na documentação do Valkey.

    6. Repita as etapas de c a e para outras regras de ACL que você quer criar para a política.

    7. Clique em Criar.

gcloud

Para criar uma política de ACL, use o comando gcloud memorystore acl-policies create.

gcloud memorystore acl-policies create ACL_POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all",username="lucian" \
--rules=rule="on +get",username="taylor"

Faça as seguintes substituições:

  • ACL_POLICY_NAME: o nome da política de ACL que você está criando. O nome da política precisa conter apenas letras minúsculas, números e hifens. Ele também precisa começar com uma letra e ser exclusivo na região.
  • REGION: a região em que você quer que a política de ACL esteja localizada.

Essa política usa autenticação básica baseada em token e tem regras que executam as seguintes ações:

  • A primeira regra concede a lucian a permissão ~* +@all. Essa permissão permite que o usuário acesse todas as chaves e execute todos os comandos.
  • A segunda regra concede a permissão get a taylor. Essa permissão permite que o usuário recupere os valores associados às chaves. Ele restringe o acesso do usuário a operações de dados somente leitura e impede que ele modifique chaves.

Para criar regras para uma política de ACL que usa a autenticação do Identity and Access Management (IAM), recomendamos que você use principais do IAM para os nomes de usuário (por exemplo, os endereços de e-mail dos usuários).

gcloud memorystore acl-policies create ACL_POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all",username="lucian@example.com" \
--rules=rule="on +get",username="taylor@example.com"

Para criar uma regra para uma política de ACL que não usa autenticação, o usuário precisa ser o usuário default.

gcloud memorystore acl-policies create ACL_POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all",username="default"

Para mais informações sobre a autenticação básica baseada em token e a autenticação do IAM, consulte Proteger o acesso às suas instâncias usando a autenticação básica baseada em token e Sobre a autenticação do IAM.

Para mais informações sobre outras regras e políticas de ACL que você pode criar, consulte ACL na documentação do Valkey.

Atribuir uma política de ACL a uma instância

Ao atribuir uma política de ACL a uma instância ou substituir uma política atribuída, você permite que o Memorystore para Valkey aplique as regras da política à instância. Como resultado, você restringe o acesso do usuário a chaves, comandos e canais do Pub/Sub específicos.

É possível atribuir uma política de ACL a uma instância usando o console doGoogle Cloud ou a CLI gcloud.

Atribuir uma política a uma nova instância

Para criar uma instância e atribuir uma política de ACL a ela, consulte Criar instâncias.

Atribuir uma política a uma instância atual

Para aumentar a segurança de uma instância, atribua uma política de ACL a ela.

Console

  1. No console do Google Cloud , acesse a página do Memorystore para Valkey.

    Memorystore for Valkey

  2. Clique no ID da instância a que você quer atribuir uma política de ACL.

  3. Na página Visão geral da instância, role até o card Segurança.

  4. Ao lado do campo Política de ACL, clique em Editar ().

  5. Na janela Editar política de ACL, faça o seguinte:

    1. No menu Política, selecione a política que você quer atribuir à instância.

    2. Clique em Atualizar instância.

gcloud

Para atribuir uma política de ACL a uma instância, use o comando gcloud memorystore instances update.

gcloud memorystore instances update INSTANCE_ID \
--update_mask=acl_policy \
--acl-policy=ACL_POLICY_NAME \
--location=REGION

Faça as seguintes substituições:

  • INSTANCE_ID: o ID da instância a que você está atribuindo a política de ACL.
  • ACL_POLICY_NAME: o nome da política de ACL.
  • REGION: a região em que a instância está localizada.

Conferir informações sobre políticas de ACL

A visualização de informações sobre as políticas de ACL no Memorystore para Valkey ajuda a manter a segurança, garante a estabilidade operacional do ambiente e permite auditar dados na memória. Essas políticas definem quais usuários podem ler ou modificar determinados padrões de chave, executar comandos específicos ou acessar canais específicos do Pub/Sub.

É possível ver informações sobre políticas de ACL usando o Google Cloud console ou a CLI gcloud.

Console

  1. No console Google Cloud , acesse a página Memorystore para Valkey.

    Memorystore for Valkey

  2. No painel de navegação lateral, clique em Políticas de ACL.

    Na página Políticas de ACL, você pode conferir as seguintes informações sobre cada política:

    • ID da política: o ID exclusivo da política.
    • Local: a região em que a política está localizada.
    • Criada em: a data e a hora em que a política foi criada
    • Atualizada em: a data e a hora em que a política foi atualizada pela última vez
    • Número de regras: o número total de regras da política.
    • Usado por instâncias: as instâncias atribuídas à política.

gcloud

Para ver informações sobre as políticas de ACL, use o comando gcloud memorystore acl-policies list.

gcloud memorystore acl-policies list
--location=REGION

Substitua REGION pela região em que a política de ACL está localizada.

Ver informações sobre uma política de ACL

Ao visualizar informações sobre uma política de ACL no Memorystore para Valkey, é possível realizar auditorias de segurança, resolver erros de acesso e aplicar o princípio do menor privilégio verificando comandos do usuário, permissões de chave e acesso a canais do Pub/Sub. Além disso, os administradores podem conferir uma política de ACL para garantir que os aplicativos tenham o acesso adequado e detectar regras permissivas demais.

É possível conferir informações sobre uma política de ACL usando a CLI gcloud. Para ver essas informações, use o comando gcloud memorystore acl-policies describe.

gcloud memorystore acl-policies describe ACL_POLICY_NAME \
--location=REGION

Faça as seguintes substituições:

  • ACL_POLICY_NAME: o nome da política de ACL sobre a qual você quer ver informações
  • REGION: a região em que a política de ACL está localizada.

Conferir informações sobre revisões da política de ACL

Quando você cria uma política de lista de controle de acesso (ACL, na sigla em inglês), o Memorystore for Valkey cria uma versão (revisão) para ela. Sempre que você modifica a política, o Memorystore for Valkey cria uma revisão subsequente.

Como o Memorystore para Valkey gera essas revisões automaticamente, é possível usá-las para fins de rastreamento e auditoria internos. Além disso, ao visualizar as revisões, é possível ver o conteúdo exato da política de ACL em cada versão histórica.

Ao usar as revisões de política de ACL, é possível acompanhar quais instâncias estão usando qual revisão de uma política. Isso ajuda a manter a visibilidade e garantir que as instâncias estejam na versão correta durante períodos de consistência posterior após uma atualização de política.

É possível ver informações sobre as revisões da política de ACL usando o Google Cloud console ou a CLI gcloud.

Console

  1. No console Google Cloud , acesse a página Memorystore para Valkey.

    Memorystore for Valkey

  2. No painel de navegação lateral, clique em Políticas de ACL.

  3. Na página Políticas de ACL, clique no ID da política de ACL que tem revisões que você quer visualizar. Na página Revisões da política de ACL, as seguintes informações são exibidas:

    • ID da revisão: o ID de cada revisão da política de ACL.
    • Número da revisão: o número de cada revisão da política de ACL
    • Local: a região em que cada revisão da política de ACL está localizada.
    • Criado em: a data e a hora em que cada revisão da política de ACL foi criada
    • Instâncias anexadas: as instâncias atribuídas a cada revisão da política de ACL.
    • Snapshot: informações detalhadas sobre cada revisão da política de ACL.

gcloud

Para ver informações sobre as revisões da política de ACL, use o comando gcloud memorystore acl-policies revisions list.

gcloud memorystore acl-policies revisions list \
--acl-policy=ACL_POLICY_NAME \
--location=REGION

Faça as seguintes substituições:

  • ACL_POLICY_NAME: o nome da política de ACL que contém as revisões sobre as quais você quer ver informações.
  • REGION: a região em que a política de ACL está localizada.

Na saída, anote os IDs de revisão. Você vai precisar desses IDs para ver informações sobre revisões específicas da política de ACL.

Ver informações sobre uma revisão da política de ACL

Ao visualizar uma revisão da política de ACL, você pode conferir as regras, os metadados e uma lista de todas as instâncias anexadas. É possível conferir informações sobre uma revisão de política de ACL usando o console Google Cloud ou a CLI gcloud.

Console

  1. No console do Google Cloud , acesse a página do Memorystore para Valkey.

    Memorystore for Valkey

  2. No painel de navegação lateral, clique em Políticas de ACL.

  3. Na página Políticas de ACL, clique no ID da política de ACL que tem uma revisão que você quer ver.

  4. Na página Revisões da política de ACL, clique no link Snapshot ao lado da revisão da política de ACL que tem as informações que você quer ver.

gcloud

Para ver informações sobre uma revisão da política de ACL, use o comando gcloud memorystore acl-policies revisions describe.

gcloud memorystore acl-policies revisions describe ACL_POLICY_REVISION_ID \
--acl-policy=ACL_POLICY_NAME \
--location=REGION

Faça as seguintes substituições:

  • ACL_POLICY_REVISION_ID: o ID da revisão da política de ACL sobre a qual você quer ver informações. Você anotou esse ID ao consultar informações sobre revisões da política de ACL.
  • ACL_POLICY_NAME: o nome da política de ACL que contém a revisão.
  • REGION: a região onde a política de ACL está localizada.

Modificar uma política de ACL

Ao modificar uma política de ACL no Memorystore for Valkey, é possível melhorar a segurança, aplicar o acesso com privilégio mínimo e gerenciar a segurança operacional. É possível modificar uma política usando o console Google Cloud ou a CLI gcloud.

Adicionar uma regra a uma política de ACL

Para aumentar a segurança de uma política de ACL, adicione uma regra a ela.

Console

  1. No console do Google Cloud , acesse a página do Memorystore para Valkey.

    Memorystore for Valkey

  2. No painel de navegação lateral, clique em Políticas de ACL.

  3. Ao lado da política de ACL a que você quer adicionar uma regra, clique em Mais ações () e selecione Editar.

  4. Na janela Editar política, clique em Adicionar regra.

  5. No campo ID do usuário, insira o nome do usuário a quem a política de ACL será aplicada.

  6. No campo String de acesso, insira a string de acesso da política. Para mais informações sobre strings de acesso para políticas de ACL, consulte Criar uma política de ACL.

  7. Repita as etapas de 4 a 6 para outras regras de ACL que você quer adicionar à política.

  8. Clique em Salvar.

gcloud

Para adicionar uma regra a uma política de ACL, use o comando gcloud memorystore acl-policies update.

gcloud memorystore acl-policies update ACL_POLICY_NAME \
--location=REGION \
--add-rules=rule="on ~list:*",username="lucian"

Faça as seguintes substituições:

  • ACL_POLICY_NAME: o nome da política de ACL em que você quer adicionar uma regra de ACL.
  • REGION: a região em que a política de ACL está localizada.

Essa regra concede ao lucian acesso a todas as chaves que começam com list:.

Modificar uma regra para uma política de ACL

Modificar uma regra de lista de controle de acesso (ACL, na sigla em inglês) em uma política de lista de controle de acesso (ACL, na sigla em inglês) oferece mais segurança, melhora a segurança operacional e aumenta o controle granular de acesso do usuário. Por exemplo, é possível revogar permissões durante uma resposta a incidentes ou ativar o acesso temporário para fins de depuração.

Console

  1. No console Google Cloud , acesse a página Memorystore para Valkey.

    Memorystore for Valkey

  2. No painel de navegação lateral, clique em Políticas de ACL.

  3. Ao lado da política de ACL em que você quer modificar uma regra, clique em Mais ações () e selecione Editar.

  4. Na janela Editar política, clique em Adicionar regra.

  5. Nos campos ID do usuário e String de acesso, modifique o ID do usuário ou a string de acesso da política. Para mais informações sobre strings de acesso para políticas de ACL, consulte Criar uma política de ACL.

  6. Repita as etapas 4 e 5 para outras regras de ACL que você quer modificar para a política.

  7. Clique em Salvar.

Substituir as regras de uma política de ACL

Assim como modificar uma regra de uma política, substituir as regras de uma política oferece mais segurança, melhora a segurança operacional e aumenta o controle de acesso granular do usuário.

gcloud

Para substituir as regras de uma política de ACL, use o comando gcloud memorystore acl-policies update.

gcloud memorystore acl-policies update ACL_POLICY_NAME \
--location=REGION \
--rules=rule="on ~c*che",username="lucian"

Faça as seguintes substituições:

  • ACL_POLICY_NAME: o nome da política de ACL em que você quer substituir as regras de ACL
  • REGION: a região em que a política de ACL está localizada.

A regra que você está substituindo para a política concede acesso de lucian a todas as chaves que correspondem ao padrão c*che. Por exemplo: cache, caache e ceche.

Remover uma regra de uma política de ACL

Se uma regra de ACL não se aplicar mais a uma política de ACL, você poderá removê-la.

Console

  1. No console do Google Cloud , acesse a página do Memorystore para Valkey.

    Memorystore for Valkey

  2. No painel de navegação lateral, clique em Políticas de ACL.

  3. Ao lado da política de ACL de que você quer remover uma regra, clique em Mais ações () e selecione Editar.

  4. Na janela Editar política, ao lado de uma regra que você quer remover da política, clique em Excluir regra ().

  5. Repita a etapa 4 para outras regras de ACL que você quer remover da política.

  6. Clique em Salvar.

gcloud

Para remover uma regra de uma política de ACL, use o comando gcloud memorystore acl-policies update.

gcloud memorystore acl-policies update ACL_POLICY_NAME \
--location=REGION \
--remove-rules=rule="on ~set",username="lucian"

Faça as seguintes substituições:

  • ACL_POLICY_NAME: o nome da política de ACL de que você quer remover uma regra de ACL
  • REGION: a região em que a política de ACL está localizada.

A remoção dessa regra revoga as permissões associadas a ela para lucian. Para acessar a instância, lucian agora precisa se conectar como o usuário default e está sujeito às permissões desse usuário.

Remover uma política de ACL de uma instância

Se uma política de ACL não se aplicar mais a uma instância do Memorystore para Valkey, remova-a. É possível remover uma política usando o console doGoogle Cloud ou a CLI gcloud.

Console

  1. No console do Google Cloud , acesse a página do Memorystore para Valkey.

    Memorystore for Valkey

  2. Clique no ID da instância de que você quer remover uma política de ACL.

  3. Na página Visão geral da instância, role até o card Segurança.

  4. Ao lado do campo Política de ACL, clique em Editar ().

  5. Na janela Editar política de ACL, faça o seguinte:

    1. No menu Política, selecione Nenhuma política.

    2. Clique em Atualizar instância.

gcloud

Para remover uma política de ACL de uma instância, use o comando gcloud memorystore instances update.

gcloud memorystore instances update INSTANCE_ID \
--clear-acl-policy \
--location=REGION

Faça as seguintes substituições:

  • INSTANCE_ID: o ID da instância de que você está removendo a política de ACL
  • REGION: a região em que a instância está localizada.

Excluir uma política de ACL

Se você não precisar mais de uma política de ACL, poderá excluí-la. É possível excluir uma política usando o console Google Cloud ou a CLI gcloud.

Console

  1. No console Google Cloud , acesse a página Memorystore para Valkey.

    Memorystore for Valkey

  2. No painel de navegação lateral, clique em Políticas de ACL.

  3. Ao lado da política de ACL que você quer excluir, clique em Mais ações () e selecione Excluir.

    Se o item de menu Excluir estiver desativado, a política será atribuída a instâncias. Antes de excluir a política, remova-a de cada instância.

  4. Na janela Excluir política, faça o seguinte:

    1. No campo de texto, insira o nome da política.

    2. Clique em Excluir.

gcloud

Para excluir uma política de ACL, use o comando gcloud memorystore acl-policies delete.

gcloud memorystore acl-policies delete ACL_POLICY_NAME \
--location=REGION

Faça as seguintes substituições:

  • ACL_POLICY_NAME: o nome da política de ACL que você quer excluir
  • REGION: a região em que a política de ACL está localizada.

Desativar scripts Lua

É possível usar políticas de ACL para gerenciar recursos de programação em Lua nas suas instâncias. Desativar ou restringir scripts Lua pode ser útil para ajustar o desempenho, simplificar a funcionalidade das instâncias ou seguir as diretrizes de segurança da sua organização.

Desativar comandos de script para usuários

Para desativar os scripts Lua para que os usuários não possam executá-los, use políticas de ACL e remova as permissões para os comandos de script da string de regra de ACL do usuário.

O Valkey categoriza os comandos em grupos. A programação em Lua se enquadra na categoria @scripting. Os principais comandos para remover permissões de usuário são:

É possível desativar todos os comandos de script ou um comando específico para os usuários. Para desativar comandos de script, use a CLI gcloud e adicione um sinal de menos (-) antes do comando ou da categoria.

Desativar todos os comandos de script para um usuário

Para desativar todos os comandos de script de um usuário, crie uma política de ACL e atribua a uma instância ou modifique uma política de ACL atribuída a uma instância.

Criar uma política

Para criar uma política de ACL que desative todos os comandos de script para um usuário chamado lucian, use o comando gcloud memorystore acl-policies create.

gcloud memorystore acl-policies create POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all -@scripting",username=lucian

Faça as seguintes substituições:

  • POLICY_NAME: o nome da política de ACL.
  • REGION: a região em que você quer que a política de ACL esteja localizada.

Depois de criar a política, atribua-a a uma instância nova ou existente.

Modificar uma política

Para modificar uma política de ACL e desativar todos os comandos de script para lucian, use o comando gcloud memorystore acl-policies update.

gcloud memorystore acl-policies update POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all -@scripting",username=lucian

Faça as seguintes substituições:

  • POLICY_NAME: o nome da política de ACL
  • REGION: a região em que a política de ACL está localizada.

Se você quiser conceder apenas as permissões específicas de que um usuário precisa, mude o valor +@all. Por exemplo, se você quiser que o usuário tenha acesso apenas a comandos somente leitura, mude +@all para +@read. Para mais informações sobre as permissões de usuário que podem ser definidas, consulte a documentação da ACL do Valkey.

Desativar um comando de script para um usuário

É possível segmentar comandos específicos para desativar para um usuário. Por exemplo, é possível permitir que o usuário execute todos os comandos de script, exceto o comando SCRIPT FLUSH. Para desativar um comando de script para um usuário, crie uma política de ACL e atribua a uma instância ou modifique uma política de ACL atribuída a uma instância.

É possível desativar qualquer comando de script. Para os exemplos nesta seção, você desativa o comando SCRIPT FLUSH para o usuário. Para ver uma lista de comandos de script, consulte Desativar comandos de script para usuários.

Criar uma política

Para criar uma política de ACL que desative o comando de script SCRIPT FLUSH para lucian, use o comando gcloud memorystore acl-policies create.

gcloud memorystore acl-policies create POLICY_NAME \
--location=REGION \
--rules=rule="on ~* -script|flush",username=lucian

Faça as seguintes substituições:

  • POLICY_NAME: o nome da política de ACL.
  • REGION: a região em que você quer que a política de ACL esteja localizada.

Depois de criar a política, atribua-a a uma instância nova ou atual.

Modificar uma política

Para modificar uma política de ACL e desativar todos os comandos de script para lucian, use o comando gcloud memorystore acl-policies update.

gcloud memorystore acl-policies update POLICY_NAME \
--location=REGION \
--rules=rule="on ~* -script|flush",username=lucian

Faça as seguintes substituições:

  • POLICY_NAME: o nome da política de ACL
  • REGION: a região em que a política de ACL está localizada.

Se você quiser conceder apenas as permissões específicas de que um usuário precisa, mude o valor +@all. Por exemplo, se você quiser que o usuário tenha acesso apenas a comandos somente leitura, mude +@all para +@read. Para mais informações sobre as permissões de usuário que podem ser definidas, consulte a documentação da ACL do Valkey.

Proteger o usuário padrão

Para desativar as permissões de script do superusuário default, crie uma política de ACL e atribua-a a uma instância ou modifique uma política de ACL atribuída a uma instância.

Criar uma política

Para criar uma política de ACL que desative todos os comandos de script para o usuário default, use o comando gcloud memorystore acl-policies create.

gcloud memorystore acl-policies create POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all -@scripting",username=default

Faça as seguintes substituições:

  • POLICY_NAME: o nome da política de ACL.
  • REGION: a região em que você quer que a política de ACL esteja localizada.

Depois de criar a política, atribua-a a uma instância nova ou existente.

Modificar uma política

Para modificar uma política de ACL e desativar todos os comandos de script para o usuário default, use o comando gcloud memorystore acl-policies update.

gcloud memorystore acl-policies update POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all -@scripting",username=default

Faça as seguintes substituições:

  • POLICY_NAME: o nome da política de ACL
  • REGION: a região em que a política de ACL está localizada.

Se você quiser conceder apenas as permissões específicas de que o usuário default precisa, mude o valor de +@all. Por exemplo, se você quiser que esse usuário tenha acesso apenas a comandos somente leitura, mude +@all para +@read. Para mais informações sobre as permissões de usuário que podem ser definidas, consulte a documentação da ACL do Valkey.

Resolver problemas

Nesta seção, listamos as mensagens de erro que você pode receber ao usar políticas de ACL, os motivos dessas mensagens e dicas para resolver os problemas.

Mensagem de erro Causa Resolver problemas
username cannot be empty Você define uma string vazia ou uma string que contém apenas espaços em branco para um nome de usuário em uma política de ACL. Use um nome de usuário que tenha caracteres alfanuméricos ou especiais. Em seguida, crie a política de ACL novamente.
duplicate username found in ACL policy Você tem nomes de usuários duplicados em uma política de ACL. Use os registros de erros para encontrar o nome de usuário duplicado. Modifique a solicitação de criação da política de ACL para especificar exatamente uma regra para o nome de usuário. Em seguida, crie a política de ACL novamente.
ACL rule token cannot contain token. use either IAM or Basic Auth features to enable authentication Não é possível usar caracteres de senha (por exemplo, <, >, # e !) ou comandos relacionados (por exemplo, nopass, resetpass e reset) em uma política de ACL. Remova todos os caracteres de senha e comandos relacionados das regras da política de ACL. Em seguida, crie a política de ACL novamente. Para configurar a autenticação, ative a autenticação básica ou a autenticação baseada no IAM.
passwords not allowed in ACL rules (token starts with char). use either IAM or Basic Auth features to enable authentication Não é possível usar caracteres de senha (por exemplo, <, >, # e !) ou comandos relacionados (por exemplo, nopass, resetpass e reset) em uma política de ACL. Remova todos os caracteres de senha e comandos relacionados das regras da política de ACL. Em seguida, crie a política de ACL novamente. Para configurar a autenticação, ative a autenticação básica ou a autenticação baseada no IAM.
invalid ACL rule syntax Você não formatou corretamente uma string de acesso em uma ou mais regras da política de ACL. Formate a string de acesso corretamente.
ACL policy is in DELETING state and cannot be used Você está tentando atribuir uma política de ACL a uma instância, mas a política tem um status DELETING. Atribua uma política de ACL diferente à instância.
ACL_POLICY_IN_USE: ACL policy is in use by 1 or more instances Você está tentando excluir uma política de ACL atribuída a pelo menos uma instância. Antes de excluir uma política de ACL, é necessário removê-la de todas as instâncias a que ela está atribuída. Para determinar quais instâncias estão atribuídas a uma política, consulte Conferir informações sobre políticas de ACL.
fast-failing the workflow as the resource is in DELETING state Você está tentando modificar uma política de ACL que tem um status DELETING. Se uma política de ACL tiver um status DELETING, não será possível modificar a política.