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
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.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 atribuirData 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
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.
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:
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.
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.