[Wersja zapoznawcza] Przypisywanie tożsamości zarządzanych przy użyciu usługi Azure Policy

Usługa Azure Policy pomaga wymuszać standardy organizacyjne i oceniać zgodność na dużą skalę. Za pośrednictwem pulpitu nawigacyjnego zgodności zasady platformy Azure udostępnia zagregowany widok, który pomaga administratorom ocenić ogólny stan środowiska. Masz możliwość przechodzenia do szczegółów poszczególnych zasobów, stopnia szczegółowości poszczególnych zasad. Pomaga również zapewnić zgodność zasobów dzięki korygowaniu zbiorczemu istniejących zasobów i automatycznemu korygowaniu nowych zasobów. Typowe przypadki użycia usługi Azure Policy obejmują implementowanie ładu dla:

  • Spójność zasobów
  • Zgodność z przepisami
  • Zabezpieczenia
  • Koszt
  • Zarządzanie

Definicje zasad dla tych typowych przypadków użycia są już dostępne w środowisku platformy Azure, aby ułatwić rozpoczęcie pracy.

Agenci monitorowania platformy Azure wymagają tożsamości zarządzanej na monitorowanych maszynach wirtualnych platformy Azure. W tym dokumencie opisano zachowanie wbudowanej usługi Azure Policy dostarczonej przez firmę Microsoft, która pomaga zapewnić tożsamość zarządzaną wymaganą w tych scenariuszach, jest przypisywana do maszyn wirtualnych na dużą skalę.

W przypadku korzystania z tożsamości zarządzanej przypisanej przez system jest możliwe użycie na dużą skalę (na przykład dla wszystkich maszyn wirtualnych w subskrypcji) powoduje znaczną liczbę utworzonych (i usuniętych) tożsamości w identyfikatorze Entra firmy Microsoft. Aby uniknąć tego współczynnika zmian tożsamości, zaleca się używanie tożsamości zarządzanych przypisanych przez użytkownika, które można utworzyć raz i udostępnić na wielu maszynach wirtualnych.

Uwaga

Zalecamy używanie tożsamości zarządzanej przypisanej przez użytkownika na subskrypcję platformy Azure na region świadczenia usługi Azure.

Zasady zostały zaprojektowane tak, aby zaimplementować to zalecenie.

Definicja i szczegóły zasad

Po wykonaniu zasady wykonują następujące akcje:

  1. Utwórz, jeśli nie istnieje, nowa wbudowana tożsamość zarządzana przypisana przez użytkownika w subskrypcji i każdy region platformy Azure na podstawie maszyn wirtualnych, które znajdują się w zakresie zasad.
  2. Po utworzeniu umieść blokadę tożsamości zarządzanej przypisanej przez użytkownika, aby nie została przypadkowo usunięta.
  3. Przypisz wbudowaną tożsamość zarządzaną przypisaną przez użytkownika do usługi Virtual Machines z subskrypcji i regionu na podstawie maszyn wirtualnych, które znajdują się w zakresie zasad.

Uwaga

Jeśli maszyna wirtualna ma już przypisaną dokładnie 1 tożsamość zarządzaną przypisaną przez użytkownika, zasady pomijają tę maszynę wirtualną w celu przypisania wbudowanej tożsamości. Ma to na celu upewnienie się, że przypisanie zasad nie powoduje przerwania aplikacji, które przyjmują zależność od domyślnego zachowania punktu końcowego tokenu w usłudze IMDS.

Istnieją dwa scenariusze użycia zasad:

  • Pozwól zasadom utworzyć tożsamość zarządzaną przypisaną przez użytkownika i używać jej.
  • Przynieś własną tożsamość zarządzaną przypisaną przez użytkownika.

Zasady pobierają następujące parametry wejściowe:

  • Bring-Your-Own-UAMI? — Czy zasady powinny tworzyć, jeśli nie istnieją, nową tożsamość zarządzaną przypisaną przez użytkownika?
  • Jeśli ustawiono wartość true, musisz określić:
    • Nazwa tożsamości zarządzanej
    • Grupa zasobów, w której ma zostać utworzona tożsamość zarządzana.
  • Jeśli ustawiono wartość false, żadne dodatkowe dane wejściowe nie są potrzebne.
    • Zasady spowodują utworzenie wymaganej tożsamości zarządzanej przypisanej przez użytkownika o nazwie "wbudowana tożsamość" w grupie zasobów o nazwie "built-in-identity-rg".

