Partilhar via


Utilizar o Microsoft Entra para autenticação da cache com o Azure Managed Redis (pré-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 por chave de acesso seja simples, implica um conjunto de desafios em termos de segurança e de gestão de palavras-passe. Por outro lado, neste artigo, aprende a utilizar um token do Microsoft Entra para autenticação da cache.

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

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

Importante

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.

Ativar a autenticação do Microsoft Entra na sua cache

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

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

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

  4. Selecione Ativar a Autenticação do Microsoft Entra e escolha os botões "Utilizador ou principal de serviço" ou "Identidade Gerida". O utilizador inserido recebe automaticamente as mesmas permissões que ao utilizar as Chaves de Acesso quando Seleciona. Também pode introduzir uma identidade gerida ou um principal de serviço para ligar à sua instância do 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 utilizar o Microsoft Entra com a CLI do Azure, consulte as páginas de referência para identidade.

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

A utilização do Microsoft Entra é a forma segura de ligar a sua cache. Recomendamos a utilização do Microsoft Entra e a desativação das chaves de acesso.

Quando desativa a autenticação por chave de acesso para uma instância do Redis, todas as ligações do cliente existentes são terminadas, independentemente de utilizarem chaves de acesso ou a autenticação do Microsoft Entra. Siga as melhores práticas do cliente Redis para implementar mecanismos de repetição adequados para voltar a estabelecer ligações baseadas no Microsoft Entra, se existentes.

Antes de desativar as chaves de acesso:

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

  • Para caches com georreplicação, tem de:

    1. Desassociar as caches.
    2. Desativar as chaves de acesso.
    3. Voltar a associar as 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 definição Desativar a Autenticação por Chaves de Acesso for alterada para uma cache, todas as ligações de clientes existentes, utilizando chaves de acesso ou o Microsoft Entra, são terminadas. 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, veja Resiliência da ligação.

Configurar o seu cliente Redis para utilizar o Microsoft Entra

Uma vez que a maioria dos clientes Azure Managed Redis assume que uma palavra-passe e uma chave de acesso são utilizadas para autenticação, é provável que tenha de atualizar o fluxo de trabalho do cliente para suportar a autenticação utilizando o Microsoft Entra. Nesta secção, aprende a configurar as suas aplicações cliente para se ligarem ao Azure Managed Redis utilizando um token do Microsoft Entra.

Fluxo de trabalho Microsoft Entra do cliente

  1. Configure a sua aplicação cliente para adquirir um token do Microsoft Entra para o âmbito, https://redis.azure.com/.default ou acca5fbb-b7e4-4009-81f1-37e38fd66d78/.default utilizando 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 = Token do Microsoft Entra que adquiriu utilizando a MSAL
  3. Certifique-se de que seu cliente executa um comando RedisAUTH automaticamente antes de o seu token do Microsoft Entra expirar, utilizando:

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

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 de tokens antes de expirarem 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 Idioma 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
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 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.