Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Managed Redis bietet einen kennwortfreien Authentifizierungsmechanismus, indem er mit Microsoft Entra ID integriert wird. Azure Managed Redis-Caches verwenden standardmäßig Microsoft Entra ID. Wenn Sie einen neuen Cache erstellen, ist die verwaltete Identität aktiviert.
Obwohl die Zugriffstastenauthentifizierung noch verfügbar ist, bietet sie eine Reihe von Herausforderungen im Hinblick auf Sicherheit und Kennwortverwaltung. In diesem Artikel erfahren Sie, wie Sie ein Microsoft Entra-Token für die Cacheauthentifizierung verwenden.
In diesem Artikel erfahren Sie, wie Sie Ihren Dienstprinzipal oder die verwaltete Identität verwenden, um eine Verbindung mit Ihrer Redis-Instanz herzustellen.
Voraussetzungen und Einschränkungen
- Die Microsoft Entra-Authentifizierung wird nur für SSL-Verbindungen unterstützt.
- Microsoft Entra-Gruppen werden nicht unterstützt.
- Einige Redis-Befehle sind gesperrt. Eine vollständige Liste der gesperrten Befehle finden Sie unter Redis-Befehle, die in Azure Managed Redis nicht unterstützt werden.
Important
Nachdem eine Verbindung mithilfe eines Microsoft Entra-Tokens hergestellt wurde, müssen Clientanwendungen das Microsoft Entra-Token regelmäßig vor Ablauf aktualisieren. Anschließend müssen die Apps einen AUTH-Befehl an den Redis-Server senden, um Verbindungsunterbrechungen zu vermeiden. Weitere Informationen finden Sie unter Konfigurieren des Redis-Clients für die Verwendung von Microsoft Entra.
Konfigurieren des Redis-Clients für die Verwendung von Microsoft Entra
Wenn Sie in der Vergangenheit Zugriffstasten für die Authentifizierung verwendet haben, müssen Sie Ihren Clientworkflow aktualisieren, um die Authentifizierung mithilfe der Microsoft Entra-ID zu unterstützen. In diesem Abschnitt erfahren Sie, wie Sie mithilfe einer Microsoft Entra-ID eine Verbindung mit Azure Managed Redis herstellen.
Hinzufügen von Benutzern oder Systemprinzipal zu Ihrem Cache
Stellen Sie eine Verbindung mit Ihrem Cache im Azure-Portal her.
Wählen Sie im Menü "Ressource" die Option "Authentifizierung" aus.
Wählen Sie auf der Registerkarte "Microsoft Entra-Authentifizierung " den Befehl "Benutzer" oder "Dienstprinzipal " und dann +Mitglied auswählen.
Geben Sie den Namen des Benutzers ein, der das Programm ausführen soll. Wählen Sie den Benutzer aus, der in die Liste aufgenommen werden soll, und klicken Sie auf Auswählen. Der Benutzer wird der Liste der Redis-Benutzer hinzugefügt.
Microsoft Entra-Clientworkflow
Konfigurieren Sie Ihre Clientanwendung, um ein Microsoft Entra-Token für den Bereich
https://redis.azure.com/.defaultoderacca5fbb-b7e4-4009-81f1-37e38fd66d78/.defaultmithilfe der Microsoft Authentication Library (MSAL) abzurufen.Aktualisieren Sie Ihre Redis-Verbindungslogik, um die folgenden
UserundPasswordverwenden zu können:-
User= Objekt-ID Ihrer verwalteten Identität oder Ihres Dienstprinzipals -
Password= Microsoft Entra-Token, das Sie mithilfe von MSAL abgerufen haben
-
Stellen Sie sicher, dass Ihr Client automatisch einen Redis-Befehl
AUTHausführt, bevor Ihr Microsoft Entra-Token abläuft, indem Sie Folgendes verwenden:-
User= Objekt-ID Ihrer verwalteten Identität oder Ihres Dienstprinzipals -
Password= Microsoft Entra-Token wird regelmäßig aktualisiert
-
Best Practices für Microsoft Entra-Authentifizierung
- Konfigurieren Sie private Links oder Firewallregeln, um Ihren Cache vor einem Denial-of-Service-Angriff zu schützen.
- Stellen Sie sicher, dass Ihre Clientanwendung mindestens drei Minuten vor Ablauf des Tokens ein neues Microsoft Entra-Token sendet, um Verbindungsunterbrechungen zu vermeiden.
- Wenn Sie den Redis-Serverbefehl „
AUTH“ regelmäßig aufrufen, sollten Sie einen Jitter hinzufügen, damit dieAUTH-Befehle gestaffelt sind. Auf diese Weise empfängt Ihr Redis-Server nicht zu vieleAUTH-Befehle gleichzeitig.
Problembehandlung bei Microsoft Entra ID und Ihrem Cache
Wenn Ihre Anwendung nicht über die Microsoft Entra-ID auf die Azure Managed Redis-Instanz zugreifen kann, verwenden Sie dieses PowerShell-Skript:
Verwenden Sie dieses PowerShell-Skript, um Microsoft Entra-ID-Token für Azure Managed Redis Cache-Ressourcen zu überprüfen. Das Skript überprüft Token und überprüft Zugriffsrichtlinien, um Authentifizierungsprobleme zu diagnostizieren.
Wenn Sie Probleme mit der Verwendung der Microsoft Entra-ID zum Authentifizieren von Redis-Verbindungen haben, führen Sie dieses Skript aus, um Ihr Microsoft Entra-Token zu analysieren und Probleme zu identifizieren.
Unterstützung von Clientbibliotheken
Die Bibliothek Microsoft.Azure.StackExchangeRedis ist eine Erweiterung von StackExchange.Redis, mit der Sie Microsoft Entra verwenden können, um Verbindungen von einer Redis-Clientanwendung zu einer Azure Managed Redis-Instanz zu authentifizieren. Die Erweiterung verwaltet das Authentifizierungstoken, einschließlich proaktiver Aktualisierung von Token, bevor sie ablaufen, um persistente Redis-Verbindungen über mehrere Tage aufrechtzuerhalten.
In diesem Codebeispiel wird veranschaulicht, wie Sie das NuGet-Paket Microsoft.Azure.StackExchangeRedis verwenden, um mithilfe von Microsoft Entra eine Verbindung mit Ihrer Azure Managed Redis-Instanz herzustellen.
Die folgende Tabelle enthält Links zu Codebeispielen. Sie zeigen, wie Sie mithilfe eines Microsoft Entra-Tokens eine Verbindung mit Ihrer Azure Managed Redis-Instanz herstellen. Verschiedene Clientbibliotheken sind in mehreren Sprachen enthalten.
| Clientbibliothek | Language | Link zum Beispielcode |
|---|---|---|
| StackExchange.Redis | .NET | StackExchange.Redis-Codebeispiel |
| redis-py | Python | redis-py-Codebeispiel |
| Jedis | Java | Beispiel für Jedis-Code |
| Lettuce | Java | Beispiel für Lettuce-Code |
| node-redis | Node.js | node-redis-Codebeispiel |
| go-redis | Go | Go-Codebeispiel |
Deaktivieren der Authentifizierung per Zugriffsschlüssel im Cache
Wenn Sie über einen Cache mit Zugriffstasten verfügen, empfehlen wir, zur Microsoft Entra-ID zu wechseln, um eine sichere Methode zum Herstellen einer Verbindung zwischen Ihrem Cache und zum Deaktivieren von Zugriffstasten zu verwenden.
Wenn Sie Zugriffstasten deaktivieren, beendet das System alle vorhandenen Clientverbindungen, unabhängig davon, ob sie Zugriffstasten oder die Microsoft Entra ID-Authentifizierung verwenden.
Bevor Sie Zugriffsschlüssel für geo-replizierte Caches deaktivieren, müssen Sie:
- die Verknüpfung der Caches aufheben.
- Zugriffsschlüssel deaktivieren
- die Caches erneut verknüpfen.
Gehen Sie wie folgt vor, um Zugriffstasten zu deaktivieren:
Wählen Sie im Azure-Portal die Azure Managed Redis-Instanz aus, in der Sie Zugriffsschlüssel deaktivieren möchten.
Wählen Sie im Menü "Ressource " die Option "Authentifizierung" aus.
Wählen Sie im Arbeitsbereich Die Zugriffstasten aus.
Wählen Sie das Zugriffstastenauthentifizierungssteuerelement aus, um Zugriffstasten zu deaktivieren.
Vergewissern Sie sich, dass Sie Ihre Konfiguration aktualisieren möchten, indem Sie "Ja" auswählen.
Important
Wenn die Authentifizierungseinstellung für Zugriffstasten für einen Cache geändert wird, werden alle vorhandenen Clientverbindungen mit Zugriffstasten oder Microsoft Entra beendet. Befolgen Sie die bewährten Methoden, um geeignete Wiederholungsmechanismen für die erneute Verbindung von Verbindungen auf Grundlage von Microsoft Entra zu implementieren. Weitere Informationen finden Sie unter Verbindungsresilienz.