Korzystanie z zasad

Tworzenie przypisania zasad

Definicję zasad można przypisać do różnych zakresów na platformie Azure — w subskrypcji grupy zarządzania lub określonej grupie zasobów. Ponieważ zasady muszą być wymuszane przez cały czas, operacja przypisywania jest wykonywana przy użyciu tożsamości zarządzanej skojarzonej z obiektem przypisania zasad. Obiekt przypisania zasad obsługuje tożsamość zarządzaną przypisaną przez system i przypisaną przez użytkownika. Na przykład Joe może utworzyć tożsamość zarządzaną przypisaną przez użytkownika o nazwie PolicyAssignmentMI. Wbudowane zasady tworzą tożsamość zarządzaną przypisaną przez użytkownika w każdej subskrypcji i w każdym regionie z zasobami, które znajdują się w zakresie przypisania zasad. Tożsamości zarządzane przypisane przez użytkownika utworzone przez zasady mają następujący format resourceId:

/subscriptions/your-subscription-id/resourceGroups/built-in-identity-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/built-in-identity-{location}

Na przykład:

/subscriptions/aaaabb-aaaa-bbbb-1111-111222333/resourceGroups/built-in-identity-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/built-in-identity-eastus

Wymagana autoryzacja

Aby tożsamość zarządzana PolicyAssignmentMI mogła przypisać wbudowane zasady w określonym zakresie, musi mieć następujące uprawnienia wyrażone jako przypisanie roli opartej na rolach platformy Azure (kontrola dostępu oparta na rolach platformy Azure):

Główne Rola/akcja Scope Purpose
PolicyAssigmentMI Operator tożsamości zarządzanej /subscription/subscription-id/resourceGroups/built-in-identity
LUB
Bring-your-own-User-assinged-Managed Identity
Wymagane do przypisania wbudowanej tożsamości do maszyn wirtualnych.
PolicyAssigmentMI Współautor /subscription/subscription-id> Wymagane do utworzenia grupy zasobów zawierającej wbudowaną tożsamość zarządzaną w subskrypcji.
PolicyAssigmentMI Współautor tożsamości zarządzanej /subscription/subscription-id/resourceGroups/built-in-identity Wymagane do utworzenia nowej tożsamości zarządzanej przypisanej przez użytkownika.
PolicyAssigmentMI Administrator dostępu użytkowników /subscription/subscription-id/resourceGroups/built-in-identity
LUB
Tożsamość zarządzana bring-your-own-user-assigned-managed
Wymagane do ustawienia blokady tożsamości zarządzanej przypisanej przez użytkownika utworzonej przez zasady.

Ponieważ obiekt przypisania zasad musi mieć to uprawnienie przed upływem czasu, atrybut PolicyAssignmentMI nie może być tożsamością zarządzaną przypisaną przez system w tym scenariuszu. Użytkownik wykonujący zadanie przypisania zasad musi wstępnie autoryzować zasadyPrzypisaniaMI przed upływem czasu z powyższymi przypisaniami ról.

Jak widać, wynikowa rola z najmniejszymi uprawnieniami jest "współautorem" w zakresie subskrypcji.

Znane problemy

Możliwy stan wyścigu z innym wdrożeniem, które zmienia tożsamości przypisane do maszyny wirtualnej, może spowodować nieoczekiwane wyniki.

Jeśli istnieją co najmniej dwa wdrożenia równoległe aktualizujące tę samą maszynę wirtualną i wszystkie zmieniają konfigurację tożsamości maszyny wirtualnej, możliwe jest, w określonych warunkach wyścigu, że wszystkie oczekiwane tożsamości nie zostaną przypisane do maszyn. Jeśli na przykład zasady w tym dokumencie aktualizują tożsamości zarządzane maszyny wirtualnej, a jednocześnie inny proces wprowadza zmiany w sekcji tożsamości zarządzanych, nie ma gwarancji, że wszystkie oczekiwane tożsamości są prawidłowo przypisane do maszyny wirtualnej.

Następne kroki