Compartilhar via


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

O Redis Gerenciado do Azure oferece um mecanismo de autenticação sem senha integrando-se à ID do Microsoft Entra. Os caches Redis Gerenciados do Azure usam a ID do Microsoft Entra por padrão. Quando você cria um novo cache, a identidade gerenciada é habilitada.

Embora a autenticação de chave de acesso ainda esteja disponível, ela vem com um conjunto 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.

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.
  • Não há suporte para grupos do Microsoft Entra.
  • 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.

Important

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.

Configure seu cliente Redis para usar o Microsoft Entra

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

Adicionar usuários ou entidade de segurança do sistema ao cache

  1. Conecte-se ao 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 no cache Redis do portal do Azure.

Fluxo de trabalho do cliente Microsoft Entra

  1. Configure seu aplicativo 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 sua lógica de conexão Redis para usar o seguinte User e Password:

    • User = ID de Objeto da sua identidade gerenciada ou entidade de serviço
    • Password = Token Microsoft Entra que você adquiriu usando MSAL
  3. Verifique se o cliente executa um comando Redis AUTH automaticamente antes que o token do Microsoft Entra expire usando:

    • User = ID de Objeto da sua identidade gerenciada ou entidade de serviço
    • Password = Microsoft Entra token atualizado periodicamente

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

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

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

EntraTokenValidation

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

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

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 do cliente Linguagem Link 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

Desabilitar a autenticação de chave de acesso em seu cache

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

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

Antes de desabilitar as chaves de acesso em caches com replicação geográfica, você deve:

  1. Desvincule os caches.
  2. Desabilitar chaves de acesso.
  3. Vincule novamente os caches.

Para desabilitar as chaves de acesso, siga este procedimento:

  1. No portal do Azure, selecione a instância do Redis Gerenciado do Azure na qual você quer 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 autenticação de chaves de acesso é alterada para um cache, todas as conexões de clientes 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.