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. Zarządzane tożsamości eliminują potrzebę, aby deweloperzy zarządzali tymi poświadczeniami.
Podczas gdy deweloperzy mogą bezpiecznie przechowywać wpisy tajne w usłudze Azure Key Vault, usługi wymagają sposobu uzyskiwania dostępu do usługi Azure Key Vault. Zarządzane tożsamości zapewniają automatycznie zarządzaną tożsamość w Microsoft Entra ID, którą aplikacje mogą używać do łączenia się z zasobami obsługującymi uwierzytelnianie Microsoft Entra. Aplikacje mogą używać zarządzanych tożsamości do uzyskiwania tokenów Microsoft Entra bez konieczności zarządzania jakimikolwiek poświadczeniami.
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:
- Jednostka usługi specjalnego typu jest tworzona w identyfikatorze Entra firmy Microsoft 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 projektem 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:
- Główny obiekt usługi specjalnego typu zostaje utworzony w Microsoft Entra ID 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.
W poniższej tabeli przedstawiono różnice między dwoma typami tożsamości zarządzanych:
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:
- 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 zasobu platformy Azure "źródłowego", takiego jak maszyna wirtualna, aplikacja logiki platformy Azure lub aplikacja internetowa platformy Azure.
- Autoryzuj tożsamość zarządzaną, aby mieć dostęp do usługi "docelowej".
- 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.
Które operacje można wykonywać na tożsamościach zarządzanych?
Zasoby obsługujące tożsamości zarządzane przypisane przez system umożliwiają:
- Włączanie lub wyłączanie tożsamości zarządzanych na poziomie zasobu.
- Aby udzielić uprawnień, użyj kontroli dostępu opartej na rolach (RBAC).
- Wyświetlanie operacji tworzenia, odczytu, aktualizowania i usuwania (CRUD) w dziennikach aktywności platformy Azure.
- Wyświetlanie aktywności logowania w dziennikach logowania Microsoft Entra ID.
Jeśli zamiast tego wybierzesz tożsamość zarządzaną przypisaną przez użytkownika:
- Możesz tworzyć, odczytywać, aktualizować i usuwać tożsamości.
- Przypisania ról RBAC można użyć do udzielania uprawnień.
- Tożsamości zarządzane przypisane przez użytkownika mogą być używane w więcej niż jednym zasobie.
- Operacje CRUD są dostępne do przejrzenia w dziennikach aktywności platformy Azure.
- Wyświetlanie aktywności logowania w dziennikach logowania Microsoft Entra ID.
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.
Następne kroki
- Wprowadzenie i wytyczne dla deweloperów
- Uzyskiwanie dostępu do usługi Resource Manager przy użyciu przypisanej przez system tożsamości zarządzanej maszyny wirtualnej
- Jak używać tożsamości zarządzanych dla usług App Service i Azure Functions
- Jak używać tożsamości zarządzanych z usługą Azure Container Instances
- Implementowanie tożsamości zarządzanych dla zasobów platformy Microsoft Azure
- Używanie federacji tożsamości obciążeń dla zarządzanych tożsamości w celu uzyskania dostępu do zasobów chronionych przez Microsoft Entra bez zarządzania tajnymi informacjami