Förstå Azure Machine Configuration

Varning

Den här artikeln refererar till CentOS, en Linux-distribution som har statusen End Of Life (EOL). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledningen.

Azure Policys datorkonfigurationsfunktion ger inbyggd funktion för att granska eller konfigurera operativsysteminställningar som kod för datorer som körs på Azure- och Hybrid Arc-aktiverade datorer. Du kan använda funktionen direkt per dator eller samordna den i stor skala med hjälp av Azure Policy.

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

  • Operativsystemsinställningar
  • Programkonfiguration eller förekomst
  • Miljöinställningar

Konfigurationer skiljer sig från principdefinitioner. Datorkonfigurationen använder Azure Policy för att dynamiskt tilldela konfigurationer till datorer. Du kan också tilldela konfigurationer till datorer manuellt eller med hjälp av andra Azure-tjänster, till exempel Automatisk hantering.

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

Typ Beskrivning Exempelartikel
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 operativsystem och programinställningar. "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 antingen 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 frigöra ändringar där de behövs, på ett kontrollerat sätt, i stor skala. För nya datorer framtvingar du inställningen när de distribueras."

Du kan visa resultatet per inställning från konfigurationer på sidan Gästtilldelningar. Om en Azure Policy-tilldelning orkestrerad konfigurationen orkestreras kan du välja länken "Senast utvärderad resurs" på sidan "Efterlevnadsinformation".

En videogenomgång av det här dokumentet är tillgänglig. (Uppdatering kommer snart)

Aktivera datorkonfiguration

Om du vill hantera tillståndet för datorer i din miljö, inklusive datorer i Azure och Arc-aktiverade servrar, läser du följande information.

Resursprovider

Innan du kan använda datorkonfigurationsfunktionen i Azure Policy måste du registrera resursprovidern Microsoft.GuestConfiguration . Om tilldelningen av en datorkonfigurationsprincip görs via portalen, eller om prenumerationen har registrerats i Microsoft Defender för molnet, registreras resursprovidern automatiskt. Du kan registrera dig manuellt via portalen, Azure PowerShell eller 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ämpliga datorkonfigurationstilldelningar och motsvarande beroenden. Identiteten används för att autentisera datorn när den läser och skriver till datorkonfigurationstjänsten. Tillägget krävs inte för Arc-aktiverade servrar eftersom det ingår i Arc Connected Machine-agenten.

Viktigt!

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

Om du vill distribuera tillägget i stor skala över många datorer tilldelar du principinitiativet 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 kan du läsa Konfigurera hanterade identiteter för Azure-resurser på en virtuell dator med hjälp av Azure-portalen.

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

Gränser som angetts för tillägget

Om du vill begränsa tillägget från att påverka program som körs på datorn får datorkonfigurationsagenten inte överskrida mer än 5 % av processorn. Den här begränsningen finns för både inbyggda och anpassade definitioner. Detsamma gäller för datorkonfigurationstjänsten i Arc Connected Machine-agenten.

Valideringsverktyg

På datorn använder datorkonfigurationsagenten 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 hanterar datorkonfigurationen inläsningen av dessa verktyg automatiskt.

Operativsystem Verifieringsverktyg Kommentarer
Windows PowerShell Desired State Configuration v2 Sidoinstallerad till en mapp som endast används av Azure Policy. Inte i konflikt med Windows PowerShell DSC. PowerShell 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 läggs inte till i systemsökvägen.
Linux Chef InSpec Installerar Chef InSpec version 2.2.61 på standardplatsen och lägger till den i systemsökvägen. Den installerar Även InSpecs beroenden, inklusive Ruby och Python.

Valideringsfrekvens

Datorkonfigurationsagenten söker efter nya eller ändrade gästtilldelningar var 5:e minut. När en gästtilldelning har tagits emot kontrolleras inställningarna för den konfigurationen igen 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 kan köras förrän den tidigare konfigurationen har slutförts.

