Compartilhar via


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

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

  1. 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.

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

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

  4. 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.

    Captura de tela mostrando a autenticação selecionada no menu de recursos e a caixa de seleção Habilitar autenticação 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.

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:

    1. Desvincule os caches.
    2. Desabilitar chaves de acesso.
    3. 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:

  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. Configure Autenticação das Chaves de Acesso a serem desabilitadas.

    Captura de tela mostrando chaves de acesso no painel de trabalho com a caixa de seleçã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 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

  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 Autenticação Microsoft Library (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. 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ço
    • Password = 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 comandos AUTH sejam escalonados. Dessa forma, seu servidor Redis não recebe muitos comandos AUTH ao mesmo tempo.