Compartilhar via


Suporte ao Spring Cloud Azure Redis

Este artigo se aplica 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 repositórios de dados de back-end fortemente.

Versões do Redis com suporte

Para versões com suporte, consulte versões atuais.

Principais recursos

Conexão sem senha

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, seus arquivos de configuração ou em variáveis de ambiente. A autenticação do Microsoft Entra é um mecanismo para se conectar ao Cache do Azure para Redis 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 cria primeiro 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 por meio de DefaultTokenCredential será usada para obter credenciais de propriedades de aplicativo, variáveis de ambiente, identidade gerenciada ou IDEs. Para obter mais informações, consulte de autenticação do Spring Cloud Azure.

Configuração

  • do Azure 5.x do Spring Cloud
  • do Azure 4.x do Spring Cloud

Propriedades configuráveis ao usar o suporte do Redis:

Propriedade Descrição Valor Padrão Necessário
spring.cloud.azure.redis.enabled Se um Cache do Azure para Redis 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 A ID da assinatura. Sim
spring.data.redis.azurehabilitado para .passwordless Se deseja habilitar sem senha para o Cache do Azure para Redis. falso Não

Uso básico

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

Conectar-se ao Cache do Azure para Redis sem senha

  • do Azure 5.x do Spring Cloud
  • do Azure 4.x do Spring Cloud
  1. Adicione a dependência a seguir 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>
    

    Nota

    Há suporte para conexões sem senha desde a versão 5.19.0.

    Lembre-se de adicionar o bom spring-cloud-azure-dependencies junto 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 em seu arquivo de 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 de username, consulte o Habilitar a autenticação da ID do Microsoft Entra em seu cache seção de Usar a ID do Microsoft Entra para autenticação de cache.

Conectar-se ao Cache do Azure para Redis com identidade gerenciada

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

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

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

    Importante

    O redis.username deve ser alterado para a ID do objeto de identidade gerenciada (entidade de segurança).

    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 a ID do cliente de identidade gerenciada atribuída pelo usuário.

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

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

  • do Azure 5.x do Spring Cloud
  • do Azure 4.x do Spring Cloud
  1. Adicione a dependência a seguir 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>
    

    Nota

    Lembre-se de adicionar o bom spring-cloud-azure-dependencies junto 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 em seu arquivo de application.yml:

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

Amostras

  • do Azure 5.x do Spring Cloud
  • do Azure 4.x do Spring Cloud

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