Udostępnij przez


Używanie identyfikatora Entra firmy Microsoft do uwierzytelniania w pamięci podręcznej za pomocą usługi Azure Managed Redis

Usługa Azure Managed Redis oferuje mechanizm uwierzytelniania bez hasła dzięki integracji z identyfikatorem Entra firmy Microsoft. Usługa Azure Managed Redis Cache domyślnie używa identyfikatora Entra firmy Microsoft. Gdy tworzysz nową pamięć podręczną, tożsamość zarządzana zostaje włączona.

Mimo że uwierzytelnianie za pomocą klucza dostępu jest nadal dostępne, wiąże się z szeregiem wyzwań związanych z zarządzaniem zabezpieczeniami i hasłami. Z kolei w tym artykule dowiesz się, jak używać tokenu Entra firmy Microsoft do uwierzytelniania w pamięci podręcznej.

Z tego artykułu dowiesz się, jak używać jednostki usługi lub tożsamości zarządzanej do nawiązywania połączenia z wystąpieniem usługi Redis.

Wymagania wstępne i ograniczenia

  • Uwierzytelnianie Microsoft Entra jest obsługiwane tylko w przypadku połączeń SSL.
  • Grupy Microsoft Entra nie są obsługiwane.
  • Niektóre polecenia Redis są zablokowane. Aby uzyskać pełną listę zablokowanych poleceń, zapoznaj się z artykułem Polecenia Redis nieobsługiwane w usłudze Azure Managed Redis.

Important

Po nawiązaniu połączenia przy użyciu tokenu Entra firmy Microsoft aplikacje klienckie muszą okresowo odświeżać token Microsoft Entra przed wygaśnięciem. Następnie aplikacje muszą wysłać AUTH polecenie do serwera Redis, aby uniknąć zakłócania połączeń. Aby uzyskać więcej informacji, zobacz Configure your Redis client to use Microsoft Entra (Konfigurowanie klienta usługi Redis do korzystania z usługi Microsoft Entra).

Konfigurowanie klienta usługi Redis do korzystania z usługi Microsoft Entra

Jeśli w przeszłości użyto kluczy dostępu do uwierzytelniania, musisz zaktualizować przepływ pracy klienta w celu obsługi uwierzytelniania przy użyciu identyfikatora Entra firmy Microsoft. W tej sekcji dowiesz się, jak nawiązać połączenie z usługą Azure Managed Redis przy użyciu identyfikatora Entra firmy Microsoft.

Dodaj użytkowników lub głównego urzędu systemowego do pamięci podręcznej.

  1. Połącz się z pamięcią podręczną w portalu Azure.

  2. W menu Zasób wybierz pozycję Uwierzytelnianie.

  3. Na karcie Microsoft Entra Authentication (Uwierzytelnianie Microsoft Entra) wybierz pozycję Użytkownik lub jednostka usługi, a następnie + Wybierz członka.

  4. Wpisz nazwę użytkownika, który chcesz uruchomić program. Wybierz użytkownika, który ma zostać dodany na liście, a następnie wybierz. Użytkownik zostanie dodany do listy użytkowników usługi Redis.

    Zrzut ekranu przedstawiający kartę uwierzytelniania w pamięci podręcznej Redis na portalu Azure.

Przepływ pracy klienta Firmy Microsoft Entra

  1. Skonfiguruj aplikację kliencką, aby uzyskać token Microsoft Entra dla zakresu https://redis.azure.com/.default lub acca5fbb-b7e4-4009-81f1-37e38fd66d78/.default, przy użyciu biblioteki Microsoft Authentication Library (MSAL).

  2. Zaktualizuj logikę połączenia usługi Redis, aby użyć następujących elementów User i Password:

    • User = identyfikator obiektu tożsamości zarządzanej lub głównego użytkownika usługi
    • Password = token Microsoft Entra uzyskany przy użyciu MSAL
  3. Upewnij się, że klient automatycznie wykonuje polecenie Redis AUTH przed wygaśnięciem tokenu usługi Microsoft Entra przy użyciu polecenia:

    • User = identyfikator obiektu tożsamości zarządzanej lub głównego użytkownika usługi
    • Password = Token Entra firmy Microsoft odświeżany okresowo

