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.
Kommunicera via Private Link i Azure
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.
Kommunicera via Private Link utanför Azure
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:
- Inbyggda principdefinitioner – Gästkonfiguration
- Inbyggda initiativ – Gästkonfiguration
- Azure Policy-exempel på GitHub-lagringsplats
- Exempel på DSC-resursmoduler
Nästa steg
- Konfigurera en anpassad utvecklingsmiljö för datorkonfigurationspaket.
- Skapa en paketartefakt för datorkonfiguration.
- Testa paketartefakten från din utvecklingsmiljö.
- Använd modulen GuestConfiguration för att skapa en Azure Policy-definition för skalningshantering av din miljö.
- Tilldela din anpassade principdefinition med hjälp av Azure-portalen.
- Lär dig hur du visar efterlevnadsinformation för tilldelningar av datorkonfigurationsprinciper .