Uwierzytelnianie w usłudze Azure Key Vault

Uwierzytelnianie za pomocą usługi Key Vault działa w połączeniu z identyfikatorem Entra firmy Microsoft, który jest odpowiedzialny za uwierzytelnianie tożsamości dowolnego 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.

    Aby uzyskać więcej informacji, zobacz Omówienie tożsamości zarządzanej. Zobacz również usługi platformy Azure obsługujące tożsamość zarządzaną, które zawierają linki do artykułów opisujących sposób włączania tożsamości zarządzanej dla określonych usług (takich jak App Service, Azure Functions, Virtual Machines itp.).

  • 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.

Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do usługi Azure Key Vault za zaporą.

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.

Na poniższym diagramie przedstawiono proces aplikacji wywołującej interfejs API "Get Secret" usługi Key Vault:

The Azure Key Vault authentication flow

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. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie, żądania i odpowiedzi

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

Więcej informacji na temat najlepszych rozwiązań i przykładów dla deweloperów znajduje się w temacie Uwierzytelnianie w usłudze Key Vault w kodzie

Następne kroki