Resultaten skickas till datorkonfigurationstjänsten när granskningen är klar. När en principutvärderingsutlösare inträffar skrivs datorns tillstånd till resursprovidern för datorkonfiguration. Den här uppdateringen gör att Azure Policy utvärderar Azure Resource Manager-egenskaperna. En Azure Policy-utvärdering på begäran hämtar det senaste värdet från datorkonfigurationsresursprovidern. Det utlöser dock inte någon ny aktivitet i datorn. Statusen skrivs sedan till Azure Resource Graph.

Klienttyper som stöds

Definitioner av datorkonfigurationsprinciper omfattar nya versioner. Äldre versioner av operativsystem som är tillgängliga på Azure Marketplace undantas om gästkonfigurationsklienten inte är kompatibel. Dessutom undantas Linux-serverversioner som inte har livstidsstöd av respektive utgivare från supportmatrisen.

Följande tabell visar 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
Alma AlmaLinux 9
Amazon Linux 2
Canonical Ubuntu Server 16,04 – 22,x
Credativ Debian 10.x - 12.x
Microsoft CBL-Mariner 1 - 2
Microsoft Windows-klient Windows 10, 11
Microsoft Windows Server 2012–2022
Oracle Oracle-Linux 7.x - 8.x
OpenLogic CentOS 7,3– 8,x
Red Hat Red Hat Enterprise Linux* 7,4–9,x
Stenig Rocky Linux 8
SUSE SLES 12 SP5, 15.x

* Red Hat CoreOS stöds inte.

Principdefinitioner för datorkonfiguration stöder anpassade avbildningar av virtuella datorer så länge de är ett av operativsystemen i föregående tabell.

Nätverkskrav

Virtuella Azure-datorer kan använda antingen sitt lokala virtuella nätverkskort (vNIC) eller Azure Private Link för att kommunicera med datorkonfigurationstjänsten.

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

Följande är en lista över de Azure Storage-slutpunkter som krävs för att Azure- och Azure Arc-aktiverade virtuella datorer ska kunna kommunicera med resursprovidern för datorkonfiguration i Azure:

  • oaasguestconfigac2s1.blob.core.windows.net
  • oaasguestconfigacs1.blob.core.windows.net
  • oaasguestconfigaes1.blob.core.windows.net
  • oaasguestconfigases1.blob.core.windows.net
  • oaasguestconfigbrses1.blob.core.windows.net
  • oaasguestconfigbrss1.blob.core.windows.net
  • oaasguestconfigccs1.blob.core.windows.net
  • oaasguestconfigces1.blob.core.windows.net
  • oaasguestconfigcids1.blob.core.windows.net
  • oaasguestconfigcuss1.blob.core.windows.net
  • oaasguestconfigeaps1.blob.core.windows.net
  • oaasguestconfigeas1.blob.core.windows.net
  • oaasguestconfigeus2s1.blob.core.windows.net
  • oaasguestconfigeuss1.blob.core.windows.net
  • oaasguestconfigfcs1.blob.core.windows.net
  • oaasguestconfigfss1.blob.core.windows.net
  • oaasguestconfiggewcs1.blob.core.windows.net
  • oaasguestconfiggns1.blob.core.windows.net
  • oaasguestconfiggwcs1.blob.core.windows.net
  • oaasguestconfigjiws1.blob.core.windows.net
  • oaasguestconfigjpes1.blob.core.windows.net
  • oaasguestconfigjpws1.blob.core.windows.net
  • oaasguestconfigkcs1.blob.core.windows.net
  • oaasguestconfigkss1.blob.core.windows.net
  • oaasguestconfigncuss1.blob.core.windows.net
  • oaasguestconfignes1.blob.core.windows.net
  • oaasguestconfignres1.blob.core.windows.net
  • oaasguestconfignrws1.blob.core.windows.net
  • oaasguestconfigqacs1.blob.core.windows.net
  • oaasguestconfigsans1.blob.core.windows.net
  • oaasguestconfigscuss1.blob.core.windows.net
  • oaasguestconfigseas1.blob.core.windows.net
  • oaasguestconfigsecs1.blob.core.windows.net
  • oaasguestconfigsfns1.blob.core.windows.net
  • oaasguestconfigsfws1.blob.core.windows.net
  • oaasguestconfigsids1.blob.core.windows.net
  • oaasguestconfigstzns1.blob.core.windows.net
  • oaasguestconfigswcs1.blob.core.windows.net
  • oaasguestconfigswns1.blob.core.windows.net
  • oaasguestconfigswss1.blob.core.windows.net
  • oaasguestconfigswws1.blob.core.windows.net
  • oaasguestconfiguaecs1.blob.core.windows.net
  • oaasguestconfiguaens1.blob.core.windows.net
  • oaasguestconfigukss1.blob.core.windows.net
  • oaasguestconfigukws1.blob.core.windows.net
  • oaasguestconfigwcuss1.blob.core.windows.net
  • oaasguestconfigwes1.blob.core.windows.net
  • oaasguestconfigwids1.blob.core.windows.net
  • oaasguestconfigwus2s1.blob.core.windows.net
  • oaasguestconfigwus3s1.blob.core.windows.net
  • oaasguestconfigwuss1.blob.core.windows.net

