Usar o Microsoft Entra para autenticação de cache com o Redis Gerenciado do Azure (versão prévia)
O Redis Gerenciado do Azure (versão prévia) oferece dois métodos para autenticar na sua instância de cache: chaves de acesso e Microsoft Entra.
Embora seja simples, a autenticação por chave de acesso implica em uma série de desafios em torno do gerenciamento de segurança e senha. Nesse artigo, você irá aprender a usar um token do Microsoft Entrapara autenticação do cache.
O Redis Gerenciado do Azure oferece um mecanismo de autenticação sem senha integrando-se ao Microsoft Entra. A ID Entra configurada para se conectar com o Redis Gerenciado do Azure recebe as mesmas permissões que as usadas com as Chaves de Acesso.
Neste artigo, você aprenderá a usar sua entidade de serviço ou identidade gerenciada para se conectar à instância do Redis.
Pré-requisitos e limitações
- A autenticação do Microsoft Entra tem suporte apenas para as conexões SSL.
- Alguns comandos do Redis ficam bloqueados. Para obter uma lista completa dos comandos bloqueados, consulte Comandos do Redis sem suporte no Redis Gerenciado do Azure.
Importante
Depois que uma conexão for estabelecida usando um token Microsoft Entra, os aplicativos cliente deverão atualizar periodicamente o token Microsoft Entra antes de expirar. Em seguida, os aplicativos devem enviar um comando AUTH
ao servidor Redis para evitar a interrupção das conexões. Para obter mais informações, veja Configurar seu cliente Redis para usar o Microsoft Entra.
Habilite a autenticação Microsoft Entra em seu cache
No portal do Azure, selecione a instância do Redis Gerenciado do Azure na qual você quer configurar a autenticação baseada no token do Microsoft Entra.
No menu Recurso, selecione Autenticação.
No painel de trabalho, selecione a guia Autenticação do Microsoft Entra.
Selecione Habilitar a Autenticação do Microsoft Entra e escolha os botões "Usuário ou entidade de serviço" ou "Identidade Gerenciada". O usuário inserido recebe automaticamente as mesmas permissões que ao usar as Chaves de Acesso quando você Selecionar. Você também pode inserir uma identidade gerenciada ou uma entidade de serviço para se conectar à sua instância AMR.
Para obter informações sobre como usar o Microsoft Entra com a CLI do Azure, consulte as páginas de referência para identidade.
Desabilitar a autenticação de chave de acesso em seu cache
Usar o Microsoft Entra é a maneira segura de conectar seu cache. Recomendamos que você use o Microsoft Entra e desabilite as chaves de acesso.
Quando você desabilitar a autenticação de chave de acesso para uma instância do Redis, todas as conexões de cliente existentes serão encerradas, quer usando as chaves de acesso ou a autenticação do Microsoft Entra. Siga as práticas recomendadas do cliente Redis para implementar mecanismos de nova tentativa adequados para reconectar conexões baseadas no Microsoft Entra, se houver.
Antes de desabilitar as chaves de acesso:
A autenticação do Microsoft Entra deve estar habilitada.
Para caches replicados geograficamente, você deve:
- Desvincule os caches.
- Desabilitar chaves de acesso.
- Vincule novamente os caches.
Se você tiver um cache em que use chaves de acesso e quiser desabilitar as chaves de acesso, siga este procedimento:
No portal do Azure, selecione a instância do Redis Gerenciado do Azure na qual você quer desabilitar as chaves de acesso.
No menu Recurso, selecione Autenticação.
No painel de trabalho, selecione Teclas de acesso.
Configure Autenticação das Chaves de Acesso a serem desabilitadas.
Confirme que deseja atualizar sua configuração selecionando Sim.
Importante
Quando a configuração Desabilitar autenticação de chaves de acesso é alterada para um cache, todas as conexões de cliente existentes, usando chaves de acesso ou Microsoft Entra, são encerradas. Siga as práticas recomendadas para implementar mecanismos de nova tentativa adequados para reconectar conexões baseadas no Microsoft Entra. Para saber mais, confira Resiliência da conexão.
Configure seu cliente Redis para usar o Microsoft Entra
Como a maioria dos clientes do Redis Gerenciados do Azure pressupõe que uma senha e uma chave de acesso são usadas para autenticação, você provavelmente precisará atualizar o fluxo de trabalho do cliente para dar suporte à autenticação usando o Microsoft Entra. Nesta seção, você aprenderá a configurar seus aplicativos cliente para se conectar ao Redis Gerenciado do Azure usando um token do Microsoft Entra.
Fluxo de trabalho do cliente Microsoft Entra
Configure seu aplicativo cliente para adquirir um token Microsoft Entra para escopo,
https://redis.azure.com/.default
ouacca5fbb-b7e4-4009-81f1-37e38fd66d78/.default
, usando a Autenticação Microsoft Library (MSAL).Atualize sua lógica de conexão Redis para usar o seguinte
User
ePassword
:User
= ID de Objeto da sua identidade gerenciada ou entidade de serviçoPassword
= Token Microsoft Entra que você adquiriu usando MSAL
Certifique-se de que seu cliente execute um comando Redis AUTH automaticamente antes que seu token Microsoft Entra expire usando:
User
= ID de Objeto da sua identidade gerenciada ou entidade de serviçoPassword
= Microsoft Entra token atualizado periodicamente
Suporte da biblioteca de clientes
A biblioteca Microsoft.Azure.StackExchangeRedis
é uma extensão de StackExchange.Redis
que permite usar o Microsoft Entra para autenticar as conexões de um aplicativo cliente do Redis para um Redis Gerenciado do Azure. A extensão gerencia o token de autenticação, incluindo a atualização proativa de tokens antes que expirem, para manter conexões persistentes do Redis ao longo de vários dias.
Este exemplo de código demonstra como usar o pacote NuGet Microsoft.Azure.StackExchangeRedis
para se conectar à instância do Redis Gerenciado do Azure usando o Microsoft Entra.
A tabela a seguir inclui links para exemplos de código. Eles demonstram como se conectar à instância do Redis Gerenciado do Azure usando um token do Microsoft Entra. Várias bibliotecas cliente estão incluídas em vários idiomas.
Biblioteca de clientes | Idioma | Link para o exemplo de código |
---|---|---|
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 links privados ou regras de firewall para proteger seu cache contra ataques de negação de serviço.
- Certifique-se de que a sua aplicação cliente envia um novo token Microsoft Entra pelo menos três minutos antes da expiração do token para evitar a interrupção da ligação.
- Ao chamar o comando
AUTH
do servidor Redis periodicamente, considere adicionar uma instabilidade para que os comandosAUTH
sejam escalonados. Dessa forma, seu servidor Redis não recebe muitos comandosAUTH
ao mesmo tempo.