Informacje na temat funkcji konfiguracji gościa Azure Policy

Azure Policy inspekcji lub konfigurowania ustawień wewnątrz maszyny, zarówno dla maszyn działających na platformie Azure, jak i maszyn z obsługą usługi Arc. Każde zadanie jest wykonywane przez agenta konfiguracji gościa w systemach Windows i Linux. Rozszerzenie konfiguracji gościa za pośrednictwem agenta zarządza ustawieniami, takimi jak:

  • Konfiguracja systemu operacyjnego
  • Konfiguracja lub obecność aplikacji
  • Ustawienia środowiska

Film wideo z tym dokumentem jest dostępny.

Włączanie konfiguracji gościa

Aby zarządzać stanem maszyn w środowisku, w tym maszynami na platformie Azure i serwerach z usługą Arc, przejrzyj następujące informacje.

Dostawca zasobów

Aby można było korzystać z funkcji konfiguracji gościa Azure Policy, należy zarejestrować Microsoft.GuestConfiguration dostawcę zasobów. Jeśli przypisanie zasad konfiguracji gościa odbywa się za pośrednictwem portalu lub jeśli subskrypcja jest zarejestrowana w usłudze Azure Security Center, dostawca zasobów jest rejestrowany automatycznie. Możesz ręcznie zarejestrować się za pomocą portalu,witryny Azure PowerShelllub interfejsu wiersza polecenia platformy Azure.

Wdrażanie wymagań dotyczących maszyn wirtualnych platformy Azure

Aby zarządzać ustawieniami wewnątrz maszyny, jest włączone rozszerzenie maszyny wirtualnej, a maszyna musi mieć tożsamość zarządzaną przez system. Rozszerzenie pobiera odpowiednie przypisanie konfiguracji gościa i odpowiednie zależności. Tożsamość jest używana do uwierzytelniania maszyny podczas odczytywania i zapisu w usłudze konfiguracji gościa. Rozszerzenie nie jest wymagane w przypadku serwerów z usługą Arc, ponieważ jest uwzględnione w agencie maszyny połączonej z usługą Arc.

Ważne

Rozszerzenie konfiguracji gościa i tożsamość zarządzana są wymagane do zarządzania maszynami wirtualnymi platformy Azure.

Aby wdrożyć rozszerzenie na dużą skalę na wielu maszynach, przypisz inicjatywę zasad Deploy prerequisites to enable guest configuration policies on virtual machines do grupy zarządzania, subskrypcji lub grupy zasobów zawierającej maszyny, które planujesz zarządzać.

Jeśli wolisz wdrożyć rozszerzenie i tożsamość zarządzaną na jednym komputerze, postępuj zgodnie ze wskazówkami dla każdego z nich:

Aby korzystać z pakietów konfiguracji gościa, które stosują konfiguracje, wymagane jest rozszerzenie konfiguracji gościa maszyny wirtualnej platformy Azure w wersji 1.29.24 lub nowszej.

Limity ustawione dla rozszerzenia

Aby ograniczyć wpływ rozszerzenia na aplikacje działające wewnątrz maszyny, agent konfiguracji gościa nie może przekroczyć więcej niż 5% procesora CPU. To ograniczenie dotyczy zarówno definicji wbudowanych, jak i niestandardowych. To samo dotyczy usługi konfiguracji gościa w agencie maszyny połączonej z usługą Arc.

Narzędzia do walidacji

Wewnątrz maszyny agent konfiguracji gościa używa narzędzi lokalnych do wykonywania zadań.

W poniższej tabeli przedstawiono listę narzędzi lokalnych używanych w poszczególnych obsługiwanych systemach operacyjnych. W przypadku zawartości wbudowanej konfiguracja gościa obsługuje automatyczne ładowanie tych narzędzi.

