Partilhar via


Suporte do Spring Cloud Azure Redis

Este artigo aplica-se a:✅ Versão 4.19.0 ✅ Versão 5.19.0

Este artigo descreve como você pode usar o Spring Cloud Azure e o Spring Data Redis juntos e fornecer vários tipos de credenciais para autenticação no Cache do Azure para Redis.

Cache do Azure para Redis fornece um armazenamento de dados na memória com base no software Redis. Redis melhora o desempenho e a escalabilidade de um aplicativo que usa fortemente armazenamentos de dados de back-end.

Versões Redis suportadas

Para versões suportadas, consulte Versões atuais.

Principais características

Ligação sem palavra-passe

A conexão sem senha usa a autenticação do Microsoft Entra para se conectar aos serviços do Azure sem armazenar credenciais no aplicativo, em seus arquivos de configuração ou em variáveis de ambiente. A autenticação do Microsoft Entra é um mecanismo para se conectar ao Cache Redis do Azure usando identidades definidas na ID do Microsoft Entra. Com a autenticação do Microsoft Entra, você pode gerenciar identidades de cache e outros serviços da Microsoft em um local central, o que simplifica o gerenciamento de permissões.

Como funciona

O Spring Cloud Azure primeiro cria um dos seguintes tipos de credenciais, dependendo da configuração de autenticação do aplicativo:

  • ClientSecretCredential
  • ClientCertificateCredential
  • UsernamePasswordCredential
  • ManagedIdentityCredential

Se nenhum desses tipos de credenciais for encontrado, a cadeia de credenciais via DefaultTokenCredential será usada para obter credenciais de propriedades de aplicativos, variáveis de ambiente, identidade gerenciada ou IDEs. Para obter mais informações, consulte de autenticação do Spring Cloud Azure .

Configuração

Propriedades configuráveis ao usar o suporte Redis:

Propriedade Descrição Valor padrão Necessário
spring.cloud.azure.redis.enabled Se um Cache Redis do Azure está habilitado. verdadeiro Não
spring.cloud.azure.redis.name Nome da instância do Cache do Azure para Redis. Sim
spring.cloud.azure.redis.resource.resource-group O grupo de recursos do Cache do Azure para Redis. Sim
spring.cloud.azure.profile.subscription-id O ID da subscrição. Sim
spring.data.redis.azurehabilitado para .passwordless Se é necessário habilitar o sem senha para o Cache do Azure para Redis. falso Não

Utilização básica

As seções a seguir mostram os cenários clássicos de uso do aplicativo Spring Boot.

Conectar-se ao Cache Redis do Azure sem senha

  1. Adicione a seguinte dependência ao seu projeto. Isso inclui automaticamente a dependência spring-boot-starter em seu projeto transitivamente.

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-starter-data-redis-lettuce</artifactId>
    </dependency>
    

    Observação

    Conexões sem senha são suportadas desde a versão 5.19.0.

    Lembre-se de adicionar a lista técnica spring-cloud-azure-dependencies juntamente com a dependência acima. Para obter mais informações, consulte a seção Introdução do guia do desenvolvedor do Spring Cloud Azure.

  2. Configure as seguintes propriedades no arquivo application.yml:

    spring:
      data:
        redis:
          host: ${AZURE_CACHE_REDIS_HOST}
          username: ${AZURE_CACHE_REDIS_USERNAME}
          port: 6380
          ssl:
            enabled: true
          azure:
            passwordless-enabled: true
    

    Importante

    A conexão sem senha usa a autenticação do Microsoft Entra. Para usar a autenticação do Microsoft Entra, você deve habilitar a Autenticação do Microsoft Entra e selecionar user(managed identity/service principal) para atribuir Data Owner Access Policy.

    Para obter mais informações e obter o valor para username, consulte a seção Habilitar autenticação do Microsoft Entra ID em seu cache de Usar o Microsoft Entra ID para autenticação de cache.

Conectar-se ao Cache Redis do Azure com identidade gerenciada

  1. Para usar a identidade gerenciada, você precisa habilitar a identidade gerenciada para seu serviço e habilitar autenticação do Microsoft Entra em seu cache.

  2. Em seguida, adicione as seguintes propriedades no arquivo application.yml:

    spring:
      cloud:
        azure:
          credential:
            managed-identity-enabled: true
    

    Importante

    O redis.username deve mudar para o ID do objeto de identidade gerenciado (principal).

    Se você estiver usando a identidade gerenciada atribuída pelo usuário, também precisará adicionar a propriedade spring.cloud.azure.credential.client-id com sua ID de cliente de identidade gerenciada atribuída pelo usuário.

Conectar-se ao Cache Redis do Azure por meio do Azure Resource Manager

Use as seguintes etapas para se conectar ao Cache do Azure para Redis:

  1. Adicione a seguinte dependência ao seu projeto. Isso inclui automaticamente a dependência spring-boot-starter em seu projeto transitivamente.

    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-starter-data-redis-lettuce</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-resourcemanager</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    

    Observação

    Lembre-se de adicionar a lista técnica spring-cloud-azure-dependencies juntamente com a dependência acima. Para obter mais informações, consulte a seção Introdução do guia do desenvolvedor do Spring Cloud Azure.

  1. Configure as seguintes propriedades no arquivo application.yml:

    spring:
      cloud:
        azure:
          profile:
            subscription-id: ${AZURE_SUBSCRIPTION_ID}
          redis:
            name: ${AZURE_CACHE_REDIS_NAME}
            resource:
              resource-group: ${AZURE_RESOURCE_GROUP}
    

Amostras

Consulte o repositório azure-spring-boot-samples no GitHub.