Inzicht in de machineconfiguratiefunctie van Azure Automanage

Notitie

Azure Policy gastconfiguratie heet nu Azure Automanage Machine Configuration. Meer informatie over de recente naamswijziging van Microsoft services voor configuratiebeheer.

de machineconfiguratiefunctie van Azure Policy biedt systeemeigen mogelijkheid om instellingen van het besturingssysteem als code te controleren of te configureren, zowel voor machines die worden uitgevoerd in Azure als hybride Arc-machines. De functie kan rechtstreeks per machine worden gebruikt of op schaal worden ingedeeld door Azure Policy.

Configuratieresources in Azure zijn ontworpen als extensieresource. U kunt elke configuratie voorstellen als een extra set eigenschappen voor de machine. Configuraties kunnen instellingen bevatten zoals:

  • Instellingen van besturingssysteem
  • Configuratie of aanwezigheid van toepassingen
  • Omgevingsinstellingen

Configuraties verschillen van beleidsdefinities. Machineconfiguratie maakt gebruik van Azure Policy om configuraties dynamisch toe te wijzen aan machines. U kunt configuraties ook handmatig toewijzen aan machines of met behulp van andere Azure-services, zoals Automanage.

De volgende tabel bevat voorbeelden van elk scenario.

Type Beschrijving Voorbeeldverhaal
Configuratiebeheer U wilt een volledige weergave van een server, als code in broncodebeheer. De implementatie moet eigenschappen van de server (grootte, netwerk, opslag) en configuratie van besturingssysteem- en toepassingsinstellingen bevatten. "Deze computer moet een webserver zijn die is geconfigureerd voor het hosten van mijn website."
Naleving U wilt instellingen controleren of implementeren op alle computers binnen het bereik reactief op bestaande machines of proactief op nieuwe machines wanneer ze worden geïmplementeerd. "Alle computers moeten TLS 1.2 gebruiken. Bestaande machines controleren, zodat ik wijzigingen kan vrijgeven waar deze nodig zijn, op een gecontroleerde manier en op schaal. Voor nieuwe machines moet u de instelling afdwingen wanneer ze worden geïmplementeerd.

De resultaten per instelling van configuraties kunnen worden weergegeven op de pagina Gasttoewijzingen of als de configuratie wordt ingedeeld door een Azure Policy toewijzing, door te klikken op de koppeling 'Laatst geëvalueerde resource' op de pagina Details van naleving.

Er is een video-overzicht van dit document beschikbaar. (update binnenkort beschikbaar)

Computerconfiguratie inschakelen

Als u de status van machines in uw omgeving wilt beheren, inclusief machines in Azure- en Arc-servers, raadpleegt u de volgende details.

Resourceprovider

Voordat u de machineconfiguratiefunctie van Azure Policy kunt gebruiken, moet u de Microsoft.GuestConfiguration resourceprovider registreren. Als de toewijzing van een machineconfiguratiebeleid wordt uitgevoerd via de portal of als het abonnement is ingeschreven bij Microsoft Defender voor Cloud, wordt de resourceprovider automatisch geregistreerd. U kunt zich handmatig registreren via de portal, Azure PowerShell of Azure CLI.

Implementatievereisten voor virtuele Azure-machines

Als u instellingen binnen een machine wilt beheren, wordt een VM-extensie ingeschakeld en moet de machine een door het systeem beheerde identiteit hebben. De extensie downloadt de toepasselijke machineconfiguratietoewijzing en de bijbehorende afhankelijkheden. De identiteit wordt gebruikt om de machine te verifiëren terwijl deze leest en schrijft naar de machineconfiguratieservice. De extensie is niet vereist voor Arc-servers omdat de extensie is opgenomen in de Arc Connected Machine-agent.

Belangrijk

De extensie voor machineconfiguratie en een beheerde identiteit zijn vereist voor het beheren van virtuele Azure-machines.

Als u de extensie op een groot aantal computers wilt implementeren, wijst u het beleidsinitiatief toeDeploy prerequisites to enable machine configuration policies on virtual machines naar een beheergroep, abonnement of resourcegroep met de machines die u wilt beheren.

