Przypisywanie tożsamości zarządzanych przy użyciu usługi Azure Policy (wersja zapoznawcza)
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.
Definicja i szczegóły zasad
Po wykonaniu zasady wykonują następujące akcje:
- 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.
- Po utworzeniu umieść blokadę tożsamości zarządzanej przypisanej przez użytkownika, aby nie została przypadkowo usunięta.
- 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 zawierająca tożsamość zarządzaną.
- 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".
- Jeśli ustawiono wartość true, musisz określić:
- Czy ograniczyć korzystanie z rozwiązania Bring-Your-Own-UAMI-To-Subscription? - Jeśli parametr Bring-Your-Own-UAMI ma wartość true, czy zasady powinny korzystać ze scentralizowanej tożsamości zarządzanej przypisanej przez użytkownika lub korzystać z tożsamości dla każdej subskrypcji?
- Jeśli ustawiono wartość true, żadne dodatkowe dane wejściowe nie są potrzebne.
- Zasady będą używać tożsamości zarządzanej przypisanej przez użytkownika na subskrypcję.
- W przypadku ustawienia wartości false zasady będą korzystać z jednej scentralizowanej tożsamości zarządzanej przypisanej przez użytkownika, która zostanie zastosowana we wszystkich subskrypcjach objętych przypisaniem zasad. Musisz określić:
- Identyfikator zasobu tożsamości zarządzanej przypisanej przez użytkownika
- Jeśli ustawiono wartość true, żadne dodatkowe dane wejściowe nie są potrzebne.
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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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.