Najlepsze rozwiązania dotyczące uwierzytelniania w usłudze Microsoft Entra

  • Skonfiguruj łącza prywatne lub reguły zapory, aby zabezpieczyć pamięć podręczną przed atakiem odmowy usługi.
  • Upewnij się, że aplikacja kliencka wysyła nowy token firmy Microsoft Entra co najmniej trzy minuty przed wygaśnięciem tokenu, aby uniknąć zakłóceń połączenia.
  • W przypadku okresowego wywoływania polecenia serwera AUTH Redis rozważ dodanie zakłócenia, aby polecenia AUTH zostały rozłożone. W ten sposób serwer Redis nie otrzymuje jednocześnie zbyt wielu AUTH poleceń.

Rozwiązywanie problemów z Microsoft Entra ID i pamięcią podręczną systemu

Jeśli aplikacja nie może uzyskać dostępu do wystąpienia usługi Azure Managed Redis za pośrednictwem identyfikatora Entra firmy Microsoft, użyj tego skryptu programu PowerShell:

EntraTokenValidation

Użyj tego skryptu programu PowerShell do weryfikacji tokenów Microsoft Entra ID dla zasobów Azure Managed Redis Cache. Skrypt weryfikuje tokeny i weryfikuje zasady dostępu, aby ułatwić diagnozowanie problemów z uwierzytelnianiem.

Jeśli masz problem z używaniem identyfikatora Entra firmy Microsoft do uwierzytelniania połączeń usługi Redis, uruchom ten skrypt, aby przeanalizować token firmy Microsoft Entra i zidentyfikować wszelkie problemy.

Obsługa biblioteki klienta

Biblioteka Microsoft.Azure.StackExchangeRedis jest rozszerzeniem StackExchange.Redis, które umożliwia używanie Microsoft Entra do uwierzytelniania połączeń z aplikacji klienckiej Redis do usługi Azure Managed Redis. Rozszerzenie zarządza tokenem uwierzytelniania, w tym proaktywne odświeżanie tokenów przed ich wygaśnięciem w celu utrzymania trwałych połączeń usługi Redis w ciągu wielu dni.

W tym przykładzie kodu pokazano, jak używać Microsoft.Azure.StackExchangeRedis pakietu NuGet do nawiązywania połączenia z wystąpieniem usługi Azure Managed Redis przy użyciu usługi Microsoft Entra.

Poniższa tabela zawiera linki do przykładów kodu. Pokazują one, jak nawiązać połączenie z wystąpieniem usługi Azure Managed Redis przy użyciu tokenu Microsoft Entra. Różne biblioteki klienckie są zawarte w wielu językach.

Biblioteka kliencka Język Link do przykładowego kodu
StackExchange.Redis .NET Przykład kodu StackExchange.Redis
redis-py Python Przykład kodu redis-py
Jedis Java Przykładowy kod usługi Jedis
Lettuce Java Przykładowy kod Lettuce
node-redis Node.js przykładowy kod node-redis
go-redis Go przykład kodu go

Wyłączanie uwierzytelniania klucza dostępu w pamięci podręcznej

Jeśli masz pamięć podręczną przy użyciu kluczy dostępu, zalecamy przełączenie się na identyfikator Entra firmy Microsoft jako bezpieczny sposób łączenia pamięci podręcznej i wyłączania kluczy dostępu.

Po wyłączeniu kluczy dostępu system przerywa wszystkie istniejące połączenia klienckie niezależnie od tego, czy używają kluczy dostępu, czy uwierzytelniania identyfikatora Entra firmy Microsoft.

Przed wyłączeniem kluczy dostępu w buforach replikowanych geograficznie należy:

  1. Odłącz pamięci podręczne.
  2. Wyłączanie kluczy dostępu.
  3. Ponownie połącz pamięci podręczne.

Aby wyłączyć klucze dostępu, wykonaj następującą procedurę:

  1. W witrynie Azure Portal wybierz wystąpienie usługi Azure Managed Redis, w którym chcesz wyłączyć klucze dostępu.

  2. W menu Zasób wybierz pozycję Uwierzytelnianie.

  3. W okienku roboczym wybierz pozycję Klucze dostępu.

  4. Wybierz kontrolę uwierzytelniania kluczy dostępu , aby wyłączyć klucze dostępu.

  5. Upewnij się, że chcesz zaktualizować konfigurację, wybierając pozycję Tak.

    Important

    Po zmianie ustawienia uwierzytelniania kluczy dostępu dla pamięci podręcznej wszystkie istniejące połączenia klientów, które używają kluczy dostępu lub Microsoft Entra, zostaną zakończone. Postępuj zgodnie z najlepszymi rozwiązaniami, aby zaimplementować odpowiednie mechanizmy ponawiania prób na potrzeby ponownego łączenia połączeń opartych na usłudze Microsoft Entra. Aby uzyskać więcej informacji, zobacz Odporność połączenia.