Supporto di Spring Cloud Azure Redis
Questo articolo si applica a:✅ versione 4.19.0 ✅ versione 5.19.0
Questo articolo descrive come usare Spring Cloud Azure e Spring Data Redis insieme e fornire diversi tipi di credenziali per l'autenticazione in Cache Redis di Azure.
Cache Redis di Azure fornisce un archivio dati in memoria basato sul software Redis. Redis migliora notevolmente le prestazioni e la scalabilità di un'applicazione che usa archivi dati back-end.
Versioni di Redis supportate
Per le versioni supportate, vedere Versioni correnti.
Funzionalità principali
Connessione senza password
La connessione senza password usa l'autenticazione di Microsoft Entra per la connessione ai servizi di Azure senza archiviare credenziali nell'applicazione, nei relativi file di configurazione o nelle variabili di ambiente. L'autenticazione Di Microsoft Entra è un meccanismo per la connessione a Cache Redis di Azure usando le identità definite in Microsoft Entra ID. Con l'autenticazione Microsoft Entra, è possibile gestire le identità della cache e altri servizi Microsoft in una posizione centrale, semplificando la gestione delle autorizzazioni.
Come funziona
Spring Cloud Azure crea prima di tutto uno dei tipi di credenziali seguenti a seconda della configurazione di autenticazione dell'applicazione:
ClientSecretCredential
ClientCertificateCredential
UsernamePasswordCredential
ManagedIdentityCredential
Se nessuno di questi tipi di credenziali viene trovato, la catena di credenziali tramite DefaultTokenCredential
viene usata per ottenere le credenziali dalle proprietà dell'applicazione, dalle variabili di ambiente, dall'identità gestita o dagli IDE. Per altre informazioni, vedere 'autenticazione di Azure Spring Cloud.
Configurazione
Proprietà configurabili quando si usa il supporto di Redis:
Proprietà | Descrizione | Valore predefinito | Obbligatorio |
---|---|---|---|
spring.cloud.azure.redisabilitato | Indica se è abilitato un'istanza di Cache Redis di Azure. | vero | No |
spring.cloud.azure.redis.name | Nome dell'istanza di Cache Redis di Azure. | Sì | |
spring.cloud.azure.redis.resource.resource-group | Gruppo di risorse di Cache Redis di Azure. | Sì | |
spring.cloud.azure.profile.subscription-id | ID sottoscrizione. | Sì | |
spring.data.redis.azureabilitato senza password | Se abilitare senza password per Cache Redis di Azure. | falso | No |
Utilizzo di base
Le sezioni seguenti illustrano gli scenari di utilizzo dell'applicazione Spring Boot classici.
Connettersi a Cache Redis di Azure con senza password
Aggiungere la dipendenza seguente al progetto. Ciò include automaticamente la dipendenza
spring-boot-starter
nel progetto in modo transitivo.<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
Le connessioni senza password sono supportate dalla versione
5.19.0
.Ricordarsi di aggiungere il bom
spring-cloud-azure-dependencies
insieme alla dipendenza precedente. Per altre informazioni, vedere la sezione introduzionedella guida per sviluppatori di Azure Spring Cloud .Configurare le proprietà seguenti nel file 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
La connessione senza password usa l'autenticazione di Microsoft Entra. Per usare l'autenticazione di Microsoft Entra, è necessario abilitare l'autenticazione di Microsoft Entra e selezionare
user(managed identity/service principal)
per assegnareData Owner Access Policy
.Per altre informazioni e per ottenere il valore per
username
, vedere la sezione Enable Microsoft Entra ID authentication on your cache di Use Microsoft Entra ID for cache authentication.For more information and to get the value forusername
, see the Enable Microsoft Entra ID authentication on your cache of Use Microsoft Entra ID for cache authentication.
Connettersi a Cache Redis di Azure con identità gestita
Per usare l'identità gestita, è necessario abilitare l'identità gestita per il servizio e abilitare l'autenticazione di Microsoft Entra nella cache.
Aggiungere quindi le proprietà seguenti nel file application.yml:
spring: cloud: azure: credential: managed-identity-enabled: true
Importante
Il
redis.username
deve passare all'ID dell'oggetto identity gestito (entità).Se si usa l'identità gestita assegnata dall'utente, è anche necessario aggiungere la proprietà
spring.cloud.azure.credential.client-id
con l'ID client dell'identità gestita assegnata dall'utente.
Connettersi a Cache Redis di Azure tramite Azure Resource Manager
Per connettersi a Cache Redis di Azure, seguire questa procedura:
Aggiungere la dipendenza seguente al progetto. Ciò include automaticamente la dipendenza
spring-boot-starter
nel progetto in modo transitivo.<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
Ricordarsi di aggiungere il bom
spring-cloud-azure-dependencies
insieme alla dipendenza precedente. Per altre informazioni, vedere la sezione introduzionedella guida per sviluppatori di Azure Spring Cloud .
Configurare le proprietà seguenti nel file application.yml:
spring: cloud: azure: profile: subscription-id: ${AZURE_SUBSCRIPTION_ID} redis: name: ${AZURE_CACHE_REDIS_NAME} resource: resource-group: ${AZURE_RESOURCE_GROUP}