Compartilhar via


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

Gerenciar o acesso à sua instância de 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 ACL (Lista de Controle de Acesso) foi introduzida. A ACL limita qual usuário pode 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 do Azure para Redis agora integra essa funcionalidade de ACL ao Microsoft Entra ID para permitir configurar suas Políticas de Acesso a Dados para a entidade de serviço e a identidade gerenciada do aplicativo.

O Cache do Azure para Redis oferece três políticas de acesso integradas: Proprietário de Dados, Colaborador de Dados e Leitor de Dados. Se as políticas de acesso internas não atenderem aos 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.

Escopo de disponibilidade

Camada Básico, Standard e Premium Enterprise, Enterprise Flash
Disponibilidade Sim Não

Pré-requisitos e limitações

  • Não há suporte para a ACL do Redis e políticas de acesso a dados em instâncias Cache do Azure para Redis que executam o Redis versão 4.
  • A autenticação e a autorização do Microsoft Entra têm suporte 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.

  • Use +@commandcategory para permitir uma categoria de comando
  • Use -@commandcategory para cancelar permissão de uma categoria de comando

Esses comandos ainda estão bloqueados . Os grupos a seguir são categorias de comando úteis compatíveis com o Redis. 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, SHUTDOWNe outros.
  • dangerous
    • Comandos potencialmente perigosos. Cada um deve ser considerado com cuidado por vários motivos, incluindo FLUSHALL, RESTORE, SORT, KEYS, CLIENT, DEBUG, , INFO, CONFIGe outros.
  • keyspace
    • Escrever ou ler chaves, bancos de dados ou seus metadados de maneira independente de tipo, incluindo DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, KEYS, EXPIRE, TTL, FLUSHALL e muito mais. Os comandos que podem modificar o keyspace, a chave ou os metadados também têm a categoria de gravação. Os comandos que leem apenas o keyspace, a chave ou os metadados têm a categoria de leitura.
  • pubsub
    • Comandos relacionados ao PubSub.
  • read
    • Leitura a partir de chaves, valores ou metadados. Comandos que não interagem com chaves, não têm nem leitura nem gravação.
  • set
    • Tipo de dados: conjuntos relacionados.
  • sortedset
    • Tipo de dados: conjuntos classificados relacionados.
  • stream
    • Tipo de dados: fluxos relacionados.
  • string
    • Tipo de dados: cadeias de caracteres relacionadas.
  • write
    • Gravando em chaves (valores ou metadados).

Comandos

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

  • Use +command para permitir um comando.
  • Use -command para cancelar permissão de um comando.

Teclas

Chaves permitem controlar o acesso a chaves ou grupos específicos de chaves armazenadas no cache.

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

  • Use ~* 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 atribuir a cadeia de caracteres ao 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 chaves

    Cadeia de caracteres de permissões: +@all allkeys

  • Permitir que o aplicativo execute apenas comandos de leitura

    Cadeia de caracteres de permissões: +@read ~*

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

    Cadeia de caracteres 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 na qual 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 tela mostrando a Configuração de Acesso a Dados destacada no menu Recurso.

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

    Captura de tela mostrando um formulário para adicionar política de acesso personalizada.

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

  5. Configure Permissões de acordo com seus requisitos.

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

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

  8. Se ainda não estiver marcada, marque a caixa Habilitar a Autenticação do Microsoft Entra e selecione OK. Em seguida, selecione Salvar.

    Captura de tela da autorização de acesso do 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 Sim.

    Importante

    Após a operação de habilitação ter sido concluída, os nós na sua instância de cache serão reinicializados para carregar a nova configuração. Recomendamos executar essa operação durante sua janela de manutenção ou fora do seu horário comercial de pico. Essa operação pode levar até 30 minutos.

Configurar seu cliente Redis para usar o Microsoft Entra ID

Agora que você configurou a política de acesso de dados e usuário do Redis para configurar o controle de acesso baseado em função, será necessário 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, veja Configurar seu cliente Redis para usar o Microsoft Entra.

Próximas etapas