Freigeben über


Verwenden von Microsoft Entra für die Cacheauthentifizierung mit Azure Managed Redis (Vorschau)

Azure Managed Redis (Vorschau) bietet zwei Methoden zur Authentifizierung bei Ihrer Cache-Instanz: Zugangsschlüssel und Microsoft Entra.

Obwohl die Authentifizierung mit Zugriffsschlüsseln einfach ist, birgt sie eine Reihe von Herausforderungen in Bezug auf die Sicherheit und Kennwortverwaltung. In diesem Artikel erfahren Sie, wie Sie ein Microsoft Entra-Token für die Cacheauthentifizierung verwenden.

Azure Managed Redis bietet einen kennwortlosen Authentifizierungsmechanismus durch Integration in Microsoft Entra. Die Entra-ID, die für die Verbindung mit Azure Managed Redis konfiguriert ist, erhält die gleichen Berechtigungen zugewiesen wie bei der Verwendung von Zugriffsschlüsseln.

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

Wichtig

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.

Aktivieren der Microsoft Entra-Authentifizierung in Ihrem Cache

  1. Wählen Sie im Azure-Portal die Azure Managed Redis-Instanz aus, für die Sie die tokenbasierte Microsoft Entra-Authentifizierung konfigurieren möchten.

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

  3. Wählen Sie im Arbeitsbereich die Registerkarte Microsoft Entra-Authentifizierung aus.

  4. Wählen Sie Microsoft Entra-Authentifizierung aktivieren und dann die Schaltflächen „Benutzer oder Dienstprinzipal“ oder „Verwaltete Identität“ aus. Dem von Ihnen eingegebenen Benutzer werden automatisch dieselben Berechtigungen zugewiesen wie bei der Verwendung von Zugriffsschlüsseln, wenn Sie Auswählen. Sie können auch eine verwaltete Identität oder einen Dienstprinzipal eingeben, um eine Verbindung mit Ihrer AMR-Instanz herzustellen.

    Screenshot der im Ressourcenmenü ausgewählten Authentifizierung und des Kontrollkästchens „Microsoft Entra-Authentifizierung aktivieren“.

Informationen zur Verwendung von Microsoft Entra mit der Azure CLI finden Sie auf den Referenzseiten zur Identität.

Deaktivieren der Authentifizierung per Zugriffsschlüssel im Cache

Die Verwendung von Microsoft Entra stellt eine sichere Möglichkeit für eine Verbindung mit Ihrem Cache dar. Es wird empfohlen, Microsoft Entra zu verwenden und Zugriffsschlüssel zu deaktivieren.

Wenn Sie die Authentifizierung mit Zugriffsschlüssel für eine Redis-Instanz deaktivieren, werden alle vorhandenen Clientverbindungen getrennt, unabhängig davon, ob sie Zugriffsschlüssel oder die Microsoft Entra-Authentifizierung verwenden. Befolgen Sie die empfohlenen bewährten Methoden des Redis-Clients, um bei Bedarf geeignete Wiederholungsmechanismen für die erneute Verbindung von Microsoft Entra-basierten Verbindungen zu implementieren (sofern vorhanden).

Bevor Sie Zugriffsschlüssel deaktivieren:

  • Die Microsoft Entra-Authentifizierung muss aktiviert sein.

  • Für geo-replizierte Caches müssen Sie:

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

Wenn Sie über einen Cache verfügen, in dem Sie Zugriffsschlüssel verwenden, und Sie Zugriffsschlüssel deaktivieren möchten, gehen Sie wie folgt vor:

  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 Zugriffsschlüssel aus.

  4. Konfigurieren Sie die Zugriffsschlüsselauthentifizierung für die Deaktivierung.

    Screenshot der Zugriffsschlüssel im Arbeitsbereich mit dem Kontrollkästchen „Authentifizierung per Zugriffsschlüssel deaktivieren“.

  5. Bestätigen Sie, dass Sie Ihre Konfiguration aktualisieren möchten, indem Sie Ja auswählen.

Wichtig

Wenn die Einstellung Authentifizierung per Zugriffsschlüssel deaktivieren für einen Cache geändert wird, werden alle vorhandenen Clientverbindungen (mit Zugriffsschlüsseln oder Microsoft Entra) getrennt. 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.

Konfigurieren des Redis-Clients für die Verwendung von Microsoft Entra

Da die meisten Azure Managed-Clients davon ausgehen, dass ein Kennwort und ein Zugriffsschlüssel für die Authentifizierung verwendet werden, müssen Sie wahrscheinlich Ihren Clientworkflow aktualisieren, um die Authentifizierung mit Microsoft Entra zu unterstützen. In diesem Abschnitt erfahren Sie, wie Sie Ihre Clientanwendungen konfigurieren, um mithilfe eines Microsoft Entra-Tokens eine Verbindung mit Azure Managed Redis herzustellen.

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 einen Redis AUTH-Befehl automatisch 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

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 Sprache Link zu 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
Redisson Java Beispiel für Redisson-Code
ioredis Node.js Beispiel für ioredis-Code
node-redis Node.js node-redis-Codebeispiel

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.