Partilhar via


Usar o Microsoft Entra para autenticação de cache

Important

O Cache do Azure para Redis anunciou seu cronograma de desativação para todas as SKUs. Recomendamos mover as suas instâncias existentes do Azure Cache para Redis para Azure Managed Redis o mais rápido possível.

Para mais detalhes sobre a aposentadoria:

O Cache Redis do Azure oferece dois métodos para autenticar 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 Cache Redis do Azure oferece um mecanismo de autenticação sem senha integrando-se ao Microsoft Entra. Esta integração também inclui a funcionalidade controlo do acesso baseado em funções fornecida através de listas de controlo de acesso (ACLs) suportadas em Redis open-source.

Para usar a integração ACL, seu aplicativo cliente deve assumir a identidade de uma entidade do Microsoft Entra, como entidade de serviço ou identidade gerenciada, e se conectar ao cache. Neste artigo, aprenderás a usar o teu principal de serviço ou identidade gerida para te conectares ao teu cache. Você também aprenderá a conceder permissões predefinidas à sua conexão com base no artefato Microsoft Entra que é usado para a conexão.

Âmbito da disponibilidade

Tier Básico, Standard e Premium Empresa, Enterprise Flash
Availability Yes No

Pré-requisitos e limitações

  • A autenticação Microsoft Entra é suportada para conexões SSL e TLS 1.2 ou superior.
  • A autenticação do Microsoft Entra não é suportada nas camadas Enterprise do Cache do Azure para Redis Enterprise.
  • Os grupos do Microsoft Entra não são suportados.
  • Alguns comandos do Redis estão bloqueados. Para obter uma lista completa de comandos bloqueados, consulte Comandos Redis sem suporte no Cache do Azure para 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.

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

  1. No portal do Azure, selecione a instância do Cache do Azure para 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 o separador Autenticação do Microsoft Entra.

  4. Selecione Ativar Autenticação Microsoft Entra e insira o nome de um usuário válido. O usuário inserido recebe automaticamente a Política de Acesso do Proprietário de Dados por padrão quando você seleciona Salvar. Você também pode inserir uma identidade gerenciada ou um principal de serviço para se conectar à sua instância de cache.

    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.

  5. Uma caixa de diálogo pop-up pergunta se você deseja atualizar sua configuração e informa que leva vários minutos. Selecione Sim.

    Important

    Depois que a operação de habilitação for concluída, os nós na instância de cache serão reinicializados para carregar a nova configuração. Recomendamos que você execute essa operação durante a janela de manutenção ou fora do horário comercial de pico. A operação pode demorar até 30 minutos.

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 você desabilita a autenticação de chave de acesso para um cache, todas as conexões de cliente existentes são encerradas, quer usem chaves de acesso ou autenticação do Microsoft Entra. Siga as melhores práticas recomendadas para o cliente Redis ao implementar mecanismos de tentativa adequados para reestabelecer conexões baseadas no Microsoft Entra, caso existam.

Antes de desativar as chaves de acesso

  • Verifique se a autenticação do Microsoft Entra está habilitada e se você tem pelo menos um Usuário Redis configurado.
  • Certifique-se de que todos os aplicativos que se conectam à sua instância de cache alternem para usar a Autenticação do Microsoft Entra.
  • Certifique-se de que as métricas Clientes Conectados e Clientes Conectados Usando o Token Microsoft Entra tenham os mesmos valores. Se os valores dessas duas métricas não forem iguais, significa que ainda existem algumas ligações que foram criadas com chaves de acesso e não com o Token do Microsoft Entra.
  • Considere desativar o acesso durante o período de manutenção agendado para a instância de cache.
  • A desativação de chaves de acesso só está disponível para caches de nível Basic, Standard e Premium.

Para caches com georreplicação, deve fazer o seguinte:

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

Se você tiver um cache onde usou chaves de acesso e quiser desabilitar as chaves de acesso, siga este procedimento:

  1. No portal do Azure, selecione a instância do Cache do Azure para 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 Desativar autenticação de chaves de acesso. Em seguida, selecione Salvar.

    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.

Important

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

Usar a configuração de acesso a dados com seu cache

Se você quiser usar uma política de acesso personalizada em vez de Proprietário de Dados Redis, vá para Configuração de Acesso a Dados no menu Recurso . Para obter mais informações, consulte Configurar uma política de acesso a dados personalizada para seu aplicativo.

  1. No portal do Azure, selecione a instância do Cache do Azure para Redis onde você deseja adicionar à configuração de acesso a dados.

  2. No menu Recurso , selecione Configuração de Acesso a Dados.

  3. Selecione Adicionar e, em seguida, selecione Novo Usuário Redis.

  4. Na guia Políticas de Acesso , selecione uma das políticas disponíveis na tabela: Proprietário dos Dados, Colaborador de Dados ou Leitor de Dados. Em seguida, selecione Next: Redis Users.

    Captura de ecrã a mostrar as Políticas de Acesso disponíveis.

  5. Escolha utilizador ou entidade de serviço ou identidade gerida para determinar como atribuir acesso à sua instância do Azure Cache para Redis. Se selecionar Utilizador ou principal de serviço e quiser adicionar um utilizador, deverá primeiro ativar a autenticação do Microsoft Entra.

  6. Em seguida, escolha Selecionar membros e escolha Selecionar. Em seguida, selecione Seguinte: Rever + atribuir.

    Captura de tela mostrando membros para adicionar como novos usuários do Redis.

  7. Uma caixa de diálogo pop-up notifica que a atualização é permanente e pode causar um breve erro de conexão. Selecione Sim.

    Important

    Depois que a operação de habilitação for concluída, os nós na instância de cache serão reinicializados para carregar a nova configuração. Recomendamos que você execute essa operação durante a janela de manutenção ou fora do horário comercial de pico. A operação pode demorar até 30 minutos.

Configurar o seu cliente Redis para utilizar o Microsoft Entra

Como a maioria dos clientes do Cache do Azure para Redis 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 Cache Redis do Azure usando um token Microsoft Entra.

Fluxo de trabalho do cliente Microsoft Entra

  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 = 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

Suporte à biblioteca de cliente

A biblioteca Microsoft.Azure.StackExchangeRedis é uma extensão que permite que o utilizador use o Microsoft Entra para autenticar conexões de um aplicativo cliente Redis a um Azure Cache for 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 usar o pacote NuGet para se conectar à sua instância do Cache Redis do Azure usando o Microsoft.Azure.StackExchangeRedis Microsoft Entra.

A tabela seguinte inclui ligações para exemplos de código. Eles demonstram como se conectar à sua instância do Cache Redis do Azure usando 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

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.
  • Ao chamar o comando do servidor AUTH Redis periodicamente, considere adicionar um atraso aleatório para que os AUTH comandos sejam escalonados. Desta forma, o seu servidor do Redis não recebe muitos comandos AUTH ao mesmo tempo.