System operacyjny Narzędzie do walidacji Uwagi
Windows Program PowerShell Desired State Configuration w wersji 3 Ładowany side-loaded do folderu używanego tylko przez Azure Policy. Nie spowoduje konfliktu z Windows PowerShell DSC. PowerShell Core nie jest dodawany do ścieżki systemowej.
Linux Program PowerShell Desired State Configuration w wersji 3 Ładowany side-loaded do folderu używanego tylko przez Azure Policy. PowerShell Core nie jest dodawany do ścieżki systemowej.
Linux Chef InSpec Instaluje program Chef InSpec w wersji 2.2.61 w domyślnej lokalizacji i dodaje go do ścieżki systemowej. Instalowane są również zależności pakietu InSpec, w tym ruby i python.

Częstotliwość walidacji

Agent konfiguracji gościa sprawdza, czy są nowe lub zmienione przypisania gości co 5 minut. Po otrzymaniu przypisania gościa ustawienia dla tej konfiguracji są ponownie sprawdzane w 15-minutowym interwale. Jeśli przypisano wiele konfiguracji, każda z nich jest oceniana sekwencyjnie. Długotrwałe konfiguracje mają wpływ na interwał dla wszystkich konfiguracji, ponieważ następne nie będą uruchamiane, dopóki poprzednia konfiguracja nie zostanie zakończona.

Wyniki są wysyłane do usługi konfiguracji gościa po zakończeniu inspekcji. Po wyzwoleniu oceny zasad stan maszyny jest zapisywany u dostawcy zasobów konfiguracji gościa. Ta aktualizacja powoduje Azure Policy oceny Azure Resource Manager właściwości. Ocena zasobów na żądanie Azure Policy pobiera najnowszą wartość od dostawcy zasobów konfiguracji gościa. Jednak nie powoduje to wyzwolenia nowego działania na maszynie. Stan jest następnie zapisywany w usłudze Azure Resource Graph.

Obsługiwane typy klientów

Definicje zasad konfiguracji gościa zawierają nowe wersje. Starsze wersje systemów operacyjnych dostępne w programie Azure Marketplace są wykluczone, jeśli klient konfiguracji gościa nie jest zgodny. W poniższej tabeli przedstawiono listę obsługiwanych systemów operacyjnych w obrazach platformy Azure. Tekst ".x" jest symboliczny, aby reprezentować nowe wersje pomocnicze dystrybucji systemu Linux.

Publisher Nazwa Wersje
Amazon Linux 2
Canonical Ubuntu Server 14.04–20.x
Credativ Debian 8–10.x
Microsoft Windows Server 2012 - 2019
Microsoft Klient systemu Windows Windows 10
Oracle Oracle-Linux 7.x-8.x
OpenLogic CentOS 7.3–8.x
Red Hat Red Hat Enterprise Linux* 7.4–8.x
SUSE SLES 12 SP3-SP5, 15.x

* System Red Hat CoreOS nie jest obsługiwany.

Niestandardowe obrazy maszyn wirtualnych są obsługiwane przez definicje zasad konfiguracji gościa, o ile są one jednym z systemów operacyjnych w powyższej tabeli.

Wymagania dotyczące sieci

Maszyny wirtualne na platformie Azure mogą używać swojej lokalnej karty sieciowej lub prywatnego linku do komunikacji z usługą konfiguracji gościa.

Azure Arc nawiązać połączenie przy użyciu lokalnej infrastruktury sieci w celu osiągnięcia dostępu do usług platformy Azure i zgłoszenia stanu zgodności.

Komunikacja za pośrednictwem sieci wirtualnych na platformie Azure

Aby komunikować się z dostawcą zasobów konfiguracji gościa na platformie Azure, maszyny wymagają dostępu wychodzącego do centrów danych platformy Azure na porcie 443. Jeśli sieć na platformie Azure nie zezwala na ruch wychodzący, skonfiguruj wyjątki przy użyciu reguł sieciowej grupy zabezpieczeń. Tagi usług "AzureArcInfrastructure" i "Storage" mogą być używane do odwołania się do konfiguracji gościa i usług Storage zamiast ręcznego utrzymywania listy zakresów adresów IP dla centrów danych platformy Azure. Oba tagi są wymagane, ponieważ pakiety zawartości konfiguracji gościa są hostowane przez usługę Azure Storage.

