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
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
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.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 atribuirData 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
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.
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:
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.
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
Consulte o repositório azure-spring-boot-samples no GitHub.