Als u de extensie en beheerde identiteit liever op één computer wilt implementeren, volgt u de richtlijnen voor elke computer:

Als u machineconfiguratiepakketten wilt gebruiken die configuraties toepassen, is Azure VM-gastconfiguratie-extensie versie 1.29.24 of hoger vereist.

Limieten die zijn ingesteld voor de extensie

Om te voorkomen dat de extensie invloed heeft op toepassingen die op de computer worden uitgevoerd, mag de machineconfiguratieagent niet meer dan 5% van het CPU-gebruik overschrijden. Deze beperking bestaat voor zowel ingebouwde als aangepaste definities. Hetzelfde geldt voor de machineconfiguratieservice in de Arc Connected Machine-agent.

Validatiehulpprogramma's

Op de machine maakt de machineconfiguratieagent gebruik van lokale hulpprogramma's om taken uit te voeren.

In de volgende tabel ziet u een lijst met de lokale hulpprogramma's die in elk ondersteund besturingssysteem worden gebruikt. Voor ingebouwde inhoud zorgt computerconfiguratie voor het automatisch laden van deze hulpprogramma's.

Besturingssysteem Validatieprogramma Notities
Windows PowerShell Desired State Configuration v3 Side-loaded naar een map die alleen wordt gebruikt door Azure Policy. Veroorzaakt geen conflict met Windows PowerShell DSC. PowerShell Core wordt niet toegevoegd aan het systeempad.
Linux PowerShell Desired State Configuration v3 Side-loaded naar een map die alleen wordt gebruikt door Azure Policy. PowerShell Core wordt niet toegevoegd aan het systeempad.
Linux Chef InSpec Installeert Chef InSpec versie 2.2.61 op de standaardlocatie en voegt het pakket toe aan het systeempad. Afhankelijkheden voor het InSpec-pakket, inclusief Ruby en Python, worden ook geïnstalleerd.

Validatiefrequentie

De machineconfiguratieagent controleert elke 5 minuten op nieuwe of gewijzigde gasttoewijzingen. Zodra een gasttoewijzing is ontvangen, worden de instellingen voor die configuratie opnieuw gecontroleerd met een interval van 15 minuten. Als er meerdere configuraties zijn toegewezen, worden ze sequentieel geëvalueerd. Langlopende configuraties zijn van invloed op het interval voor alle configuraties, omdat de volgende pas wordt uitgevoerd als de vorige configuratie is voltooid.

Resultaten worden verzonden naar de machineconfiguratieservice wanneer de controle is voltooid. Wanneer een trigger voor beleidsevaluatie plaatsvindt, wordt de status van de machine naar de resourceprovider van de machineconfiguratie geschreven. Deze update zorgt ervoor dat Azure Policy de Eigenschappen van Azure Resource Manager evalueert. Een evaluatie op aanvraag Azure Policy haalt de meest recente waarde op van de resourceprovider van de machineconfiguratie. Er wordt echter geen nieuwe activiteit binnen de machine geactiveerd. De status wordt vervolgens naar Azure Resource Graph geschreven.

Ondersteunde clienttypen

Beleidsdefinities voor machineconfiguratie zijn inclusief nieuwe versies. Oudere versies van besturingssystemen die beschikbaar zijn in Azure Marketplace worden uitgesloten als de gastconfiguratieclient niet compatibel is. In de volgende tabel ziet u een lijst met ondersteunde besturingssystemen in Azure-installatiekopieën. De tekst '.x' staat symbool voor nieuwe secundaire versies van Linux-distributies.

Publisher Naam Versies
Amazon Linux 2
Canonical Ubuntu Server 14.04 - 20.x
Credativ Debian 8 - 10.x
Microsoft Windows Server 2012 - 2022
Microsoft Windows-client 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 wordt niet ondersteund.

Aangepaste installatiekopieën van virtuele machines worden ondersteund door beleidsdefinities voor machineconfiguratie zolang ze een van de besturingssystemen in de bovenstaande tabel zijn.

Netwerkvereisten

Virtuele Azure-machines kunnen hun lokale virtuele netwerkadapter (vNIC) of Azure Private Link gebruiken om te communiceren met de machineconfiguratieservice.