Maszyny wirtualne mogą używać łącza prywatnego do komunikacji z usługą konfiguracji gościa. Zastosuj tag o nazwie EnablePrivateNetworkGC i wartości, TRUE aby włączyć tę funkcję. Tag można zastosować przed lub po zastosowaniu definicji zasad konfiguracji gościa do maszyny.

Ruch jest przekierowyny przy użyciu wirtualnego publicznego adresu IP platformy Azure w celu ustanowienia bezpiecznego, uwierzytelnionego kanału z zasobami platformy Azure.

Azure Arc z obsługą usługi

Węzły znajdujące się poza platformą Azure, które są połączone Azure Arc wymagają łączności z usługą konfiguracji gościa. Szczegółowe informacje o wymaganiach dotyczących sieci i serwera proxy Azure Arc dokumentacji usługi.

W przypadku serwerów z usługą Arc w prywatnych centrach danych zezwalaj na ruch przy użyciu następujących wzorców:

  • Port: wymagany jest tylko port TCP 443 dla wychodzącego dostępu do Internetu
  • Globalny adres URL: *.guestconfiguration.azure.com

Przypisywanie zasad do maszyn spoza platformy Azure

Definicje zasad inspekcji dostępne dla konfiguracji gościa obejmują typ zasobu Microsoft.HybridCompute/machines. Wszystkie maszyny dołączone do Azure Arc dla serwerów, które znajdują się w zakresie przypisania zasad, są automatycznie uwzględniane.

Wymagania dotyczące tożsamości zarządzanej

Definicje zasad w ramach inicjatywy Wdrażanie wymagań wstępnych w celu włączenia zasad konfiguracji gościa na maszynach wirtualnych umożliwiają włączenie tożsamości zarządzanej przypisanej przez system, jeśli jeszcze nie istnieje. W inicjatywie istnieją dwie definicje zasad, które zarządzają tworzeniem tożsamości. Warunki IF w definicjach zasad zapewniają poprawne zachowanie na podstawie bieżącego stanu zasobu maszyny na platformie Azure.

Jeśli maszyna nie ma obecnie żadnych tożsamości zarządzanych, efektywne zasady to: Dodawanie tożsamości zarządzanej przypisanej przez system w celu włączenia przypisań konfiguracji gościa na maszynach wirtualnych bez tożsamości

Jeśli maszyna ma obecnie tożsamość systemową przypisaną przez użytkownika, efektywne zasady to: Dodawanie tożsamości zarządzanej przypisanej przez system w celu włączenia przypisań konfiguracji gościa na maszynach wirtualnych przy użyciu tożsamości przypisanej przez użytkownika

Dostępność

Klienci projektując rozwiązanie o wysokiej dostępie, powinni wziąć pod uwagę wymagania dotyczące planowania nadmiarowości dla maszyn wirtualnych, ponieważ przypisania gościa są rozszerzeniami zasobów maszynowych na platformie Azure. Jeśli zasoby przypisania gościa są aprowowane w regionie świadczenia usługi Azure, który jest sparowany, o ile jest dostępny co najmniej jeden region w parze, są dostępne raporty przypisania gościa. Jeśli region świadczenia usługi Azure nie jest sparowany i stanie się niedostępny, nie będzie można uzyskać dostępu do raportów dotyczących przypisania gościa, dopóki region nie zostanie przywrócony.

Podczas rozważania architektury dla aplikacji o wysokiej dostępności, szczególnie gdy maszyny wirtualne są aprowowane w zestawach dostępności za rozwiązaniem równoważenia obciążenia w celu zapewnienia wysokiej dostępności, najlepszym rozwiązaniem jest przypisanie tych samych definicji zasad z tym samymi parametrami do wszystkich maszyn w rozwiązaniu. Jeśli to możliwe, przypisanie pojedynczych zasad obejmujące wszystkie maszyny będzie oferowałoby najmniejsze koszty administracyjne.

