Förstå gästkonfigurationsfunktionen i Azure Policy

Azure Policy gästkonfigurationsfunktionen ger inbyggda funktioner för att granska eller konfigurera inställningar för operativsystem som kod, både för datorer som körs i Azure och Arc-aktiverade hybriddatorer. Funktionen kan användas direkt per dator eller i stor skala orkestrerat av Azure Policy.

Konfigurationsresurser i Azure är utformade som en tilläggsresurs. Du kan föreställa dig varje konfiguration som en ytterligare uppsättning egenskaper för datorn. Konfigurationer kan innehålla inställningar som:

  • Inställningar för operativsystem
  • Programkonfiguration eller förekomst
  • Miljöinställningar

Konfigurationer skiljer sig från principdefinitioner. Gästkonfigurationen använder Azure Policy för att dynamiskt tilldela konfigurationer till datorer. Du kan också tilldela konfigurationer till datorer manuellteller med hjälp av andra Azure-tjänster, till exempel AutoManage.

Exempel på varje scenario finns i följande tabell.

Typ Description Exempelberättelse
Konfigurationshantering Du vill ha en fullständig representation av en server som kod i källkodskontrollen. Distributionen bör innehålla egenskaper för servern (storlek, nätverk, lagring) och konfiguration av inställningar för operativsystem och program. "Den här datorn ska vara en webbserver som är konfigurerad som värd för min webbplats."
Efterlevnad Du vill granska eller distribuera inställningar till alla datorer i omfånget reaktivt till befintliga datorer eller proaktivt till nya datorer när de distribueras. "Alla datorer ska använda TLS 1.2. Granska befintliga datorer så att jag kan släppa ändringar där det behövs, på ett kontrollerat sätt, i stor skala. För nya datorer framtvingar du inställningen när de distribueras."

Resultatet per inställning från konfigurationer kan visas antingen på sidan Gästtilldelningar eller om konfigurationen samordnas av en Azure Policy-tilldelning genom att klicka på länken "Senast utvärderad resurs" på sidan "Efterlevnadsinformation".

En video-genomgång av det här dokumentet finns tillgänglig. (uppdateringen kommer snart)

Aktivera gästkonfiguration

Granska följande information för att hantera tillståndet för datorer i din miljö, inklusive datorer i Azure och Arc-aktiverade servrar.

Resursprovider

Innan du kan använda gästkonfigurationsfunktionen i Azure Policy måste du registrera Microsoft.GuestConfiguration resursprovidern. Om tilldelningen av en gästkonfigurationsprincip görs via portalen, eller om prenumerationen har registrerats i Azure Security Center, registreras resursprovidern automatiskt. Du kan registrera dig manuellt via portalen, Azure PowerShelleller Azure CLI.

Distribuera krav för virtuella Azure-datorer

För att hantera inställningar i en dator aktiveras ett tillägg för virtuell dator och datorn måste ha en systemhanterad identitet. Tillägget laddar ned tillämplig tilldelning av gästkonfiguration och motsvarande beroenden. Identiteten används för att autentisera datorn när den läser och skriver till gästkonfigurationstjänsten. Tillägget krävs inte för Arc-aktiverade servrar eftersom det ingår i Arc Connected Machine-agenten.

Viktigt

Gästkonfigurationstillägget och en hanterad identitet krävs för att hantera virtuella Azure-datorer.

Om du vill distribuera tillägget i stor skala på många datorer tilldelar du principinitiativ Deploy prerequisites to enable guest configuration policies on virtual machines till en hanteringsgrupp, prenumeration eller resursgrupp som innehåller de datorer som du planerar att hantera.

Om du föredrar att distribuera tillägget och den hanterade identiteten till en enda dator följer du riktlinjerna för var och en:

Om du vill använda gästkonfigurationspaket som tillämpar konfigurationer krävs version 1.29.24 eller senare av gästkonfigurationstillägget för virtuella Azure-datorer.

Begränsningar som angetts för tillägget

För att begränsa tillägget från att påverka program som körs i datorn får gästkonfigurationsagenten inte överskrida mer än 5 % av CPU:n. Den här begränsningen gäller både inbyggda och anpassade definitioner. Samma sak gäller för gästkonfigurationstjänsten i Arc Connected Machine-agenten.

Valideringsverktyg

På datorn använder gästkonfigurationsagenten lokala verktyg för att utföra uppgifter.

I följande tabell visas en lista över de lokala verktyg som används på varje operativsystem som stöds. För inbyggt innehåll hanteras inläsningen av de här verktygen automatiskt av gästkonfigurationen.

