Udostępnij za pośrednictwem


Co to są tożsamości zarządzane dla zasobów platformy Azure?

Częstym wyzwaniem dla deweloperów jest zarządzanie wpisami tajnymi, poświadczeniami, certyfikatami i kluczami używanymi do zabezpieczania komunikacji między usługami. Ręczna obsługa wpisów tajnych i certyfikatów to znane źródło problemów z zabezpieczeniami i awarii. Zarządzane tożsamości eliminują potrzebę, aby deweloperzy zarządzali tymi poświadczeniami. Aplikacje mogą używać zarządzanych tożsamości do uzyskiwania tokenów Microsoft Entra bez konieczności zarządzania jakimikolwiek poświadczeniami.

Co to są tożsamości zarządzane?

Na ogólnym poziomie istnieją dwa typy tożsamości: ludzkie i maszynowe/nieludzkie tożsamości. Tożsamości maszynowe/inne niż ludzkie składają się z tożsamości urządzeń i obciążeń. W Microsoft Entra, tożsamości obciążeń to aplikacje, zasady dostępu do usług i tożsamości zarządzane. Aby uzyskać więcej informacji na temat tożsamości obciążeń, zobacz tożsamości obciążeń.

Tożsamość zarządzana to tożsamość, którą można przypisać do zasobu obliczeniowego platformy Azure (maszyny wirtualnej), zestawu skalowania maszyn wirtualnych (VMSS), klastra usługi Service Fabric, klastra usługi Azure Kubernetes) lub dowolnej platformy hostingu aplikacji obsługiwanej przez platformę Azure. Po przypisaniu tożsamości zarządzanej do zasobu komputerowego, można ją autoryzować bezpośrednio lub pośrednio do uzyskania dostępu do zasobów zależnych, takich jak konto magazynowe, baza danych SQL, CosmosDB itd. Tożsamość zarządzana zastępuje wpisy tajne, takie jak klucze dostępu lub hasła. Ponadto tożsamości zarządzane mogą zastępować certyfikaty lub inne formy uwierzytelniania dla zależności między usługami.

W poniższym filmie wideo pokazano, jak można używać tożsamości zarządzanych:

Oto niektóre korzyści płynące z używania tożsamości zarządzanych:

  • Nie potrzebujesz zarządzać poświadczeniami. Poświadczenia nie są nawet dostępne dla Ciebie.
  • Za pomocą tożsamości zarządzanych można uwierzytelniać się w dowolnym zasobie, który obsługuje uwierzytelnianie firmy Microsoft Entra, w tym własne aplikacje.
  • Tożsamości zarządzane mogą być używane bez dodatkowych kosztów.

Typy zarządzanej tożsamości

Istnieją dwa typy tożsamości zarządzanych:

  • Przypisane przez system. Niektóre zasoby platformy Azure, takie jak maszyny wirtualne, umożliwiają włączenie tożsamości zarządzanej bezpośrednio w zasobie. Po włączeniu tożsamości zarządzanej przypisanej przez system:

    • Główny składnik usługi specjalistycznego typu jest tworzony w Microsoft Entra ID dla tożsamości. Zasada usługi jest powiązana z cyklem życia tego zasobu platformy Azure. Po usunięciu zasobu platformy Azure, Azure automatycznie usuwa uprawnienia usługi.
    • Zgodnie z założeniem tylko ten zasób platformy Azure może używać tej tożsamości do żądania tokenów z usługi Microsoft Entra ID.
    • Autoryzujesz tożsamość zarządzaną, aby mieć dostęp do co najmniej jednej usługi.
    • Nazwa przypisanej przez system jednostki usługi jest zawsze taka sama jak nazwa zasobu platformy Azure, dla której jest tworzona. ** Tożsamość przypisana przez system dla miejsca wdrożenia nosi nazwę <app-name>/slots/<slot-name>.
  • Przypisane użytkownikowi. Możesz również utworzyć tożsamość zarządzaną jako autonomiczny zasób platformy Azure. Możesz utworzyć tożsamość zarządzaną przypisaną przez użytkownika i przypisać ją do co najmniej jednego zasobu platformy Azure. Po włączeniu tożsamości zarządzanej przypisanej przez użytkownika:

    • Jednostka usługi specjalnego typu jest tworzona w identyfikatorze Entra firmy Microsoft dla tożsamości. Główny element usługi jest zarządzany oddzielnie od zasobów, które go używają.
    • Tożsamości przypisane przez użytkownika mogą być używane przez wiele zasobów.
    • Autoryzujesz tożsamość zarządzaną, aby mieć dostęp do co najmniej jednej usługi.

    Tożsamości przypisane przez użytkownika, które są tworzone niezależnie od zasobów obliczeniowych i mogą być przypisane do wielu takich zasobów, są zalecanym typem tożsamości zarządzanej dla usług Microsoft.