W przypadku maszyn chronionych przez program Azure Site Recoveryupewnij się, że maszyny w lokacji dodatkowej znajdują się w zakresie przypisań programu Azure Policy dla tych samych definicji przy użyciu tych samych wartości parametrów co maszyny w lokacji głównej.

Rezydencja danych

Konfiguracja gościa przechowuje/przetwarza dane klientów. Domyślnie dane klientów są replikowane do sparowanego regionu. W przypadku jednego regionu rezyduacyjną wszystkie dane klientów są przechowywane i przetwarzane w regionie.

Rozwiązywanie problemów z konfiguracją gościa

Aby uzyskać więcej informacji na temat rozwiązywania problemów z konfiguracją gościa, zobacz Azure Policy rozwiązywanie problemów.

Wiele przypisań

Definicje zasad konfiguracji gościa obecnie obsługują przypisywanie tego samego przypisania gościa tylko raz na maszynę, gdy przypisanie zasad używa różnych parametrów.

Przypisania do usługi Azure Grupy zarządzania

Azure Policy w kategorii "Konfiguracja gościa" można przypisać do usługi Grupy zarządzania tylko wtedy, gdy efektem jest "AuditIfNotExists". Definicje zasad z efektem "DeployIfNotExists" nie są obsługiwane jako przypisania do Grupy zarządzania.

Pliki dziennika klienta

Rozszerzenie konfiguracji gościa zapisuje pliki dziennika w następujących lokalizacjach:

Windows: C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log

Linux

  • Maszyna wirtualna platformy Azure: /var/lib/GuestConfig/gc_agent_logs/gc_agent.log
  • Serwer z obsługą usługi Arc: /var/lib/GuestConfig/arc_policy_logs/gc_agent.log

Zdalne zbieranie dzienników

Pierwszym krokiem rozwiązywania problemów z konfiguracjami lub modułami konfiguracji gościa powinno być użycie polecenia cmdlet opisane w teście How to test guest configuration package artifacts (Jak testować artefakty pakietów konfiguracji gościa). Jeśli to się nie powiedzie, zebranie dzienników klienta może pomóc zdiagnozować problemy.

Windows

Przechwyć informacje z plików dziennika przy użyciu Uruchamianie polecenia maszyny wirtualnej platformy Azure.Poniższy przykładowy skrypt programu PowerShell może być przydatny.

$linesToIncludeBeforeMatch = 0
$linesToIncludeAfterMatch = 10
$logPath = 'C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log'
Select-String -Path $logPath -pattern 'DSCEngine','DSCManagedEngine' -CaseSensitive -Context $linesToIncludeBeforeMatch,$linesToIncludeAfterMatch | Select-Object -Last 10

Linux

Przechwyć informacje z plików dziennika przy użyciu Uruchamianie polecenia maszyny wirtualnej platformy Azure.Poniższy przykładowy skrypt powłoki Bash może być przydatny.

linesToIncludeBeforeMatch=0
linesToIncludeAfterMatch=10
logPath=/var/lib/GuestConfig/gc_agent_logs/gc_agent.log
egrep -B $linesToIncludeBeforeMatch -A $linesToIncludeAfterMatch 'DSCEngine|DSCManagedEngine' $logPath | tail

Pliki agenta

Agent konfiguracji gościa pobiera pakiety zawartości na maszynę i wyodrębnia zawartość. Aby sprawdzić, jaka zawartość została pobrana i zapisana, wyświetl lokalizacje folderów podane poniżej.

Windows: c:\programdata\guestconfig\configuration

Linux: /var/lib/GuestConfig/Configuration

Przykłady konfiguracji gościa

Wbudowane przykłady zasad konfiguracji gościa są dostępne w następujących lokalizacjach:

Następne kroki