Operativsystem Verifieringsverktyg Kommentarer
Windows PowerShell Desired State Configuration v3 Sidoinstallerad till en mapp som endast används av Azure Policy. Står inte i konflikt med Windows PowerShell DSC. PowerShell Core läggs inte till i systemsökvägen.
Linux PowerShell Desired State Configuration v3 Sidoinstallerad till en mapp som endast används av Azure Policy. PowerShell Core läggs inte till i systemsökvägen.
Linux Chef InSpec Installerar Chef InSpec version 2.2.61 på standardplatsen och lägger till det i systemsökvägen. Beroenden för InSpec-paketet inklusive Ruby och Python installeras också.

Valideringsfrekvens

Gästkonfigurationsagenten söker efter nya eller ändrade gästtilldelningar var femte minut. När en gästtilldelning tas emot kontrolleras inställningarna för konfigurationen på nytt med ett intervall på 15 minuter. Om flera konfigurationer tilldelas utvärderas var och en sekventiellt. Långvariga konfigurationer påverkar intervallet för alla konfigurationer, eftersom nästa inte körs förrän den tidigare konfigurationen har slutförts.

Resultaten skickas till gästkonfigurationstjänsten när granskningen är klar. När en principutvärderingsutlösare inträffar skrivs datorns tillstånd till gästkonfigurationens resursprovider. Den här uppdateringen Azure Policy att utvärdera Azure Resource Manager egenskaper. En utvärderingsutvärdering Azure Policy på begäran hämtar det senaste värdet från resursprovidern för gästkonfiguration. Den utlöser dock inte någon ny aktivitet på datorn. Statusen skrivs sedan till Azure Resource Graph.

Klienttyper som stöds

Principdefinitioner för gästkonfiguration inkluderar nya versioner. Äldre versioner av operativsystem som är Azure Marketplace undantagna om gästkonfigurationsklienten inte är kompatibel. I följande tabell visas en lista över operativsystem som stöds på Azure-avbildningar. Texten ".x" är symbolisk för att representera nya mindre versioner av Linux-distributioner.

Publisher Name Versioner
Amazon Linux 2
Canonical Ubuntu Server 14.04–20.x
Credativ Debian 8–10.x
Microsoft Windows Server 2012 - 2019
Microsoft Windows-klient 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

* Red Hat CoreOS stöds inte.

Anpassade avbildningar av virtuella datorer stöds av principdefinitioner för gästkonfiguration så länge de är ett av operativsystemen i tabellen ovan.

Nätverkskrav

Virtuella datorer i Azure kan använda antingen sitt lokala nätverkskort eller en privat länk för att kommunicera med gästkonfigurationstjänsten.

Azure Arc datorer ansluter med hjälp av den lokala nätverksinfrastrukturen för att nå Azure-tjänster och rapportera efterlevnadsstatus.

Kommunicera över virtuella nätverk i Azure

För att kommunicera med gästkonfigurationsresursprovidern i Azure kräver datorer utgående åtkomst till Azure-datacenter på port 443. Om ett nätverk i Azure inte tillåter utgående trafik konfigurerar du undantag med regler för nätverkssäkerhetsgruppen. Tjänsttaggarna "AzureArcInfrastructure" och "Storage" kan användas för att referera till gästkonfigurationen och Storage-tjänster i stället för att manuellt underhålla listan över IP-intervall för Azure-datacenter. Båda taggarna krävs eftersom gästkonfigurationens innehållspaket finns på Azure Storage.

Virtuella datorer kan använda privat länk för kommunikation till gästkonfigurationstjänsten. Använd taggen med namn och EnablePrivateNetworkGC värde för att aktivera den här TRUE funktionen. Taggen kan tillämpas före eller efter att principdefinitioner för gästkonfiguration tillämpas på datorn.

Trafiken dirigeras med hjälp av den virtuella offentliga IP-adressen för Azure för att upprätta en säker, autentiserad kanal med Azure-plattformsresurser.

Azure Arc-aktiverade servrar

Noder utanför Azure som är anslutna via Azure Arc kräver anslutning till gästkonfigurationstjänsten. Information om nätverk och proxykrav som finns i Azure Arc dokumentationen.

För Arc-aktiverade servrar i privata datacenter tillåter du trafik med följande mönster:

  • Port: Endast TCP 443 krävs för utgående Internetåtkomst
  • Global URL: *.guestconfiguration.azure.com

Tilldela principer till datorer utanför Azure

De granskningsprincipdefinitioner som är tillgängliga för gästkonfiguration inkluderar resurstypen Microsoft.HybridCompute/machines. Alla datorer som är Azure Arc för servrar som ingår i principtilldelningens omfång inkluderas automatiskt.