Zasoby obsługujące tożsamości zarządzane przypisane przez system umożliwiają:

Jeśli zamiast tego wybierzesz tożsamość zarządzaną przypisaną przez użytkownika:

Operacje na tożsamościach zarządzanych można wykonywać przy użyciu szablonu usługi Azure Resource Manager, witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, programu PowerShell i interfejsów API REST.

Różnice między tożsamościami zarządzanymi przypisanymi przez system i przypisanymi przez użytkownika

Nieruchomość Tożsamość zarządzana przypisana przez system Tożsamość zarządzana przypisana przez użytkownika
Tworzenie Utworzony jako część zasobu platformy Azure (na przykład Azure Virtual Machines lub Azure App Service). Utworzony jako autonomiczny zasób platformy Azure.
Cykl życiowy Wspólny cykl życia z zasobem platformy Azure, wraz z którym tworzona jest tożsamość zarządzana.
Po usunięciu zasobu nadrzędnego tożsamość zarządzana również zostanie usunięta.
Niezależny cykl życia.
Należy jawnie usunąć.
Udostępnianie zasobów platformy Azure Nie można udostępnić.
Można go skojarzyć tylko z jednym zasobem platformy Azure.
Można udostępnić.
Tę samą tożsamość zarządzaną przypisaną przez użytkownika można skojarzyć z więcej niż jednym zasobem platformy Azure.
Typowe przypadki użycia Obciążenia zawarte w jednym zasobie platformy Azure.
Obciążenia wymagające niezależnych tożsamości.
Na przykład aplikacja, która działa na jednej maszynie wirtualnej.
Obciążenia, które działają na wielu zasobach i mogą współdzielić jedną tożsamość.
Obciążenia wymagające wstępnej autoryzacji do bezpiecznego zasobu w ramach procesu aprowizacji.
Obciążenia, w których zasoby są często przetwarzane, ale uprawnienia powinny być spójne.
Na przykład obciążenie, w którym wiele maszyn wirtualnych musi uzyskać dostęp do tego samego zasobu.

Jak można używać tożsamości zarządzanych dla zasobów platformy Azure?

Tożsamości zarządzane można używać, wykonując poniższe kroki:

  1. Utwórz tożsamość zarządzaną na platformie Azure. Możesz wybrać tożsamość zarządzaną przypisaną przez system lub tożsamość zarządzaną przypisaną przez użytkownika.
    1. W przypadku korzystania z tożsamości zarządzanej przypisanej przez użytkownika należy przypisać tożsamość zarządzaną do zasobu platformy Azure "źródłowego", takiego jak maszyna wirtualna, aplikacja logiki platformy Azure lub aplikacja internetowa platformy Azure.
  2. Autoryzuj tożsamość zarządzaną, aby mieć dostęp do usługi "docelowej".
  3. Użyj tożsamości zarządzanej, aby uzyskać dostęp do zasobu. W tym kroku możesz użyć zestawu Azure SDK z biblioteką Azure.Identity. Niektóre zasoby "źródłowe" oferują łączniki, które wiedzą, jak używać tożsamości zarządzanych dla połączeń. W takim przypadku tożsamość jest używana jako funkcja tego zasobu "źródłowego".

Które usługi platformy Azure obsługują tę funkcję?

