Partilhar via


Usar a ID do Microsoft Entra para autenticação de cache com o Azure Managed Redis

O Azure Managed Redis oferece um mecanismo de autenticação sem palavra-passe através da integração com o Microsoft Entra ID. Os caches do Azure Managed Redis usam o Microsoft Entra ID por padrão. Quando você cria um novo cache, a identidade gerenciada é habilitada.

Embora a autenticação da chave de acesso ainda esteja disponível, ela vem com um conjunto de desafios relacionados à segurança e ao gerenciamento de senhas. Por outro lado, neste artigo, aprende a utilizar um token do Microsoft Entra para autenticação da cache.

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.
  • Os grupos do Microsoft Entra não são suportados.
  • 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.

Important

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.

Configurar o seu cliente Redis para utilizar o Microsoft Entra

Se você usou chaves de acesso no passado para autenticação, precisará atualizar seu fluxo de trabalho de cliente para oferecer suporte à autenticação usando o Microsoft Entra ID. Nesta seção, você aprenderá a se conectar ao Azure Managed Redis usando uma ID do Microsoft Entra.

Adicionar utilizadores ou principal de sistema ao cache

  1. Conecte-se ao seu cache no portal do Azure.

  2. No menu Recurso, selecione Autenticação.

  3. Na guia Autenticação do Microsoft Entra , selecione Usuário ou entidade de serviço e, em seguida, + Selecionar membro.

  4. Digite o nome do usuário que você deseja executar o programa. Selecione o usuário a ser adicionado na lista e selecione. O usuário é adicionado à lista de usuários do Redis.

    Captura de tela da guia de autenticação em um cache Redis no portal do Azure.

Fluxo de trabalho do cliente Microsoft Entra

  1. Configure a sua aplicação cliente para adquirir um token do Microsoft Entra para o escopo https://redis.azure.com/.default ou acca5fbb-b7e4-4009-81f1-37e38fd66d78/.default usando a Biblioteca de Autenticação da Microsoft (MSAL).

  2. Atualize a sua lógica de ligação Redis para utilizar o seguinte User e Password:

    • User = ID do objeto da sua identidade gerida ou principal de serviço
    • Password = o Token do Microsoft Entra que adquiriu através da MSAL
  3. Certifique-se de que seu cliente execute um comando Redis AUTH automaticamente antes que seu token Microsoft Entra expire, usando:

    • User = ID do objeto da sua identidade gerida ou principal de serviço
    • Password = Token do Microsoft Entra atualizado periodicamente

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 comandos AUTH sejam escalonados. Desta forma, o seu servidor do Redis não recebe muitos comandos AUTH ao mesmo tempo.

Solução de problemas do Microsoft Entra ID e seu cache

Se seu aplicativo não conseguir acessar a instância do Azure Managed Redis por meio da ID do Microsoft Entra, use este script do PowerShell:

EntraTokenValidation

Use este script do PowerShell para validar tokens de ID do Microsoft Entra para recursos do Cache Redis Gerenciado do Azure. O script valida tokens e verifica políticas de acesso para ajudá-lo a diagnosticar problemas de autenticação.

Se você estiver tendo problemas para usar o Microsoft Entra ID para autenticar conexões Redis, execute este script para analisar seu token do Microsoft Entra e identificar quaisquer problemas.

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 dos tokens antes que expirem 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 Linguagem 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
node-redis Node.js Exemplo de código node-redis
go-redis Go Exemplo de código Go

Desativar a autenticação por chave de acesso na sua cache

Se você tiver um cache usando chaves de acesso, recomendamos mudar para o Microsoft Entra ID como a maneira segura de conectar seu cache e desabilitar as chaves de acesso.

Quando você desabilita as chaves de acesso, o sistema encerra todas as conexões de cliente existentes, independentemente de elas usarem chaves de acesso ou autenticação de ID do Microsoft Entra.

Antes de desativar as chaves de acesso em caches replicados geograficamente, você deve:

  1. Desassociar as caches.
  2. Desativar as chaves de acesso.
  3. Voltar a associar as caches.

Para desativar as chaves de acesso, siga este procedimento:

  1. No portal do Azure, selecione a instância do Azure Managed Redis onde você deseja desabilitar as chaves de acesso.

  2. No menu Recurso , selecione Autenticação.

  3. No painel de trabalho, selecione Teclas de acesso.

  4. Selecione o controle Autenticação de Chaves de Acesso para desabilitar as chaves de acesso.

  5. Confirme que deseja atualizar sua configuração selecionando Sim.

    Important

    Quando a configuração 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 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, consulte Resiliência de conexão.