Prise en charge d’Azure Redis Spring Cloud
Cet article s’applique à :✅ version 4.19.0 ✅ version 5.20.1
Cet article explique comment utiliser Spring Cloud Azure et Spring Data Redis ensemble et fournir différents types d’informations d’identification pour l’authentification auprès d’Azure Cache pour Redis.
Cache Azure pour Redis fournit un magasin de données en mémoire basé sur le logiciel Redis. Redis améliore considérablement les performances et l’extensibilité d’une application qui utilise des magasins de données principaux.
Versions de Redis prises en charge
Pour connaître les versions prises en charge, consultez versions actuelles.
Fonctionnalités principales
Connexion sans mot de passe
La connexion sans mot de passe utilise l’authentification Microsoft Entra pour la connexion aux services Azure sans stocker d’informations d’identification dans l’application, ses fichiers de configuration ou dans des variables d’environnement. L’authentification Microsoft Entra est un mécanisme de connexion au Cache Azure pour Redis à l’aide d’identités définies dans l’ID Microsoft Entra. Avec l’authentification Microsoft Entra, vous pouvez gérer les identités de cache et d’autres services Microsoft dans un emplacement central, ce qui simplifie la gestion des autorisations.
Fonctionnement
Spring Cloud Azure crée d’abord l’un des types d’informations d’identification suivants en fonction de la configuration de l’authentification de l’application :
ClientSecretCredential
ClientCertificateCredential
UsernamePasswordCredential
ManagedIdentityCredential
Si aucun de ces types d’informations d’identification n’est trouvé, la chaîne d’informations d’identification via DefaultTokenCredential
est utilisée pour obtenir des informations d’identification à partir des propriétés de l’application, des variables d’environnement, une identité managée ou des IDE. Pour plus d’informations, consultez l’authentification Spring Cloud Azure.
Configuration
Propriétés configurables lors de l’utilisation de la prise en charge de Redis :
Propriété | Description | Valeur par défaut | Obligatoire |
---|---|---|---|
spring.cloud.azure.redis.enabled | Indique si un cache Azure pour Redis est activé. | vrai | Non |
spring.cloud.azure.redis.name | Nom de l’instance Azure Cache pour Redis. | Oui | |
spring.cloud.azure.redis.resource.resource-group | Groupe de ressources du Cache Azure pour Redis. | Oui | |
spring.cloud.azure.profile.subscription-id | ID d’abonnement. | Oui | |
spring.data.redis.azure.passwordless-enabled | Indique s’il faut activer le cache Azure sans mot de passe pour Redis. | faux | Non |
Utilisation de base
Les sections suivantes montrent les scénarios d’utilisation classiques de l’application Spring Boot.
Se connecter au Cache Azure pour Redis avec un mot de passe sans mot de passe
Ajoutez la dépendance suivante à votre projet. Cela inclut automatiquement la dépendance
spring-boot-starter
dans votre projet transitivement.<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>
Note
Les connexions sans mot de passe ont été prises en charge depuis la version
5.20.1
.N’oubliez pas d’ajouter le
spring-cloud-azure-dependencies
boM avec la dépendance ci-dessus. Pour plus d’informations, consultez la section Prise en main du guide de développement Spring Cloud Azure.Configurez les propriétés suivantes dans votre fichier application.yml :
spring: data: redis: host: ${AZURE_CACHE_REDIS_HOST} username: ${AZURE_CACHE_REDIS_USERNAME} port: 6380 ssl: enabled: true azure: passwordless-enabled: true
Important
La connexion sans mot de passe utilise l’authentification Microsoft Entra. Pour utiliser l’authentification Microsoft Entra, vous devez activer l’authentification Microsoft Entra et sélectionner
user(managed identity/service principal)
pour affecterData Owner Access Policy
.Pour plus d’informations et obtenir la valeur de
username
, consultez la Activer l’authentification d’ID Microsoft Entra sur votre cache section Utiliser l’ID Microsoft Entra pour l’authentification du cache.
Se connecter au Cache Azure pour Redis avec une identité managée
Pour utiliser l’identité managée, vous devez activer l’identité managée pour votre service et activer l’authentification Microsoft Entra sur votre cache.
Ajoutez ensuite les propriétés suivantes dans votre fichier application.yml :
spring: cloud: azure: credential: managed-identity-enabled: true
Important
Le
redis.username
doit passer à l’ID d’objet d’identité managée (principal).Si vous utilisez l’identité managée affectée par l’utilisateur, vous devez également ajouter la propriété
spring.cloud.azure.credential.client-id
avec votre ID client d’identité managée affectée par l’utilisateur.
Se connecter au cache Azure pour Redis via Azure Resource Manager
Pour vous connecter au Cache Azure pour Redis, procédez comme suit :
Ajoutez la dépendance suivante à votre projet. Cela inclut automatiquement la dépendance
spring-boot-starter
dans votre projet transitivement.<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>
Note
N’oubliez pas d’ajouter le
spring-cloud-azure-dependencies
boM avec la dépendance ci-dessus. Pour plus d’informations, consultez la section Prise en main du guide de développement Spring Cloud Azure.
Configurez les propriétés suivantes dans votre fichier application.yml :
spring: cloud: azure: profile: subscription-id: ${AZURE_SUBSCRIPTION_ID} redis: name: ${AZURE_CACHE_REDIS_NAME} resource: resource-group: ${AZURE_RESOURCE_GROUP}
Échantillons
Consultez le référentiel azure-spring-boot-samples sur GitHub.