Utilizar o Microsoft Entra para autenticação da cache com o Azure Managed Redis (pré-visualização)
O Azure Managed Redis (pré-visualização) oferece dois métodos para autenticar na sua instância de cache: chaves de acesso e Microsoft Entra.
Embora a autenticação por chave de acesso seja simples, implica um conjunto de desafios em termos de segurança e de gestão de palavras-passe. Por outro lado, neste artigo, aprende a utilizar um token do Microsoft Entra para autenticação da cache.
O Azure Managed Redis oferece um mecanismo de autenticação sem palavra-passe através da integração com o Microsoft Entra. O ID Entra configurada para se ligar ao Azure Managed Redis recebe as mesmas permissões que com a utilização de Chaves de Acesso.
Neste artigo, aprende a utilizar o seu principal de serviço ou identidade gerida para se ligar à sua instância do Redis.
Pré-requisitos e limitações
- A autenticação do Microsoft Entra é suportada apenas para ligações SSL.
- Alguns comandos do Redis estão bloqueados. Para obter uma lista completa dos comandos bloqueados, consulte Comandos do Redis não suportados no Azure Managed Redis.
Importante
Após o estabelecimento de uma ligação utilizando um token do Microsoft Entra, as aplicações cliente têm de atualizar periodicamente o token do Microsoft Entra antes de expirar. Em seguida, as aplicações devem enviar um comando AUTH
para o servidor do Redis para evitar a interrupção das ligações. Para obter mais informações, consulte Configurar o seu cliente Redis para utilizar o Microsoft Entra.
Ativar a autenticação do Microsoft Entra na sua cache
No portal do Azure, selecione a instância do Azure Managed Redis onde pretende configurar a autenticação baseada em token do Microsoft Entra.
No menu Recurso, selecione Autenticação.
No painel de trabalho, selecione o separador Autenticação do Microsoft Entra.
Selecione Ativar a Autenticação do Microsoft Entra e escolha os botões "Utilizador ou principal de serviço" ou "Identidade Gerida". O utilizador inserido recebe automaticamente as mesmas permissões que ao utilizar as Chaves de Acesso quando Seleciona. Também pode introduzir uma identidade gerida ou um principal de serviço para ligar à sua instância do AMR.
Para obter informações sobre como utilizar o Microsoft Entra com a CLI do Azure, consulte as páginas de referência para identidade.
Desativar a autenticação por chave de acesso na sua cache
A utilização do Microsoft Entra é a forma segura de ligar a sua cache. Recomendamos a utilização do Microsoft Entra e a desativação das chaves de acesso.
Quando desativa a autenticação por chave de acesso para uma instância do Redis, todas as ligações do cliente existentes são terminadas, independentemente de utilizarem chaves de acesso ou a autenticação do Microsoft Entra. Siga as melhores práticas do cliente Redis para implementar mecanismos de repetição adequados para voltar a estabelecer ligações baseadas no Microsoft Entra, se existentes.
Antes de desativar as chaves de acesso:
A autenticação do Microsoft Entra deve estar ativada.
Para caches com georreplicação, tem de:
- Desassociar as caches.
- Desativar as chaves de acesso.
- Voltar a associar as caches.
Se você tiver um cache onde usa chaves de acesso e quiser desabilitar as chaves de acesso, siga este procedimento:
No portal do Azure, selecione a instância do Azure Managed Redis onde você deseja desabilitar as chaves de acesso.
No menu Recurso, selecione Autenticação.
No painel de trabalho, selecione Teclas de acesso.
Configure a Autenticação de Chaves de Acesso para ser desativada.
Confirme que deseja atualizar sua configuração selecionando Sim.
Importante
Quando a definição Desativar a Autenticação por Chaves de Acesso for alterada para uma cache, todas as ligações de clientes existentes, utilizando chaves de acesso ou o Microsoft Entra, são terminadas. Siga as melhores práticas para implementar mecanismos de repetição adequados para voltar a estabelecer ligações baseadas no Microsoft Entra. Para obter mais informações, veja Resiliência da ligação.
Configurar o seu cliente Redis para utilizar o Microsoft Entra
Uma vez que a maioria dos clientes Azure Managed Redis assume que uma palavra-passe e uma chave de acesso são utilizadas para autenticação, é provável que tenha de atualizar o fluxo de trabalho do cliente para suportar a autenticação utilizando o Microsoft Entra. Nesta secção, aprende a configurar as suas aplicações cliente para se ligarem ao Azure Managed Redis utilizando um token do Microsoft Entra.
Fluxo de trabalho Microsoft Entra do cliente
Configure a sua aplicação cliente para adquirir um token do Microsoft Entra para o âmbito,
https://redis.azure.com/.default
ouacca5fbb-b7e4-4009-81f1-37e38fd66d78/.default
utilizando a Biblioteca de Autenticação da Microsoft (MSAL).Atualize a sua lógica de ligação Redis para utilizar o seguinte
User
ePassword
:-
User
= ID do objeto da sua identidade gerida ou principal de serviço -
Password
= Token do Microsoft Entra que adquiriu utilizando a MSAL
-
Certifique-se de que seu cliente executa um comando RedisAUTH automaticamente antes de o seu token do Microsoft Entra expirar, utilizando:
-
User
= ID do objeto da sua identidade gerida ou principal de serviço -
Password
= Token do Microsoft Entra atualizado periodicamente
-
Suporte à biblioteca de cliente
A biblioteca Microsoft.Azure.StackExchangeRedis
é uma extensão de StackExchange.Redis
que lhe permite utilizar o Microsoft Entra para autenticar ligações de uma aplicação cliente Redis a um Azure Managed Redis. A extensão gere o token de autenticação, incluindo a atualização proativa de tokens antes de expirarem para manter ligações Redis persistentes durante vários dias.
Este exemplo de código demonstra como utilizar o pacote Microsoft.Azure.StackExchangeRedis
NuGet para se ligar à sua instância do Azure Managed Redis utilizando o Microsoft Entra.
A tabela seguinte inclui ligações para exemplos de código. Demonstram como se ligar à sua instância do Azure Managed Redis utilizando um token do Microsoft Entra. Estão incluídas várias bibliotecas de cliente em vários idiomas.
Biblioteca de cliente | Idioma | Ligação para código de exemplo |
---|---|---|
StackExchange.Redis | .NET | Exemplo de código StackExchange.Redis |
redis-py | Python | Exemplo de código redis-py |
Jedis | Java | Exemplo de código Jedis |
Lettuce | Java | Exemplo de código Lettuce |
Redisson | Java | Exemplo de código Redisson |
Ioredis | Node.js | Exemplo de código ioredis |
node-redis | Node.js | Exemplo de código node-redis |
Melhores práticas para autenticação do Microsoft Entra
- Configure ligações privadas ou regras de firewall para proteger a sua cache de um ataque denial of service.
- Certifique-se de que a sua aplicação cliente envia um novo token do Microsoft Entra pelo menos três minutos antes da expiração do token de modo a evitar a interrupção da ligação.
- Quando chamar o comando do servidor do Redis
AUTH
periodicamente, considere adicionar um jitter para que os comandosAUTH
sejam escalonados. Desta forma, o seu servidor do Redis não recebe muitos comandosAUTH
ao mesmo tempo.