Kommunicera via virtuella nätverk i Azure

För att kommunicera med datorkonfigurationsresursprovidern 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äkerhetsgrupp . Tjänsttaggar och kan användas för att referera till gästkonfigurations- och lagringstjänster i stället för att manuellt underhålla listan över IP-intervall för Azure-datacenter.Storage AzureArcInfrastructure Båda taggarna krävs eftersom Azure Storage är värd för innehållspaketen för datorkonfiguration.

Virtuella datorer kan använda privat länk för kommunikation till datorkonfigurationstjänsten. Använd taggen med namnet EnablePrivateNetworkGC och värdet TRUE för att aktivera den här funktionen. Taggen kan användas före eller efter att datorkonfigurationsprincipdefinitioner tillämpas på datorn.

Viktigt!

Om du vill kommunicera via privat länk för anpassade paket måste länken till paketets plats läggas till i listan över tillåtna URL:er.

Trafik 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.

Kommunicera via offentliga slutpunkter utanför Azure

Servrar som finns lokalt eller i andra moln kan hanteras med datorkonfiguration genom att ansluta dem till Azure Arc.

För Azure Arc-aktiverade servrar tillåter du trafik med hjälp av följande mönster:

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

Se nätverkskraven för Azure Arc-aktiverade servrar för en fullständig lista över alla nätverksslutpunkter som krävs av Azure Connected Machine Agent för grundläggande scenarier för Azure Arc och datorkonfiguration.

När du använder privat länk med Arc-aktiverade servrar laddas inbyggda princippaket automatiskt ned via den privata länken. Du behöver inte ange några taggar på den Arc-aktiverade servern för att aktivera den här funktionen.

Tilldela principer till datorer utanför Azure

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

Krav för hanterad identitet

Principdefinitioner i initiativet Deploy prerequisites to enable guest configuration policies on virtual machines aktiverar en systemtilldelad hanterad identitet, om det inte finns någon. Det finns två principdefinitioner i initiativet som hanterar skapandet av identiteter. Villkoren if i principdefinitionerna säkerställer rätt beteende baserat på datorresursens aktuella tillstånd i Azure.

Viktigt!

Dessa definitioner skapar en systemtilldelad hanterad identitet på målresurserna, utöver befintliga användartilldelade identiteter (om sådana finns). För befintliga program, såvida de inte anger den användartilldelade identiteten i begäran, kommer datorn som standard att använda systemtilldelad identitet i stället. Läs mer

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

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

Tillgänglighet