Krav för hanterad identitet

Principdefinitioner i initiativet Distribuera krav för att aktivera gästkonfigurationsprinciper på virtuella datorer aktiverar en system tilldelad hanterad identitet, om det inte finns någon. Det finns två principdefinitioner i initiativet som hanterar identitetsskapande. IF-villkoren i principdefinitionerna säkerställer korrekt beteende baserat på datorresursens aktuella tillstånd i Azure.

Viktigt

De här definitionerna skapar System-Assigned hanterad identitet på målresurserna, förutom befintliga User-Assigned identiteter (om sådana finns). För befintliga program om de inte User-Assigned identiteten i begäran använder datorn som standard System-Assigned Identity i stället. Läs mer

Om datorn för närvarande inte har några hanterade identiteter är den gällande principen: Lägg till system tilldelad hanterad identitet för att aktivera gästkonfigurationstilldelningar på virtuella datorer utan identiteter

Om datorn för närvarande har en användar tilldelad systemidentitet är den gällande principen: Lägg till system tilldelad hanterad identitet för att aktivera gästkonfigurationstilldelningar på virtuella datorer med en användar tilldelad identitet

Tillgänglighet

Kunder som utformar en lösning med hög tillgång bör överväga kraven på redundansplanering för virtuella datorer eftersom gästtilldelningar är tillägg av datorresurser i Azure. När gästtilldelningsresurser etableras i en Azure-region som är parkopplad, så länge minst en region i paret är tillgänglig, är gästtilldelningsrapporter tillgängliga. Om Azure-regionen inte är länkad och den blir otillgänglig går det inte att komma åt rapporter för en gästtilldelning förrän regionen har återställts.

När du överväger en arkitektur för program med hög tillgänglighet, särskilt när virtuella datorer etableras i tillgänglighetsuppsättningar bakom en lastbalanseringslösning för att tillhandahålla hög tillgänglighet, är det bästa praxis att tilldela samma principdefinitioner med samma parametrar till alla datorer i lösningen. Om möjligt skulle en enda principtilldelning som omfattar alla datorer erbjuda minst administrativa kostnader.

För datorer som skyddas av Azure Site Recovery, se till att datorer på en sekundär plats är inom omfånget för Azure Policy-tilldelningar för samma definitioner med samma parametervärden som datorer på den primära platsen.

Dataplacering

Gästkonfiguration lagrar/bearbetar kunddata. Som standard replikeras kunddata till den parkopplade regionen. För en enda region lagras och bearbetas alla kunddata i regionen.

Felsöka gästkonfiguration

Mer information om felsökning av gästkonfiguration finns i Azure Policy felsökning.

Flera tilldelningar

Principdefinitioner för gästkonfiguration stöder för närvarande endast tilldelning av samma gästtilldelning en gång per dator när principtilldelningen använder olika parametrar.

Tilldelningar till Azure Hanteringsgrupper

Azure Policy i kategorin "Gästkonfiguration" kan bara tilldelas till Hanteringsgrupper när effekten är "AuditIfNotExists". Principdefinitioner med effekten "DeployIfNotExists" stöds inte som tilldelningar till Hanteringsgrupper.

Klientloggfiler

Gästkonfigurationstillägget skriver loggfiler till följande platser:

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

Linux

  • Virtuell Azure-dator: /var/lib/GuestConfig/gc_agent_logs/gc_agent.log
  • Arc-aktiverad server: /var/lib/GuestConfig/arc_policy_logs/gc_agent.log

Fjärrinsamling av loggar

Det första steget när du felsöker konfigurationer eller moduler för gästkonfiguration bör vara att använda cmdletarna genom att följa stegen i Testa artefakter för gästkonfigurationspaket. Om det inte lyckas kan insamling av klientloggar hjälpa dig att diagnostisera problem.

Windows

Samla in information från loggfiler med hjälp av Azure VM Kör kommando, kan följande PowerShell-exempelskript vara till hjälp.

$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

Samla in information från loggfiler med hjälp av Azure VM Kör kommando, kan följande Bash-exempelskript vara till hjälp.

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

Agentfiler

Gästkonfigurationsagenten laddar ned innehållspaket till en dator och extraherar innehållet. Du kan kontrollera vilket innehåll som har laddats ned och lagrats genom att visa mappplatserna nedan.

Windows: c:\programdata\guestconfig\configuration

Linux: /var/lib/GuestConfig/Configuration

Exempel på gästkonfiguration

Inbyggda principexempel för gästkonfiguration är tillgängliga på följande platser:

Nästa steg