Korzystanie z usługi Microsoft Entra do uwierzytelniania w pamięci podręcznej za pomocą usługi Azure Managed Redis (wersja zapoznawcza)
Usługa Azure Managed Redis (wersja zapoznawcza) oferuje dwie metody uwierzytelniania w wystąpieniu pamięci podręcznej: klucze dostępu i Microsoft Entra.
Chociaż uwierzytelnianie za pomocą klucza dostępu jest proste, 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 Microsoft Entra do uwierzytelniania w pamięci podręcznej.
Usługa Azure Managed Redis oferuje mechanizm uwierzytelniania bez hasła dzięki integracji z Microsoft Entra. Identyfikator Entra skonfigurowany do nawiązywania połączenia z usługą Azure Managed Redis ma przypisane te same uprawnienia co w przypadku używania kluczy dostępu.
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.
- Niektóre polecenia usługi 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.
Ważne
Po nawiązaniu połączenia przy użyciu tokenu Microsoft Entra 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, zapoznaj się z artykułem Konfigurowanie klienta usługi Redis do korzystania z usługi Microsoft Entra).
Włączanie uwierzytelniania w usłudze Microsoft Entra w pamięci podręcznej
W witrynie Azure Portal wybierz wystąpienie usługi Azure Managed Redis, w którym chcesz skonfigurować uwierzytelnianie oparte na tokenach Microsoft Entra.
W menu Zasób wybierz pozycję Uwierzytelnianie.
W okienku roboczym wybierz kartę Uwierzytelnianie Microsoft Entra.
Wybierz pozycję Włącz uwierzytelnianie Microsoft Entra i wybierz przyciski „Użytkownik lub jednostka usługi” lub „Tożsamość zarządzana”. Wprowadzony użytkownik ma automatycznie przypisane te same uprawnienia co podczas korzystania z kluczy dostępu podczas wybierania. Możesz również wprowadzić tożsamość zarządzaną lub jednostkę usługi, aby nawiązać połączenie z wystąpieniem usługi AMR.
Aby uzyskać informacje na temat korzystania z usługi Microsoft Entra z interfejsem wiersza polecenia platformy Azure, zapoznaj się z artykułem strony referencyjne dotyczące tożsamości.
Wyłączanie uwierzytelniania klucza dostępu w pamięci podręcznej
Korzystanie z usługi Microsoft Entra to bezpieczny sposób łączenia pamięci podręcznej. Zalecamy używanie usługi Microsoft Entra i wyłączanie kluczy dostępu.
Po wyłączeniu uwierzytelniania za pomocą klucza dostępu dla wystąpienia usługi Redis wszystkie istniejące połączenia klienckie są przerywane niezależnie od tego, czy używają kluczy dostępu, czy uwierzytelniania Microsoft Entra. Postępuj zgodnie z zalecanymi najlepszymi rozwiązaniami dotyczącymi klienta Redis, aby zaimplementować odpowiednie mechanizmy ponawiania prób na potrzeby ponownego łączenia połączeń opartych na usłudze Microsoft Entra, jeśli istnieją.
Przed wyłączeniem kluczy dostępu:
Należy włączyć uwierzytelnianie Microsoft Entra.
W przypadku pamięci podręcznych replikowanych geograficznie należy:
- Odłącz pamięć podręczną.
- Wyłączanie kluczy dostępu.
- Połącz ponownie pamięci podręczne.
Jeśli masz pamięć podręczną, w której używasz kluczy dostępu i chcesz wyłączyć klucze dostępu, wykonaj następującą procedurę:
W witrynie Azure Portal wybierz wystąpienie usługi Azure Managed Redis, w którym chcesz wyłączyć klucze dostępu.
W menu Zasób wybierz pozycję Uwierzytelnianie.
W okienku roboczym wybierz pozycję Klucze dostępu.
Skonfiguruj uwierzytelnianie kluczy dostępu, aby było wyłączone.
Upewnij się, że chcesz zaktualizować konfigurację, wybierając pozycję Tak.
Ważne
Po zmianie ustawienia Wyłącz uwierzytelnianie kluczy dostępu dla pamięci podręcznej wszystkie istniejące połączenia klienta przy użyciu kluczy dostępu lub usługi 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.
Konfigurowanie klienta Redis do używania loginu w usłudze Microsoft Entra
Ponieważ większość klientów usługi Azure Managed Redis zakłada, że hasło i klucz dostępu są używane do uwierzytelniania, prawdopodobnie trzeba zaktualizować przepływ pracy klienta w celu obsługi uwierzytelniania przy użyciu usługi Microsoft Entra. W tej sekcji dowiesz się, jak skonfigurować aplikacje klienckie w celu nawiązania połączenia z usługą Azure Managed Redis przy użyciu tokenu Microsoft Entra.
Przepływ pracy klienta Microsoft Entra
Skonfiguruj aplikację kliencką, aby uzyskać token Microsoft Entra dla zakresu
https://redis.azure.com/.default
lubacca5fbb-b7e4-4009-81f1-37e38fd66d78/.default
, przy użyciu biblioteki Microsoft Authentication Library (MSAL).Zaktualizuj logikę połączenia usługi Redis, aby użyć następujących elementów
User
iPassword
:-
User
= identyfikator obiektu tożsamości zarządzanej lub jednostki usługi -
Password
= token Microsoft Entra uzyskany przy użyciu biblioteki MSAL
-
Upewnij się, że klient automatycznie wykonuje polecenie AUTH usługi Redis przed wygaśnięciem tokenu Microsoft Entra przy użyciu polecenia:
-
User
= identyfikator obiektu tożsamości zarządzanej lub jednostki usługi -
Password
= Token Microsoft Entra odświeżany okresowo
-
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 | Łącze 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 |
Redisson | Java | Przykładowy kod Redisson |
ioredis | Node.js | Przykład kodu ioredis |
node-redis | Node.js | Przykładowy kod node-redis |
Najlepsze rozwiązania dotyczące uwierzytelniania w usłudze Microsoft Entra
- Skonfiguruj łącza prywatne lub reguły zapory, aby chronić pamięć podręczną przed atakiem typu „odmowa usługi”.
- Upewnij się, że aplikacja kliencka wysyła nowy token 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 poleceniaAUTH
zostały rozłożone. W ten sposób serwer Redis nie otrzymuje jednocześnie zbyt wielu poleceńAUTH
.