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
,SHUTDOWN
e outros.
- Comandos administrativos. Aplicativos normais nunca precisam usá-los, incluindo
dangerous
- Comandos potencialmente perigosos. Cada um deve ser considerado com cuidado por vários motivos, incluindo
FLUSHALL
,RESTORE
,SORT
,KEYS
,CLIENT
,DEBUG
, ,INFO
,CONFIG
e outros.
- Comandos potencialmente perigosos. Cada um deve ser considerado com cuidado por vários motivos, incluindo
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.
- Escrever ou ler chaves, bancos de dados ou seus metadados de maneira independente de tipo, incluindo
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
~*
ouallkeys
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
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.
No menu Recurso, selecione configuração de Acesso a Dados.
Selecione Adicionar e escolha Nova Política de Acesso.
Forneça um nome para sua política de acesso.
Configure Permissões de acordo com seus requisitos.
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.
Selecione Habilitar a Autenticação do Microsoft Entra como o guia no painel de trabalho.
Se ainda não estiver marcada, marque a caixa Habilitar a Autenticação do Microsoft Entra e selecione OK. Em seguida, selecione Salvar.
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.