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. Tożsamości zarządzane eliminują potrzebę zarządzania tymi poświadczeniami przez deweloperów.
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. Tożsamości zarządzane zapewniają automatycznie zarządzaną tożsamość w usłudze Microsoft Entra ID, której aplikacje mogą używać podczas łączenia się z zasobami obsługującymi uwierzytelnianie usługi 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.
Uwaga
Tożsamości zarządzane dla zasobów platformy Azure to nowa nazwa usługi znanej wcześniej jako Tożsamość usługi zarządzanej (MSI).
Typy tożsamości zarządzanych
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. Jednostka usługi jest powiązana z cyklem życia tego zasobu platformy Azure. Po usunięciu zasobu platformy Azure platforma Azure automatycznie usunie jednostkę 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. W przypadku miejsca wdrożenia nazwa przypisanej przez system tożsamości to
<app-name>/slots/<slot-name>
.
Przypisana przez użytkownika. 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. Jednostka usługi jest zarządzana 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:
Właściwości | 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 aplikacja systemu Azure Service). | Utworzony jako autonomiczny zasób platformy Azure. |
Cykl życiowy | Współużytkowany cykl życia za pomocą zasobu platformy Azure, za pomocą którego jest tworzona 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że być współużytkowany. 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 uruchamiane na wielu zasobach i mogą współdzielić jedną tożsamość. Obciążenia wymagające wstępnego uwierzytelniania do bezpiecznego zasobu w ramach przepływu 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".
Jakie usługi platformy Azure obsługują funkcję?
Tożsamości zarządzane dla zasobów platformy Azure mogą służyć do uwierzytelniania w usługach obsługujących uwierzytelnianie firmy 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 identyfikatora Entra firmy Microsoft.
Jeśli zamiast tego wybierzesz tożsamość zarządzaną przypisaną przez użytkownika:
- Tożsamości można tworzyć, odczytywać, aktualizować i usuwać .
- 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 identyfikatora Entra firmy Microsoft.
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ążenia dla tożsamości zarządzanych w celu uzyskania dostępu do chronionych zasobów firmy Microsoft bez zarządzania wpisami tajnymi