Machines met Azure Arc maken verbinding met behulp van de on-premises netwerkinfrastructuur om Azure-services te bereiken en de nalevingsstatus te rapporteren.

Hieronder volgt een lijst met de Azure Storage-eindpunten die vereist zijn voor virtuele machines met Azure en Azure Arc om te communiceren met de resourceprovider van de machineconfiguratie in 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

Communiceren via virtuele netwerken in Azure

Voor communicatie met de resourceprovider van de machineconfiguratie in Azure hebben machines uitgaande toegang tot Azure-datacenters op poort 443 nodig. Als een netwerk in Azure uitgaand verkeer niet toestaat, configureert u uitzonderingen met regels voor netwerkbeveiligingsgroepen . De servicetags 'AzureArcInfrastructure' en 'Storage' kunnen worden gebruikt om te verwijzen naar de gastconfiguratie en opslagservices in plaats van de lijst met IP-bereiken voor Azure-datacenters handmatig bij te houden. Beide tags zijn vereist omdat inhoudspakketten voor machineconfiguraties worden gehost door Azure Storage.

Virtuele machines kunnen private link gebruiken voor communicatie met de machineconfiguratieservice. Pas de tag toe met de naam EnablePrivateNetworkGC en waarde TRUE om deze functie in te schakelen. De tag kan worden toegepast voor of nadat de beleidsdefinities voor machineconfiguratie op de computer zijn toegepast.

Verkeer wordt gerouteerd met behulp van het virtuele openbare IP-adres van Azure om een beveiligd, geverifieerd kanaal tot stand te brengen met Azure-platformresources.

Communiceren via openbare eindpunten buiten Azure

Servers die zich on-premises of in andere clouds bevinden, kunnen worden beheerd met machineconfiguratie door ze te verbinden met Azure Arc.

Voor servers met Azure Arc staat u verkeer toe met behulp van de volgende patronen:

  • Poort: alleen TCP 443 is vereist voor uitgaande toegang tot internet
  • Globale URL: *.guestconfiguration.azure.com

Zie de netwerkvereisten voor servers met Azure Arc voor een volledige lijst met alle netwerkeindpunten die zijn vereist voor de Azure Connected Machine Agent voor kernscenario's voor Azure Arc en machineconfiguratie.

Wanneer u private link gebruikt met servers met Arc, worden ingebouwde beleidspakketten automatisch gedownload via de privékoppeling. U hoeft geen tags in te stellen op de server met Arc om deze functie in te schakelen.

Beleid toewijzen aan machines buiten Azure

De controlebeleidsdefinities die beschikbaar zijn voor machineconfiguratie bevatten de Microsoft. Resourcetype HybridCompute/machines. Alle computers die zijn toegevoegd aan servers met Azure Arc die binnen het bereik van de beleidstoewijzing vallen, worden automatisch opgenomen.

Vereisten voor beheerde identiteit

Beleidsdefinities in het initiatief Vereisten implementeren om gastconfiguratiebeleid in te schakelen op virtuele machines , maken een door het systeem toegewezen beheerde identiteit mogelijk, als deze niet bestaat. Het initiatief bevat twee beleidsdefinities waarmee het maken van identiteiten wordt beheerd. De ALS-voorwaarden in de beleidsdefinities zorgen voor het juiste gedrag op basis van de huidige status van de machineresource in Azure.

Belangrijk

Deze definities maken een System-Assigned beheerde identiteit op de doelresources, naast bestaande User-Assigned-identiteiten (indien aanwezig). Voor bestaande toepassingen, tenzij ze de User-Assigned identiteit in de aanvraag opgeven, gebruikt de computer standaard System-Assigned Identity. Meer informatie

Als de machine momenteel geen beheerde identiteiten heeft, is het effectieve beleid: Door het systeem toegewezen beheerde identiteit toevoegen om machineconfiguratietoewijzingen in te schakelen op virtuele machines zonder identiteiten

Als de computer momenteel een door de gebruiker toegewezen systeemidentiteit heeft, is het effectieve beleid: Door het systeem toegewezen beheerde identiteit toevoegen om machineconfiguratietoewijzingen in te schakelen op VM's met een door de gebruiker toegewezen identiteit

Beschikbaarheid

