Partilhar via


Usar o Microsoft Entra para autenticação de cache com o Azure Managed Redis (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 da chave de acesso seja simples, ela vem com um conjunto de desafios relacionados à segurança e ao gerenciamento de senhas. Por outro lado, neste artigo, você aprenderá a usar um token do Microsoft Entra para autenticação de cache.

O Azure Managed Redis oferece um mecanismo de autenticação sem palavra-passe através da integração com o Microsoft Entra. A ID do Entra configurada para se conectar ao Azure Managed Redis recebe as mesmas permissões que com o uso de Chaves de Acesso.

Neste artigo, você aprenderá a usar sua entidade de serviço ou identidade gerenciada para se conectar à sua instância do Redis.

Pré-requisitos e limitações

Importante

Depois que uma conexão é estabelecida usando um token do Microsoft Entra, os aplicativos cliente devem atualizar periodicamente o token do Microsoft Entra antes de expirar. Em seguida, os aplicativos devem enviar um AUTH comando para o servidor Redis para evitar interromper as conexões. Para obter mais informações, consulte Configurar seu cliente Redis para usar o Microsoft Entra.

Habilitar a autenticação do Microsoft Entra em seu cache

  1. No portal do Azure, selecione a instância do Azure Managed Redis onde você deseja configurar a autenticação baseada em token do Microsoft Entra.

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

  3. No painel de trabalho, selecione a guia Autenticação do Microsoft Entra.

  4. Selecione Ativar Autenticação 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ê seleciona. Você também pode inserir uma identidade gerenciada ou uma entidade de serviço para se conectar à sua instância AMR.

    Captura de ecrã a mostrar a autenticação selecionada no menu de recursos e a caixa de verificação Ativar autenticação do Microsoft Entra.

Para obter informações sobre como usar o Microsoft Entra com a CLI do Azure, consulte as páginas de referência para identidade.

Desativar a autenticação da chave de acesso no 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ê desabilita a autenticação de chave de acesso para uma instância do Redis, todas as conexões de cliente existentes são encerradas, independentemente de usarem chaves de acesso ou autenticação do Microsoft Entra. Siga as práticas recomendadas do cliente Redis para implementar mecanismos de repetição adequados para reconectar conexões baseadas no Microsoft Entra, se houver.

Antes de desativar as chaves de acesso:

  • A autenticação do Microsoft Entra deve estar habilitada.

  • Para caches replicados geograficamente, você deve:

    1. Desvincule os caches.
    2. Desativar as chaves de acesso.
    3. Revincule os caches.

Se você tiver um cache onde usa chaves de acesso e quiser desabilitar 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. Configure a Autenticação de Chaves de Acesso para ser desativada.

    Captura de ecrã a mostrar chaves de acesso no painel de trabalho com a caixa de verificação Desativar Autenticação de Chaves de Acesso.

  5. 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 repetição adequados para reconectar conexões baseadas no Microsoft Entra. Para obter mais informações, consulte Resiliência de conexão.

Configure seu cliente Redis para usar o Microsoft Entra

Como a maioria dos clientes Redis Gerenciados do Azure assume que uma senha e uma chave de acesso são usadas para autenticação, você provavelmente precisará atualizar seu fluxo de trabalho de cliente para dar suporte à autenticação usando o Microsoft Entra. Nesta seção, você aprenderá a configurar seus aplicativos cliente para se conectar ao Azure Managed Redis usando um token do Microsoft Entra.

Fluxo de trabalho do cliente Microsoft Entra

  1. Configure seu aplicativo cliente para adquirir um token Microsoft Entra para 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 do objeto da sua identidade gerenciada ou entidade de serviço
    • Password = Token Microsoft Entra que você adquiriu usando 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 gerenciada ou entidade de serviço
    • Password = Token Microsoft Entra atualizado periodicamente

Suporte à biblioteca do cliente

A biblioteca Microsoft.Azure.StackExchangeRedis é uma extensão que StackExchange.Redis permite que você use o Microsoft Entra para autenticar conexões de um aplicativo cliente Redis para um Redis Managed Redis. A extensão gerencia o token de autenticação, incluindo a atualização proativa de tokens antes que eles expirem para manter conexões Redis persistentes durante vários dias.

Este exemplo de código demonstra como usar o pacote NuGet para se conectar à sua instância do Azure Managed Redis usando o Microsoft.Azure.StackExchangeRedis Microsoft Entra.

A tabela a seguir inclui links para exemplos de código. Eles demonstram como se conectar à sua instância do Azure Managed Redis usando um token do Microsoft Entra. Várias bibliotecas de clientes estão incluídas em vários idiomas.

Biblioteca de cliente Idioma 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 de alface
Redisson Java Exemplo de código Redisson
Ioredis Node.js Exemplo de código ioredis
nó-redis Node.js Exemplo de código node-redis

Práticas recomendadas para autenticação do Microsoft Entra

  • Configure links privados ou regras de firewall para proteger seu cache contra um ataque de negação de serviço.
  • Certifique-se de que seu aplicativo cliente envie um novo token do Microsoft Entra pelo menos três minutos antes da expiração do token para evitar a interrupção da conexão.
  • Quando você chamar o comando Redis server AUTH periodicamente, considere adicionar um jitter para que os AUTH comandos sejam escalonados. Desta forma, o seu servidor Redis não recebe muitos AUTH comandos ao mesmo tempo.