Partilhar via


Configurar o controle de acesso baseado em função com a Política de Acesso a Dados

Gerenciar o acesso à sua instância do Cache do Azure para Redis é fundamental para garantir que os usuários certos tenham acesso ao conjunto certo de dados e comandos. No Redis versão 6, a Lista de Controle de Acesso (ACL) foi introduzida. A ACL limita quais usuários podem executar determinados comandos e as chaves que um usuário pode acessar. Por exemplo, você pode proibir usuários específicos de excluir chaves no cache usando o comando DEL .

O Cache Redis do Azure agora integra essa funcionalidade de ACL com a ID do Microsoft Entra para permitir que você configure suas Políticas de Acesso a Dados para a entidade de serviço e a identidade gerenciada do seu aplicativo.

O Cache Redis do Azure oferece três políticas de acesso internas: Proprietário de Dados, Colaborador de Dados e Leitor de Dados. Se as políticas de acesso internas não satisfizerem seus requisitos de proteção e isolamento de dados, você poderá criar e usar sua própria política de acesso a dados personalizada, conforme descrito em Configurar política de acesso a dados personalizada.

Âmbito da disponibilidade

Nível Básico, Standard e Premium Empresa, Enterprise Flash
Disponibilidade Sim No

Pré-requisitos e limitações

  • A ACL do Redis e as Políticas de Acesso a Dados não têm suporte no Cache do Azure para instâncias do Redis que executam o Redis versão 4.
  • A autenticação e autorização do Microsoft Entra são suportadas apenas para conexões SSL.
  • Alguns comandos do Redis estão bloqueados.

Permissões para sua política de acesso a dados

Conforme documentado na Lista de Controle de Acesso do Redis, a ACL no Redis versão 6.0 permite configurar permissões de acesso para três áreas:

Categorias de comando

O Redis criou agrupamentos de comandos, como comandos administrativos, comandos perigosos, etc., para facilitar a configuração de permissões em um grupo de comandos.

  • Usar +@commandcategory para permitir uma categoria de comando
  • Usar -@commandcategory para não permitir uma categoria de comando

Esses comandos ainda estão bloqueados. Os grupos a seguir são categorias de comando úteis que o Redis suporta. Para obter mais informações sobre categorias de comando, consulte a lista completa sob o título Categorias de comando.

  • admin
    • Comandos administrativos. Aplicativos normais nunca precisam usá-los, incluindo MONITOR, SHUTDOWN, e outros.
  • dangerous
    • Comandos potencialmente perigosos. Cada um deve ser considerado com cuidado por várias razões, incluindo FLUSHALL, RESTORE, , SORT, KEYS, INFOCONFIGCLIENTDEBUGe outras.
  • keyspace
    • Escrever ou ler a partir de chaves, bancos de dados ou seus metadados de forma agnóstica de tipo, incluindo DEL, RESTORE, , DUMP, RENAME, EXISTS, DBSIZEKEYS, , EXPIRE, TTLFLUSHALLe muito mais. Os comandos que podem modificar o espaço de chave, a chave ou os metadados também têm a categoria de gravação. Os comandos que leem apenas o espaço de chave, a chave ou os metadados têm a categoria de leitura.
  • pubsub
    • Comandos relacionados a PubSub.
  • read
    • Leitura de chaves, valores ou metadados. Comandos que não interagem com teclas, não têm leitura ou gravação.
  • set
    • Tipo de dados: conjuntos relacionados.
  • sortedset
    • Tipo de dados: conjuntos ordenados relacionados.
  • stream
    • Tipo de dados: fluxos relacionados.
  • string
    • Tipo de dados: strings relacionadas.
  • write
    • Gravação em chaves (valores ou metadados).

Comandos

Os comandos permitem controlar quais comandos específicos podem ser executados por um determinado usuário do Redis.

  • Use +command para permitir um comando.
  • Use -command para não permitir um comando.

Chaves

As chaves permitem controlar o acesso a chaves específicas ou grupos de chaves armazenadas no cache.

  • Use ~<pattern> para fornecer um padrão para chaves.

  • Use uma ou ~* allkeys para indicar que as permissões de categoria de comando se aplicam a todas as chaves na instância de cache.

Como especificar permissões

Para especificar permissões, você precisa criar uma cadeia de caracteres para salvar como sua política de acesso personalizada e, em seguida, atribuir a cadeia de caracteres ao seu usuário do Cache do Azure para Redis.

A lista a seguir contém alguns exemplos de cadeias de caracteres de permissão para vários cenários.

  • Permitir que o aplicativo execute todos os comandos em todas as teclas

    Cadeia de permissões: +@all allkeys

  • Permitir que o aplicativo execute apenas comandos de leitura

    Cadeia de permissões: +@read ~*

  • Permitir que o aplicativo execute a categoria de comando de leitura e definir o comando em teclas com prefixo Az.

    Cadeia de permissões: +@read +set ~Az*

Configurar uma política de acesso a dados personalizada para seu aplicativo

  1. No portal do Azure, selecione a instância do Cache do Azure para Redis onde você deseja configurar a autenticação baseada em token do Microsoft Entra.

  2. No menu Recurso, selecione Configuração de acesso a dados.

    Captura de ecrã a mostrar a Configuração de Acesso a Dados realçada no menu Recurso.

  3. Selecione Adicionar e escolha Nova Política de Acesso.

    Captura de ecrã a mostrar um formulário para adicionar uma política de acesso personalizada.

  4. Forneça um nome para sua política de acesso.

  5. Configure as permissões de acordo com suas necessidades.

  6. Para adicionar um usuário à política de acesso usando o Microsoft Entra ID, você deve primeiro habilitar o Microsoft Entra ID selecionando Autenticação no menu Recurso.

  7. Selecione Ativar Autenticação do Microsoft Entra como a guia no painel de trabalho.

  8. Se ainda não estiver marcada, marque a caixa Ativar autenticação do Microsoft Entra e selecione OK. Em seguida, selecione Guardar.

    Captura de ecrã da autorização de acesso ao Microsoft Entra ID.

  9. Uma caixa de diálogo pop-up é exibida perguntando se você deseja atualizar sua configuração e informando que leva vários minutos. Selecione Yes (Sim).

    Importante

    Quando a operação enable for concluída, os nós em sua instância de cache serão reinicializados para carregar a nova configuração. Recomendamos realizar esta operação durante a janela de manutenção ou fora do horário comercial de pico. A operação pode demorar até 30 minutos.

Configure seu cliente Redis para usar o Microsoft Entra ID

Agora que você configurou a política de acesso a Usuários e Dados do Redis para configurar o controle de acesso baseado em função, você precisa atualizar o fluxo de trabalho do cliente para dar suporte à autenticação usando um usuário/senha específico. Para saber como configurar seu aplicativo cliente para se conectar à sua instância de cache como um Usuário Redis específico, consulte Configurar seu cliente Redis para usar o Microsoft Entra.

Próximos passos