Udostępnij za pomocą


Użyj Microsoft Entra do uwierzytelniania pamięci podręcznej

Important

Usługa Azure Cache for Redis ogłosiła harmonogram wycofania wszystkich SKU. Zalecamy przeniesienie istniejących wystąpień usługi Azure Cache for Redis do usługi Azure Managed Redis tak szybko, jak to możliwe.

Aby uzyskać więcej informacji na temat przejścia na emeryturę:

Usługa Azure Cache for Redis 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 Entra firmy Microsoft do uwierzytelniania w pamięci podręcznej.

Usługa Azure Cache for Redis oferuje mechanizm uwierzytelniania bez hasła dzięki integracji z firmą Microsoft Entra. Ta integracja obejmuje również funkcje kontroli dostępu opartej na rolach udostępniane za pośrednictwem list kontroli dostępu (ACL) obsługiwanych w usłudze Redis typu open source.

Aby korzystać z integracji ACL, aplikacja kliencka musi przyjąć tożsamość podmiotu Microsoft Entra, takiego jak główna aplikacja usługi lub tożsamość zarządzana, i połączyć się z Twoim cache. W tym artykule dowiesz się, jak połączyć się z pamięcią podręczną przy użyciu zasady usługi lub tożsamości zarządzanej. Dowiesz się również, jak udzielić wstępnie zdefiniowanych uprawnień połączenia na podstawie artefaktu Entra firmy Microsoft używanego na potrzeby połączenia.

Zakres dostępności

Tier Podstawowa, Standardowa i Premium Enterprise, Enterprise Flash
Availability Yes No

Wymagania wstępne i ograniczenia

  • Uwierzytelnianie entra firmy Microsoft jest obsługiwane w przypadku połączeń SSL i protokołu TLS 1.2 lub nowszego.
  • Uwierzytelnianie Microsoft Entra nie jest obsługiwane w warstwach Enterprise usługi Redis Enterprise w Azure Cache.
  • Grupy entra firmy Microsoft nie są obsługiwane.
  • Niektóre polecenia Redis są zablokowane. Aby uzyskać pełną listę zablokowanych poleceń, zobacz Polecenia redis nieobsługiwane w usłudze Azure Cache for 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).

Włącz uwierzytelnianie w usłudze Microsoft Entra na twojej pamięci podręcznej

  1. W Portalu Azure wybierz wystąpienie usługi Azure Cache for Redis, w którym chcesz skonfigurować uwierzytelnianie oparte na tokenach Microsoft Entra.

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

  3. W okienku roboczym wybierz kartę Microsoft Entra Authentication.

  4. Wybierz pozycję Włącz uwierzytelnianie firmy Microsoft Entra i wprowadź nazwę prawidłowego użytkownika. Wprowadzony użytkownik jest automatycznie przypisywany zasad dostępu właściciela danych domyślnie po wybraniu pozycji Zapisz. Możesz również wprowadzić tożsamość zarządzaną lub jednostkę usługi, aby nawiązać połączenie z wystąpieniem pamięci podręcznej.

    Zrzut ekranu przedstawiający uwierzytelnianie wybrane w menu zasobów i pole wyboru Włącz uwierzytelnianie Microsoft Entra.

  5. Na ekranie pojawia się komunikat, który pyta, czy chcesz zaktualizować swoją konfigurację, i informuje, że zajmie to kilka minut. Wybierz pozycję Tak.

    Important

    Po zakończeniu operacji włączania, węzły w twoim instancji pamięci podręcznej są ponownie uruchamiane, aby załadować nową konfigurację. Zalecamy wykonanie tej operacji w oknie obsługi lub poza godzinami pracy szczytu. Operacja może potrwać do 30 minut.

Aby uzyskać informacje na temat korzystania z usługi Microsoft Entra z interfejsem wiersza polecenia platformy Azure, zobacz 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 pamięci podręcznej wszystkie istniejące połączenia klienckie zostaną przerwane niezależnie od tego, czy używają kluczy dostępu, czy uwierzytelniania firmy 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

  • Upewnij się, że włączono uwierzytelnianie firmy Microsoft Entra i skonfigurowano co najmniej jednego użytkownika usługi Redis.
  • Upewnij się, że wszystkie aplikacje łączące się z wystąpieniem pamięci podręcznej zaczną korzystać z uwierzytelniania Microsoft Entra.
  • Upewnij się, że metryki Połączone klienci i Klienci połączeni przy użyciu tokenu firmy Microsoft mają te same wartości. Jeśli wartości tych dwóch metryk nie są takie same, oznacza to, że nadal istnieją pewne połączenia, które zostały utworzone przy użyciu kluczy dostępu, a nie Token entra firmy Microsoft.
  • Rozważ wyłączenie dostępu podczas zaplanowanego okna serwisowego dla wystąpienia pamięci podręcznej.
  • Wyłączenie kluczy dostępu jest dostępne tylko dla pamięci podręcznych w warstwie Podstawowa, Standardowa i Premium.

