Uwierzytelnianie w usłudze Azure Key Vault

Ukończone

Uwierzytelnianie usługi Key Vault działa w połączeniu z usługą Microsoft Entra ID, która umożliwia uwierzytelnianie tożsamości każdego podmiotu zabezpieczeń.

Podmiot zabezpieczeń to obiekt reprezentujący użytkownika, grupę, usługę lub aplikację żądającą dostępu do zasobów platformy Azure. Platforma Azure przypisuje unikatowy identyfikator obiektu do każdego podmiotu zabezpieczeń.

  • Podmiot zabezpieczeń użytkownika identyfikuje osobę, która ma profil w identyfikatorze Entra firmy Microsoft.
  • Podmiot zabezpieczeń grupy identyfikuje zestaw użytkowników utworzonych w identyfikatorze Entra firmy Microsoft. Wszystkie role lub uprawnienia przypisane do grupy są przyznawane wszystkim użytkownikom w grupie.
  • Jednostka usługi jest typem podmiotu zabezpieczeń, który identyfikuje aplikację lub usługę, czyli fragment kodu, a nie użytkownika lub grupy. Identyfikator obiektu jednostki usługi działa jak jego nazwa użytkownika; wpis tajny klienta jednostki usługi działa jak jego hasło.

W przypadku aplikacji istnieją dwa sposoby uzyskiwania jednostki usługi:

  • Zalecane: włącz tożsamość zarządzaną przypisaną przez system dla aplikacji. Dzięki tożsamości zarządzanej platforma Azure wewnętrznie zarządza jednostką usługi aplikacji i automatycznie uwierzytelnia aplikację przy użyciu innych usług platformy Azure. Tożsamość zarządzana jest dostępna dla aplikacji wdrożonych w różnych usługach.
  • Jeśli nie możesz używać tożsamości zarządzanej, zamiast tego zarejestruj aplikację w dzierżawie firmy Microsoft Entra zgodnie z opisem w przewodniku Szybki start: rejestrowanie aplikacji za pomocą platformy tożsamości platformy Azure. Rejestracja tworzy również drugi obiekt aplikacji, który identyfikuje aplikację we wszystkich dzierżawach.

Konfigurowanie zapory usługi Key Vault

Domyślnie usługa Key Vault zezwala na dostęp do zasobów za pośrednictwem publicznych adresów IP. W celu zwiększenia bezpieczeństwa można również ograniczyć dostęp do określonych zakresów adresów IP, punktów końcowych usługi, sieci wirtualnych lub prywatnych punktów końcowych.

Przepływ operacji żądania usługi Key Vault z uwierzytelnianiem

Uwierzytelnianie usługi Key Vault odbywa się w ramach każdej operacji żądania w usłudze Key Vault. Po pobraniu tokenu można go ponownie użyć do kolejnych wywołań. Przykład przepływu uwierzytelniania:

  1. Żądanie tokenu do uwierzytelnienia za pomocą identyfikatora Entra firmy Microsoft, na przykład:

    • Zasób platformy Azure, taki jak maszyna wirtualna lub aplikacja usługi App Service z tożsamością zarządzaną, kontaktuje się z punktem końcowym REST w celu uzyskania tokenu dostępu.
    • Użytkownik loguje się do witryny Azure Portal przy użyciu nazwy użytkownika i hasła.
  2. Jeśli uwierzytelnianie przy użyciu identyfikatora Entra firmy Microsoft zakończy się pomyślnie, podmiot zabezpieczeń otrzymuje token OAuth.

  3. Wywołanie interfejsu API REST usługi Key Vault za pośrednictwem punktu końcowego usługi Key Vault (URI).

  4. Zapora usługi Key Vault sprawdza następujące kryteria. Jeśli jakiekolwiek kryterium zostanie spełnione, wywołanie jest dozwolone. W przeciwnym razie wywołanie zostanie zablokowane i zostanie zwrócona niedozwolona odpowiedź.

    • Zapora jest wyłączona, a publiczny punkt końcowy usługi Key Vault jest dostępny z publicznego Internetu.
    • Obiekt wywołujący jest zaufaną usługą usługi Key Vault, umożliwiając jej obejście zapory.
    • Obiekt wywołujący znajduje się na liście w zaporze według adresu IP, sieci wirtualnej lub punktu końcowego usługi.
    • Obiekt wywołujący może nawiązać połączenie z usługą Key Vault za pośrednictwem skonfigurowanego połączenia łącza prywatnego.
  5. Jeśli zapora zezwala na wywołanie, usługa Key Vault wywołuje identyfikator Firmy Microsoft Entra w celu zweryfikowania tokenu dostępu podmiotu zabezpieczeń.

  6. Usługa Key Vault sprawdza, czy podmiot zabezpieczeń ma niezbędne uprawnienia do żądanej operacji. Jeśli tak nie jest, usługa Key Vault zwraca niedozwoloną odpowiedź.

  7. Usługa Key Vault wykonuje żądaną operację i zwraca wynik.

Diagram przedstawiający przykład procesu dla aplikacji wywołującej wywołanie interfejsu programowania aplikacji Get Secret usługi Key Vault.

Uwaga

Klienci zestawu SDK usługi Key Vault dla wpisów tajnych, certyfikatów i kluczy tworzą dodatkowe wywołanie usługi Key Vault bez tokenu dostępu, co powoduje odpowiedź 401 na pobieranie informacji o dzierżawie.

Uwierzytelnianie w usłudze Key Vault w kodzie aplikacji

Zestaw SDK usługi Key Vault korzysta z biblioteki klienta tożsamości platformy Azure, która umożliwia bezproblemowe uwierzytelnianie w usłudze Key Vault w środowiskach z tym samym kodem

Biblioteki klienta tożsamości platformy Azure

.NET Python Java JavaScript
Zestaw AZURE Identity SDK platformy .NET Zestaw Sdk tożsamości platformy Azure dla języka Python Azure Identity SDK Java JavaScript zestawu Sdk tożsamości platformy Azure