Klanten die een oplossing met hoge beschikbaarheid ontwerpen, moeten rekening houden met de planningsvereisten voor redundantie voor virtuele machines , omdat gasttoewijzingen uitbreidingen zijn van machineresources in Azure. Wanneer resources voor gasttoewijzing worden ingericht in een Gekoppelde Azure-regio, zolang er ten minste één regio in het paar beschikbaar is, zijn gasttoewijzingsrapporten beschikbaar. Als de Azure-regio niet is gekoppeld en deze niet meer beschikbaar is, is het niet mogelijk om rapporten voor een gasttoewijzing te openen totdat de regio is hersteld.

Wanneer u een architectuur overweegt voor toepassingen met hoge beschikbaarheid, met name wanneer virtuele machines worden ingericht in beschikbaarheidssets achter een load balancer-oplossing om hoge beschikbaarheid te bieden, is het raadzaam om dezelfde beleidsdefinities met dezelfde parameters toe te wijzen aan alle machines in de oplossing. Indien mogelijk biedt één beleidstoewijzing die alle machines beslaat de minste administratieve overhead.

Voor machines die worden beveiligd door Azure Site Recovery, moet u ervoor zorgen dat machines in een secundaire site binnen het bereik van Azure Policy-toewijzingen vallen voor dezelfde definities die dezelfde parameterwaarden gebruiken als machines in de primaire site.

Gegevenslocatie

Machineconfiguratie slaat klantgegevens op/verwerkt deze. Standaard worden klantgegevens gerepliceerd naar de gekoppelde regio. Voor de regio's: Singapore, Brazilië - zuid en Azië - oost worden alle klantgegevens opgeslagen en verwerkt in de regio.

Problemen met machineconfiguratie oplossen

Zie Azure Policy probleemoplossing voor meer informatie over het oplossen van problemen met machineconfiguratie.

Meerdere opdrachten

Beleidsdefinities voor gastconfiguratie bieden nu ondersteuning voor het toewijzen van dezelfde gasttoewijzing aan meerdere keren per computer wanneer de beleidstoewijzing verschillende parameters gebruikt.

Toewijzingen aan Azure-beheergroepen

Azure Policy definities in de categorie 'Gastconfiguratie' kunnen alleen aan beheergroepen worden toegewezen als het effect 'AuditIfNotExists' is. Beleidsdefinities met het effect DeployIfNotExists worden niet ondersteund als toewijzingen aan beheergroepen.

Clientlogboekbestanden

De extensie voor machineconfiguratie schrijft logboekbestanden naar de volgende locaties:

Windows

  • Azure-VM: C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log
  • Server met Arc: C:\ProgramData\GuestConfig\arc_policy_logs\gc_agent.log

Linux

  • Azure-VM: /var/lib/GuestConfig/gc_agent_logs/gc_agent.log
  • Server met Arc: /var/lib/GuestConfig/arc_policy_logs/gc_agent.log

Logboeken op afstand verzamelen

De eerste stap bij het oplossen van problemen met machineconfiguraties of -modules moet zijn het gebruik van de cmdlets volgens de stappen in Artefacten voor machineconfiguratiepakketten testen. Als dat niet lukt, kan het verzamelen van clientlogboeken helpen bij het diagnosticeren van problemen.

Windows

Leg gegevens uit logboekbestanden vast met behulp van de Opdracht Uitvoeren van Azure VM. Het volgende PowerShell-voorbeeldscript kan nuttig zijn.

$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

Leg gegevens uit logboekbestanden vast met behulp van de Opdracht Uitvoeren van Azure VM. Het volgende voorbeeld van een Bash-script kan handig zijn.

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

Agentbestanden

De machineconfiguratieagent downloadt inhoudspakketten naar een computer en extraheert de inhoud. Als u wilt controleren welke inhoud is gedownload en opgeslagen, bekijkt u de onderstaande maplocaties.

Windows: c:\programdata\guestconfig\configuration

Linux: /var/lib/GuestConfig/Configuration

Voorbeelden van machineconfiguratie

Ingebouwde beleidsvoorbeelden voor machineconfiguratie zijn beschikbaar op de volgende locaties:

Volgende stappen