Teilen über


Verwenden der Microsoft Entra-ID für die Cacheauthentifizierung mit Azure Managed Redis

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

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

  1. Stellen Sie eine Verbindung mit Ihrem Cache im Azure-Portal her.

  2. Wählen Sie im Menü "Ressource" die Option "Authentifizierung" aus.

  3. Wählen Sie auf der Registerkarte "Microsoft Entra-Authentifizierung " den Befehl "Benutzer" oder "Dienstprinzipal " und dann +Mitglied auswählen.

  4. 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.

    Screenshot der Registerkarte

Microsoft Entra-Clientworkflow

  1. Konfigurieren Sie Ihre Clientanwendung, um ein Microsoft Entra-Token für den Bereich https://redis.azure.com/.default oder acca5fbb-b7e4-4009-81f1-37e38fd66d78/.default mithilfe der Microsoft Authentication Library (MSAL) abzurufen.

  2. Aktualisieren Sie Ihre Redis-Verbindungslogik, um die folgenden User und Password verwenden zu können:

    • User = Objekt-ID Ihrer verwalteten Identität oder Ihres Dienstprinzipals
    • Password = Microsoft Entra-Token, das Sie mithilfe von MSAL abgerufen haben
  3. Stellen Sie sicher, dass Ihr Client automatisch einen Redis-BefehlAUTH ausfü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 die AUTH-Befehle gestaffelt sind. Auf diese Weise empfängt Ihr Redis-Server nicht zu viele AUTH-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:

EntraTokenValidation

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:

  1. die Verknüpfung der Caches aufheben.
  2. Zugriffsschlüssel deaktivieren
  3. die Caches erneut verknüpfen.

Gehen Sie wie folgt vor, um Zugriffstasten zu deaktivieren:

  1. Wählen Sie im Azure-Portal die Azure Managed Redis-Instanz aus, in der Sie Zugriffsschlüssel deaktivieren möchten.

  2. Wählen Sie im Menü "Ressource " die Option "Authentifizierung" aus.

  3. Wählen Sie im Arbeitsbereich Die Zugriffstasten aus.

  4. Wählen Sie das Zugriffstastenauthentifizierungssteuerelement aus, um Zugriffstasten zu deaktivieren.

  5. 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.