Spring Cloud Azure Redis-Unterstützung
Dieser Artikel gilt für:✅ Version 4.19.0 ✅ Version 5.19.0
In diesem Artikel wird beschrieben, wie Sie Spring Cloud Azure und Spring Data Redis zusammen verwenden und verschiedene Arten von Anmeldeinformationen für die Authentifizierung für Azure Cache für Redis bereitstellen können.
Azure Cache für Redis stellt basierend auf der Redis-Software einen Speicher im Arbeitsspeicher bereit. Redis verbessert die Leistung und Skalierbarkeit einer Anwendung, die stark Back-End-Datenspeicher verwendet.
Unterstützte Redis-Versionen
Unterstützte Versionen finden Sie unter Aktuelle Versionen.
Kernfunktionen
Kennwortlose Verbindung
Die kennwortlose Verbindung verwendet die Microsoft Entra-Authentifizierung zum Herstellen einer Verbindung mit Azure-Diensten, ohne Anmeldeinformationen in der Anwendung, den Konfigurationsdateien oder in Umgebungsvariablen zu speichern. Die Microsoft Entra-Authentifizierung ist ein Mechanismus zum Herstellen einer Verbindung mit Azure Cache für Redis mithilfe von Identitäten, die in Microsoft Entra ID definiert sind. Mit der Microsoft Entra-Authentifizierung können Sie Cacheidentitäten und andere Microsoft-Dienste an einem zentralen Ort verwalten, wodurch die Berechtigungsverwaltung vereinfacht wird.
Funktionsweise
Spring Cloud Azure erstellt zunächst je nach Anwendungsauthentifizierungskonfiguration eine der folgenden Arten von Anmeldeinformationen:
ClientSecretCredential
ClientCertificateCredential
UsernamePasswordCredential
ManagedIdentityCredential
Wenn keine dieser Arten von Anmeldeinformationen gefunden wird, wird die Anmeldeinformationskette über DefaultTokenCredential
verwendet, um Anmeldeinformationen von Anwendungseigenschaften, Umgebungsvariablen, verwalteter Identität oder IDEs abzurufen. Weitere Informationen finden Sie unter Spring Cloud Azure authentication.
Konfiguration
Konfigurierbare Eigenschaften bei Verwendung der Redis-Unterstützung:
Eigentum | Beschreibung | Standardwert | Erforderlich |
---|---|---|---|
spring.cloud.azure.redis.enabled | Gibt an, ob ein Azure-Cache für Redis aktiviert ist. | STIMMT | Nein |
spring.cloud.azure.redis.name | Azure Cache für Redis-Instanzname. | Ja | |
spring.cloud.azure.redis.resource.resource-group | Die Ressourcengruppe von Azure Cache für Redis. | Ja | |
spring.cloud.azure.profile.subscription-id | Die Abonnement-ID. | Ja | |
spring.data.redis.azure.passwordless-enabled | Gibt an, ob kennwortlos für Azure Cache für Redis aktiviert werden soll. | FALSCH | Nein |
Grundlegende Nutzung
Die folgenden Abschnitte zeigen die klassischen Anwendungsverwendungsszenarien für Spring Boot.
Herstellen einer Verbindung mit Azure Cache für Redis ohne Kennwort
Fügen Sie dem Projekt die folgende Abhängigkeit hinzu. Dies schließt automatisch die
spring-boot-starter
Abhängigkeit in Ihr Projekt transitiv ein.<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>
Anmerkung
Kennwortlose Verbindungen werden seit Version
5.19.0
unterstützt.Denken Sie daran, die BOM-
spring-cloud-azure-dependencies
zusammen mit der oben genannten Abhängigkeit hinzuzufügen. Weitere Informationen finden Sie im Abschnitt Erste Schritte abschnitt des Spring Cloud Azure-Entwicklerhandbuchs.Konfigurieren Sie die folgenden Eigenschaften in Ihrer application.yml Datei:
spring: data: redis: host: ${AZURE_CACHE_REDIS_HOST} username: ${AZURE_CACHE_REDIS_USERNAME} port: 6380 ssl: enabled: true azure: passwordless-enabled: true
Wichtig
Kennwortlose Verbindung verwendet die Microsoft Entra-Authentifizierung. Um die Microsoft Entra-Authentifizierung zu verwenden, sollten Sie die Microsoft Entra-Authentifizierung aktivieren und
user(managed identity/service principal)
auswählen, umData Owner Access Policy
zuzuweisen.Weitere Informationen und informationen zum Abrufen des Werts für
username
finden Sie im Abschnitt Aktivieren der Microsoft Entra ID-Authentifizierung im Cache Abschnitt Verwenden der Microsoft Entra-ID für die Cacheauthentifizierung.
Herstellen einer Verbindung mit Azure Cache für Redis mit verwalteter Identität
Um die verwaltete Identität zu verwenden, müssen Sie die verwaltete Identität für Ihren Dienst aktivieren und die Microsoft Entra-Authentifizierung im Cacheaktivieren.
Fügen Sie dann die folgenden Eigenschaften in Ihrer application.yml Datei hinzu:
spring: cloud: azure: credential: managed-identity-enabled: true
Wichtig
Die
redis.username
sollte in die ID des verwalteten Identitätsobjekts (Prinzipal) geändert werden.Wenn Sie die vom Benutzer zugewiesene verwaltete Identität verwenden, müssen Sie auch die Eigenschaft
spring.cloud.azure.credential.client-id
mit Ihrer vom Benutzer zugewiesenen verwalteten Identitätsclient-ID hinzufügen.
Herstellen einer Verbindung mit Azure Cache für Redis über Azure Resource Manager
Führen Sie die folgenden Schritte aus, um eine Verbindung mit Azure Cache für Redis herzustellen:
Fügen Sie dem Projekt die folgende Abhängigkeit hinzu. Dies schließt automatisch die
spring-boot-starter
Abhängigkeit in Ihr Projekt transitiv ein.<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>
Anmerkung
Denken Sie daran, die BOM-
spring-cloud-azure-dependencies
zusammen mit der oben genannten Abhängigkeit hinzuzufügen. Weitere Informationen finden Sie im Abschnitt Erste Schritte abschnitt des Spring Cloud Azure-Entwicklerhandbuchs.
Konfigurieren Sie die folgenden Eigenschaften in Ihrer application.yml Datei:
spring: cloud: azure: profile: subscription-id: ${AZURE_SUBSCRIPTION_ID} redis: name: ${AZURE_CACHE_REDIS_NAME} resource: resource-group: ${AZURE_RESOURCE_GROUP}
Proben
Sehen Sie sich die Azure-spring-boot-samples Repository auf GitHub an.