Kunder som utformar en lösning med hög tillgänglighet bör överväga planeringskraven för redundans 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 kopplad kan du visa gästtilldelningsrapporter om minst en region i paret är tillgänglig. När Azure-regionen inte är kopplad och den blir otillgänglig kan du inte komma åt rapporter för en gästtilldelning. När regionen har återställts kan du komma åt rapporterna igen.

Det är bästa praxis att tilldela samma principdefinitioner med samma parametrar till alla datorer i lösningen för program med hög tillgänglighet. Detta gäller särskilt för scenarier där virtuella datorer etableras i tillgänglighetsuppsättningar bakom en lastbalanserare. En enskild principtilldelning som omfattar alla datorer har minst administrativa omkostnader.

För datorer som skyddas av Azure Site Recovery kontrollerar du att datorerna på den primära och sekundära platsen är inom omfånget för Azure Policy-tilldelningar för samma definitioner. Använd samma parametervärden för båda platserna.

Dataresidens

Datorkonfiguration lagrar och bearbetar kunddata. Som standard replikeras kunddata till den kopplade regionen. För regionerna Singapore, Brasilien, södra och Asien, östra lagras och bearbetas alla kunddata i regionen.

Felsöka datorkonfiguration

Mer information om hur du felsöker datorkonfiguration finns i Felsökning av Azure Policy.

Flera tilldelningar

För närvarande stöder endast vissa inbyggda definitioner av datorkonfigurationsprinciper flera tilldelningar. Alla anpassade principer har dock stöd för flera tilldelningar som standard om du använde den senaste versionen av PowerShell-modulen GuestConfiguration för att skapa datorkonfigurationspaket och principer.

Här följer en lista över inbyggda definitioner av datorkonfigurationsprinciper som stöder flera tilldelningar:

ID DisplayName
/providers/Microsoft.Authorization/policyDefinitions/5fe81c49-16b6-4870-9cee-45d13bf902ce Lokala autentiseringsmetoder bör inaktiveras på Windows-servrar
/providers/Microsoft.Authorization/policyDefinitions/fad40cac-a972-4db0-b204-f1b15cced89a Lokala autentiseringsmetoder bör inaktiveras på Linux-datorer
/providers/Microsoft.Authorization/policyDefinitions/f40c7c00-b4e3-4068-a315-5fe81347a904 [Förhandsversion]: Lägg till användartilldelad hanterad identitet för att aktivera gästkonfigurationstilldelningar på virtuella datorer
/providers/Microsoft.Authorization/policyDefinitions/63594bb8-43bb-4bf0-bbf8-c67e5c28cb65 [Förhandsversion]: Linux-datorer bör uppfylla STIG-efterlevnadskrav för Azure-beräkning
/providers/Microsoft.Authorization/policyDefinitions/50c52fc9-cb21-4d99-9031-d6a0c613361c [Förhandsversion]: Windows-datorer bör uppfylla STIG-efterlevnadskrav för Azure-beräkning
/providers/Microsoft.Authorization/policyDefinitions/e79ffbda-ff85-465d-ab8e-7e58a557660f [Förhandsversion]: Linux-datorer med OMI installerat bör ha version 1.6.8-1 eller senare
/providers/Microsoft.Authorization/policyDefinitions/934345e1-4dfb-4c70-90d7-41990dc9608b Granska Windows-datorer som inte innehåller de angivna certifikaten i betrodd rot
/providers/Microsoft.Authorization/policyDefinitions/08a2f2d2-94b2-4a7b-aa3b-bb3f523ee6fd Granska Windows-datorer där DSC-konfigurationen inte är kompatibel
/providers/Microsoft.Authorization/policyDefinitions/c648fbbb-591c-4acd-b465-ce9b176ca173 Granska Windows-datorer som inte har den angivna Windows PowerShell-körningsprincipen
/providers/Microsoft.Authorization/policyDefinitions/3e4e2bd5-15a2-4628-b3e1-58977e9793f3 Granska Windows-datorer som inte har de angivna Windows PowerShell-modulerna installerade
/providers/Microsoft.Authorization/policyDefinitions/58c460e9-7573-4bb2-9676-339c2f2486bb Granska Windows-datorer där Windows-seriekonsolen inte är aktiverad
/providers/Microsoft.Authorization/policyDefinitions/e6ebf138-3d71-4935-a13b-9c7fdddd94df Granska Windows-datorer där de angivna tjänsterna inte är installerade och "Körs"
/providers/Microsoft.Authorization/policyDefinitions/c633f6a2-7f8b-4d9e-9456-02f0f04f5505 Granska Windows-datorer som inte är inställda på den angivna tidszonen

