Używanie tożsamości zarządzanych dla platformy Azure z usługą Service FabricUsing Managed identities for Azure with Service Fabric
Typowym wyzwaniem podczas tworzenia aplikacji w chmurze jest sposób bezpiecznego zarządzania poświadczeniami w kodzie na potrzeby uwierzytelniania w różnych usługach bez zapisywania ich lokalnie na stacji roboczej dewelopera lub kontroli źródła. Tożsamości zarządzane dla platformy Azure rozwiążą ten problem dla wszystkich Twoich zasobów w usłudze Microsoft Entra ID, udostępniając im automatyczne tożsamości zarządzane w ramach identyfikatora Entra firmy Microsoft. Tożsamość usługi umożliwia uwierzytelnianie w dowolnej usłudze obsługującej uwierzytelnianie firmy Microsoft Entra, w tym usługę Key Vault, bez żadnych poświadczeń przechowywanych w kodzie.
Tożsamości zarządzane dla zasobów platformy Azure są bezpłatne z identyfikatorem Entra firmy Microsoft dla subskrypcji platformy Azure. Nie ma dodatkowych kosztów.
Uwaga
Tożsamości zarządzane dla platformy Azure to nowa nazwa usługi znanej wcześniej jako tożsamość usługi zarządzanej (MSI).
Pojęcia
Tożsamości zarządzane dla platformy Azure są oparte na kilku kluczowych pojęciach:
Identyfikator klienta — unikatowy identyfikator wygenerowany przez firmę Microsoft Entra ID powiązany z aplikacją i jednostką usługi podczas początkowej aprowizacji (zobacz identyfikator aplikacji (klienta).
Identyfikator podmiotu zabezpieczeń — identyfikator obiektu nazwy głównej usługi dla tożsamości zarządzanej, która jest używana w celu udzielenia dostępu opartego na rolach do zasobu platformy Azure.
Jednostka usługi — obiekt Entra firmy Microsoft, który reprezentuje projekcję aplikacji Microsoft Entra w danej dzierżawie (zobacz również jednostkę usługi).
Istnieją dwa typy tożsamości zarządzanych:
- Tożsamość zarządzana przypisana przez system jest włączona bezpośrednio w wystąpieniu usługi platformy Azure. Cykl życia tożsamości przypisanej przez system jest unikatowy dla wystąpienia usługi platformy Azure włączonego.
- Tożsamość zarządzana przypisana przez użytkownika jest tworzona jako autonomiczny zasób platformy Azure. Tożsamość można przypisać do co najmniej jednego wystąpienia usługi platformy Azure i jest zarządzana oddzielnie od cykli życia tych wystąpień.
Aby dokładniej zrozumieć różnicę między typami tożsamości zarządzanych, zobacz Jak działają tożsamości zarządzane dla zasobów platformy Azure?.
Obsługiwane scenariusze dla aplikacji usługi Service Fabric
Tożsamości zarządzane dla usługi Service Fabric są obsługiwane tylko w klastrach usługi Service Fabric wdrożonych na platformie Azure i tylko w przypadku aplikacji wdrożonych jako zasoby platformy Azure. Nie można przypisać tożsamości aplikacji, która nie została wdrożona jako zasób platformy Azure. Mówiąc koncepcyjnie, obsługa tożsamości zarządzanych w klastrze usługi Azure Service Fabric składa się z dwóch faz:
Przypisz co najmniej jedną tożsamość zarządzaną do zasobu aplikacji; aplikacja może mieć przypisaną tożsamość przypisaną przez system i/lub maksymalnie 32 tożsamości przypisane przez użytkownika.
W definicji aplikacji zamapuj jedną z tożsamości przypisanych do aplikacji do dowolnej usługi składającej się z aplikacji.
Tożsamość przypisana przez system aplikacji jest unikatowa dla tej aplikacji; tożsamość przypisana przez użytkownika jest zasobem autonomicznym, który może być przypisany do wielu aplikacji. W aplikacji można przypisać jedną tożsamość (przypisaną przez system lub przypisaną przez użytkownika) do wielu usług aplikacji, ale każda pojedyncza usługa może mieć przypisaną tylko jedną tożsamość. Ponadto usługa musi być przypisana jawnie tożsamości, aby mieć dostęp do tej funkcji. W efekcie mapowanie tożsamości aplikacji na jej usługi składowe umożliwia izolację w aplikacji — usługa może używać tylko tożsamości mapowanej na nią.
W przypadku tej funkcji obsługiwane są następujące scenariusze:
Wdrażanie nowej aplikacji z co najmniej jedną usługą i co najmniej jedną przypisaną tożsamością
Przypisywanie co najmniej jednej tożsamości zarządzanej do istniejącej aplikacji (wdrożonej na platformie Azure) w celu uzyskania dostępu do zasobów platformy Azure
Poniższe scenariusze są nieobsługiwane lub nie są zalecane. Te akcje mogą nie zostać zablokowane, ale mogą prowadzić do awarii w aplikacjach:
Usuwanie lub zmienianie tożsamości przypisanych do aplikacji. Jeśli musisz wprowadzić zmiany, prześlij oddzielne wdrożenia, aby najpierw dodać nowe przypisanie tożsamości, a następnie usunąć wcześniej przypisane. Usunięcie tożsamości z istniejącej aplikacji może mieć niepożądane skutki, w tym pozostawienie aplikacji w stanie niemożliwym do uaktualnienia. Usunięcie aplikacji jest bezpieczne, jeśli konieczne jest usunięcie tożsamości. Usunięcie aplikacji powoduje usunięcie dowolnej tożsamości przypisanej przez system skojarzonej z aplikacją i usunięcie wszystkich skojarzeń z wszystkimi tożsamościami przypisanymi przez użytkownika do aplikacji.
Usługa Service Fabric nie obsługuje tożsamości zarządzanych w przestarzałej usłudze AzureServiceTokenProvider. Zamiast tego użyj tożsamości zarządzanych w usłudze Service Fabric przy użyciu zestawu Azure Identity SDK
Następne kroki
- Wdrażanie nowego klastra usługi Azure Service Fabric z obsługą tożsamości zarządzanej
- Włączanie obsługi tożsamości zarządzanej w istniejącym klastrze usługi Azure Service Fabric
- Wdrażanie aplikacji usługi Azure Service Fabric przy użyciu tożsamości zarządzanej przypisanej przez system
- Wdrażanie aplikacji usługi Azure Service Fabric przy użyciu tożsamości zarządzanej przypisanej przez użytkownika
- Używanie tożsamości zarządzanej aplikacji usługi Service Fabric z kodu usługi
- Udzielanie aplikacji usługi Azure Service Fabric dostępu do innych zasobów platformy Azure
- Deklarowanie i używanie wpisów tajnych aplikacji jako keyVaultReferences