Tożsamości zarządzane dla zasobów platformy Azure mogą służyć do uwierzytelniania w usługach, które obsługują uwierzytelnianie Microsoft Entra. Aby uzyskać listę obsługiwanych usług platformy Azure, zobacz usługi obsługujące tożsamości zarządzane dla zasobów platformy Azure.

Praca z tożsamościami zarządzanymi

Tożsamości zarządzane mogą być używane bezpośrednio lub jako federacyjne poświadczenia tożsamości dla aplikacji Microsoft Entra ID.

Kroki związane z używaniem tożsamości zarządzanych są następujące:

  1. Utwórz tożsamość zarządzaną na platformie Azure. Możesz wybrać tożsamość zarządzaną przypisaną przez system lub tożsamość zarządzaną przypisaną przez użytkownika. W przypadku korzystania z tożsamości zarządzanej przypisanej przez użytkownika należy przypisać tożsamość zarządzaną do źródłowego zasobu platformy Azure, takiego jak maszyna wirtualna, aplikacja logiki platformy Azure lub aplikacja internetowa platformy Azure.
  2. Autoryzuj tożsamość zarządzaną, aby mieć dostęp do usługi docelowej.
  3. Użyj tożsamości zarządzanej, aby uzyskać dostęp do zasobu. W tym kroku można użyć dowolnej biblioteki klienta. Niektóre zasoby źródłowe oferują łączniki, które wiedzą, jak używać tożsamości zarządzanych dla połączeń. W takim przypadku tożsamość jest używana jako funkcja tego zasobu źródłowego.

Bezpośrednie używanie tożsamości zarządzanej

Kod usługi uruchomiony w zasobie obliczeniowym platformy Azure używa biblioteki Microsoft Authentication Library (MSAL) lub zestawu SDK Azure.Identity do pobrania tokenu tożsamości zarządzanej z Entra ID wspieranego przez tożsamość zarządzaną. To pozyskiwanie tokenu nie wymaga żadnych tajemnic i jest automatycznie uwierzytelniane na podstawie środowiska, w którym kod jest uruchamiany. Jeśli tożsamość zarządzana jest autoryzowana, kod usługi może uzyskiwać dostęp do zależności podrzędnych obsługujących uwierzytelnianie identyfikatora Entra.

Możesz na przykład użyć maszyny wirtualnej platformy Azure jako usługi Azure Compute. Następnie możesz utworzyć tożsamość zarządzaną przypisaną przez użytkownika i przypisać ją do maszyny wirtualnej. Obciążenie operujące na interfejsach VM korzysta zarówno z Azure.Identity (lub MSAL), jak i z klienta SDK Azure Storage, aby uzyskać dostęp do konta magazynu. Tożsamość zarządzana przypisana przez użytkownika jest autoryzowana do uzyskiwania dostępu do konta magazynowego.

Używanie tożsamości zarządzanej jako poświadczenia tożsamości federacyjnej (FIC) w aplikacji Entra ID

Federacja Tożsamości Roboczej umożliwia używanie tożsamości zarządzanej jako poświadczenia, podobnie jak certyfikat lub hasło, w Entra ID. Zawsze, gdy wymagana jest aplikacja Entra ID, zalecanym sposobem jest korzystanie z niej bez konieczności podawania poświadczeń. W przypadku korzystania z tożsamości zarządzanych jako FIC w aplikacji Entra ID istnieje limit 20 FICs.

Obciążenie działające w roli aplikacji Entra ID może być hostowane w dowolnym środowisku obliczeniowym platformy Azure, które ma tożsamość zarządzaną. Obciążenie używa tożsamości zarządzanej do uzyskania tokenu, który zostanie wymieniony na token aplikacji Entra ID za pośrednictwem federacji tożsamości obciążenia roboczego. Ta funkcja jest również określana jako tożsamość zarządzana z wykorzystaniem FIC (federacyjne poświadczenia tożsamości). Więcej informacji można znaleźć w konfigurowaniu aplikacji, aby zaufać tożsamości zarządzanej.

Następne kroki