W przypadku pamięci podręcznych 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.

Jeśli masz pamięć podręczną, w której użyto kluczy dostępu i chcesz wyłączyć klucze dostępu, wykonaj następującą procedurę:

  1. W witrynie Azure Portal wybierz wystąpienie usługi Azure Cache for 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 pozycję Wyłącz uwierzytelnianie kluczy dostępu. Następnie wybierz pozycję Zapisz.

    Zrzut ekranu przedstawiający klucze dostępu w okienku roboczym z polem wyboru Wyłącz uwierzytelnianie kluczy dostępu.

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

Important

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.

Użyj konfiguracji dostępu do danych z pamięcią podręczną

Jeśli chcesz użyć niestandardowych zasad dostępu zamiast zasad dostępu właściciela danych Redis, przejdź do Konfiguracja dostępu do danych w menu Zasób. Aby uzyskać więcej informacji, zobacz Konfigurowanie niestandardowych zasad dostępu do danych dla aplikacji.

  1. W portalu Azure wybierz wystąpienie usługi Azure Cache for Redis, do którego chcesz dodać konfigurację dostępu do danych.

  2. W menu Zasób wybierz pozycję Konfiguracja dostępu do danych.

  3. Wybierz pozycję Dodaj , a następnie wybierz pozycję Nowy użytkownik usługi Redis.

  4. Na karcie Zasady dostępu wybierz jedną z dostępnych zasad w tabeli: Właściciel danych, Współautor danych lub Czytelnik danych. Następnie wybierz pozycję Dalej: Użytkownicy usługi Redis.

    Zrzut ekranu przedstawiający dostępne zasady dostępu.

  5. Wybierz opcję Użytkownik lub jednostka usługi albo Tożsamość zarządzana, aby określić sposób przypisywania dostępu do wystąpienia usługi Azure Cache for Redis. Jeśli wybierzesz pozycję Użytkownik lub jednostka usługi i chcesz dodać użytkownika, musisz najpierw włączyć uwierzytelnianie firmy Microsoft Entra.

  6. Następnie wybierz pozycję Wybierz członków i wybierz pozycję Wybierz. Następnie wybierz pozycję Dalej: Przejrzyj i przypisz.

    Zrzut ekranu przedstawiający członków do dodania jako nowych użytkowników usługi Redis.

  7. Okno dialogowe wyskakujące informuje o tym, że uaktualnienie jest trwałe i może spowodować krótki blip połączenia. Wybierz pozycję Tak.

    Important

    Po zakończeniu operacji włączania, węzły w twoim instancji pamięci podręcznej są ponownie uruchamiane, aby załadować nową konfigurację. Zalecamy wykonanie tej operacji w oknie obsługi lub poza godzinami pracy szczytu. Operacja może potrwać do 30 minut.

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

Ponieważ większość klientów usługi Azure Cache for 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 pod kątem nawiązywania połączenia z usługą Azure Cache for Redis przy użyciu tokenu firmy Microsoft Entra.

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, korzystając z 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 AUTH usługi Redis przed wygaśnięciem tokenu entra firmy Microsoft 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

Obsługa biblioteki klienta

Biblioteka Microsoft.Azure.StackExchangeRedis jest rozszerzeniem StackExchange.Redis , które umożliwia używanie firmy Microsoft Entra do uwierzytelniania połączeń z aplikacji klienckiej Redis do usługi Azure Cache for 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.

Przykład kodu pokazuje, jak używać pakietu NuGet do połączenia z instancją Azure Cache dla Redis przy użyciu Microsoft Entra.

Poniższa tabela zawiera linki do przykładów kodu. Pokazują, jak połączyć się z wystąpieniem Azure Cache for 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

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 losowego opóźnienia, aby AUTH polecenia zostały rozłożone. W ten sposób serwer Redis nie otrzymuje jednocześnie zbyt wielu AUTH poleceń.