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.
- Comandos administrativos. Aplicativos normais nunca precisam usá-los, incluindo
dangerous
- Comandos potencialmente perigosos. Cada um deve ser considerado com cuidado por várias razões, incluindo
FLUSHALL
,RESTORE
, ,SORT
,KEYS
,INFO
CONFIG
CLIENT
DEBUG
e outras.
- Comandos potencialmente perigosos. Cada um deve ser considerado com cuidado por várias razões, incluindo
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
,DBSIZE
KEYS
, ,EXPIRE
,TTL
FLUSHALL
e 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.
- Escrever ou ler a partir de chaves, bancos de dados ou seus metadados de forma agnóstica de tipo, incluindo
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
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.
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 as permissões de acordo com suas necessidades.
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.
Selecione Ativar Autenticação do Microsoft Entra como a guia no painel de trabalho.
Se ainda não estiver marcada, marque a caixa Ativar autenticação do Microsoft Entra e selecione OK. Em seguida, selecione Guardar.
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.