Kommentar

På den här sidan finns regelbundet uppdateringar av listan över inbyggda definitioner av datorkonfigurationsprinciper som stöder flera tilldelningar.

Tilldelningar till Azure-hanteringsgrupper

Azure Policy-definitioner i kategorin Guest Configuration kan tilldelas till hanteringsgrupper när effekten är AuditIfNotExists eller DeployIfNotExists.

Klientloggfiler

Datorkonfigurationstillägget skriver loggfiler till följande platser:

Windows

  • Virtuell Azure-dator: C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log
  • Arc-aktiverad server: C:\ProgramData\GuestConfig\arc_policy_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 i felsökning av datorkonfigurationer eller moduler bör vara att använda cmdletarna enligt stegen i Testa maskinkonfigurationspaketartefakter. Om det inte lyckas kan insamling av klientloggar hjälpa dig att diagnostisera problem.

Windows

Samla in information från loggfiler med Azure VM Run Command. Följande exempel på PowerShell-skript kan vara användbart.

$linesToIncludeBeforeMatch = 0
$linesToIncludeAfterMatch  = 10
$params = @{
    Path = 'C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log'
    Pattern = @(
        'DSCEngine'
        'DSCManagedEngine'
    )
    CaseSensitive = $true
    Context = @(
        $linesToIncludeBeforeMatch
        $linesToIncludeAfterMatch
    )
}
Select-String @params | Select-Object -Last 10

Linux

Samla in information från loggfiler med körkommandot för virtuella Azure-datorer. Följande exempel på Bash-skript kan vara användbart.

LINES_TO_INCLUDE_BEFORE_MATCH=0
LINES_TO_INCLUDE_AFTER_MATCH=10
LOGPATH=/var/lib/GuestConfig/gc_agent_logs/gc_agent.log
egrep -B $LINES_TO_INCLUDE_BEFORE_MATCH -A $LINES_TO_INCLUDE_AFTER_MATCH 'DSCEngine|DSCManagedEngine' $LOGPATH | tail

Agentfiler

Datorkonfigurationsagenten laddar ned innehållspaket till en dator och extraherar innehållet. Om du vill kontrollera vilket innehåll som har laddats ned och lagrats kan du visa mappplatserna i följande lista.

  • Windows: C:\ProgramData\guestconfig\configuration
  • Linux: /var/lib/GuestConfig/Configuration

Nxtools-modulfunktioner med öppen källkod

En ny nxtools-modul med öppen källkod har släppts för att underlätta hanteringen av Linux-system för PowerShell-användare.

Modulen hjälper dig att hantera vanliga uppgifter, till exempel:

  • Hantera användare och grupper
  • Utföra filsystemåtgärder
  • Hantera tjänster
  • Utföra arkivåtgärder
  • Hantera paket

Modulen innehåller klassbaserade DSC-resurser för Linux och inbyggda datorkonfigurationspaket.

Om du vill ge feedback om den här funktionen öppnar du ett problem i dokumentationen. Vi accepterar för närvarande inte pr för det här projektet, och supporten är det bästa sättet.

Datorkonfigurationsexempel

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

Nästa steg