Verwalten von Azure-Richtlinien und Bereitstellen der Azure Monitoring Agent-Erweiterung für Linux- und Windows-Server mit Azure Arc-UnterstützungManage Azure policies and deploy the Azure monitoring agent extension to Azure Arc Linux and Windows servers

Dieser Artikel enthält einen Leitfaden zum Verwenden von Servern mit Azure Arc-Unterstützung, um Azure-Richtlinien für VMs außerhalb von Azure (lokale VMs oder VMs in anderen Clouds) zuzuweisen.This article provides guidance on how to use Azure Arc enabled servers to assign Azure policies to VMs outside of Azure, whether they are on-premises or on other clouds. Mit dieser Funktion können Sie nun unter Verwendung von Azure Policy Einstellungen im Betriebssystem eines Servers mit Azure Arc-Unterstützung überprüfen. Wenn eine Einstellung nicht konform ist, können Sie einen Wartungstask initiieren.With this feature you can now use Azure Policy to audit settings in the operating system of an Azure Arc enabled server, if a setting is not compliant you can also trigger a remediation task.

In diesem Fall weisen Sie eine Richtlinie zu, um zu überprüfen, ob auf dem mit Azure Arc verbundenen Computer der MMA-Agent (Microsoft Monitoring Agent) installiert ist.In this case, you will assign a policy to audit if the Azure Arc connected machine has the (Microsoft Monitoring Agent) MMA agent installed. Wenn dies nicht der Fall ist, verwenden Sie die Funktion für Erweiterungen, um ihn automatisch auf der VM bereitzustellen. Dabei handelt es sich um eine Registrierungsumgebung für Azure-VMs.If not, use the extensions feature to automatically deploy it to the VM, an enrollment experience that levels to Azure VMs. Mit diesem Ansatz kann sichergestellt werden, dass alle verwendeten Server in Dienste wie Azure Monitor, Azure Security Center oder Azure Sentinel integriert werden.This approach can be used to make sure all your servers are onboard to services such as Azure Monitor, Azure Security Center, Azure Sentinel, and so on.

Sie können Richtlinien über das Azure-Portal, eine Azure Resource Manager-Vorlage (ARM-Vorlage) oder ein PowerShell-Skript zu Azure-Abonnements oder Ressourcengruppen zuweisen.You can use the Azure portal, an Azure Resource Manager template (ARM template) or PowerShell script to assign policies to Azure subscriptions or resource groups. Im Folgenden wird eine ARM-Vorlage zum Zuweisen integrierter Richtlinien verwendet.The following procedures use an ARM template to assign built-in policies.

Wichtig

In den Verfahren in diesem Artikel wird davon ausgegangen, dass Sie bereits VMs oder Server bereitgestellt haben, die lokal oder in anderen Clouds ausgeführt werden, und diese mit Azure Arc verbunden haben. Falls nicht, können Sie diese Schritte mithilfe der folgenden Informationen automatisieren.The procedures in this article assumes you've already deployed VMs, or servers that are running on-premises or on other clouds, and you have connected them to Azure Arc. If you haven't, the following information can help you automate this.

Lesen Sie die Dokumentation zu den in Azure Monitor unterstützten Betriebssystemen, und stellen Sie sicher, dass die verwendeten VMs unterstützt werden.Please review the Azure Monitor supported OS documentation and ensure that the VMs you use for these procedures are supported. Überprüfen Sie bei Linux-VMs sowohl die Linux-Distribution als auch den Kernel, um sicherzustellen, dass Sie eine unterstützte Konfiguration verwenden.For Linux VMs, check both the Linux distribution and kernel to ensure you are using a supported configuration.

VoraussetzungenPrerequisites

  1. Klonen Sie das Repository für den Schnelleinstieg in Azure Arc.Clone the Azure Arc Jumpstart repository.

    git clone https://github.com/microsoft/azure_arc
    
  2. Wie oben erwähnt, setzt dieser Leitfaden voraus, dass Sie bereits VMs oder Server bereitgestellt und mit Azure Arc verbunden haben. In den folgenden Screenshots wird ein GCP-Server (Google Cloud Platform) verwendet, der mit Azure Arc verbunden wurde und als Ressource in Azure angezeigt wird.As mentioned, this guide starts at the point where you already deployed and connected VMs or servers to Azure Arc. In the following screenshots a Google Cloud Platform (GCP) server has been connected with Azure Arc and is visible as a resource in Azure.

    Screenshot einer Ressourcengruppe für einen Server mit Azure Arc-Unterstützung

    Screenshot eines Servers mit Azure Arc-Unterstützung, der den Status „Verbunden“ aufweist

  3. Installieren oder aktualisieren Sie die Azure-Befehlszeilenschnittstelle.Install or update Azure CLI. Die ausgeführte Version der Azure-Befehlszeilenschnittstelle muss mindestens 2.7 sein.Azure CLI should be running version 2.7 or later. Überprüfen Sie mit az --version die aktuell installierte Version.Use az --version to check your current installed version.

  4. Erstellen Sie einen Azure-Dienstprinzipal.Create an Azure service principal.

    Um eine VM oder einen Bare-Metal-Server mit Azure Arc zu verbinden, ist ein Azure-Dienstprinzipal erforderlich, dem die Rolle „Mitwirkender“ zugewiesen ist.To connect a VM or bare-metal server to Azure Arc, Azure service principal assigned with the Contributor role is required. Zum Erstellen dieses Dienstprinzipals melden Sie sich bei Ihrem Azure-Konto an und führen den folgenden Befehl aus.To create it, sign in to your Azure account and run the following command. Sie können diesen Befehl auch in Azure Cloud Shell ausführen.You can also run this command in Azure Cloud Shell.

    az login
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor
    

    Beispiel:For example:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor
    

    Die Ausgabe sollte wie folgt aussehen:The output should look like this:

    {
    "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "displayName": "AzureArcServers",
    "name": "http://AzureArcServers",
    "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Hinweis

    Es wird dringend empfohlen, für den Dienstprinzipal ein bestimmtes Azure-Abonnement und eine bestimmte Ressourcengruppe festzulegen.We highly recommend that you scope the service principal to a specific Azure subscription and resource group.

Außerdem muss ein Log Analytics-Arbeitsbereich bereitgestellt sein.You'll also need to have a Log Analytics workspace deployed. Sie können die Bereitstellung automatisieren, indem Sie die Parameterdatei der ARM-Vorlage bearbeiten und einen Namen sowie einen Speicherort für Ihren Arbeitsbereich angeben.You can automate the deployment by editing the ARM template parameters file and providing a name and location for your workspace.

Screenshot der Parameterdatei einer ARM-Vorlage

Navigieren Sie zum Bereitstellen der ARM-Vorlage zum Bereitstellungsordner, und führen Sie den folgenden Befehl aus:To deploy the ARM template, navigate to the deployment folder and run the following command:

az deployment group create --resource-group <Name of the Azure resource group> \
--template-file <The `log_analytics-template.json` template file location> \
--parameters <The `log_analytics-template.parameters.json` template file location>

Zuweisen von Richtlinien zu mit Azure Arc verbundenen ComputernAssign policies to Azure Arc connected machines

Nachdem alle Voraussetzungen eingerichtet wurden, können Sie den mit Azure Arc verbundenen Computern Richtlinien zuweisen.After all the prerequisites are set, you can assign policies to the Azure Arc connected machines. Bearbeiten Sie die Parameterdatei, und geben Sie Ihre Abonnement-ID sowie den Log Analytics-Arbeitsbereich an.Edit the parameters file to provide your subscription ID as well as the Log Analytics workspace.

Screenshot einer anderen Parameterdatei der ARM-Vorlage

  1. Starten Sie die Bereitstellung mit dem folgenden Befehl:To start the deployment, use the following command:

    az policy assignment create --name 'Enable Azure Monitor for VMs' \
    --scope '/subscriptions/<Your subscription ID>/resourceGroups/<Name of the Azure resource group>' \
    --policy-set-definition '55f3eceb-5573-4f18-9695-226972c6d74a' \
    -p <The *policy.json* template file location> \
    --assign-identity --location <Azure Region>
    

    Das Flag policy-set-definition verweist auf die Definitions-ID der Initiative Enable Azure Monitor.The policy-set-definition flag points to the initiative Enable Azure Monitor definition ID.

  2. Nach dem Zuweisen der Initiative dauert es ungefähr 30 Minuten, bis die Zuweisung auf den definierten Bereich angewandt wird.After the initiative is assigned, it takes about 30 minutes for the assignment to be applied to the defined scope. In Azure Policy wird dann der Auswertungszyklus für den mit Azure Arc verbundenen Computer gestartet. Dieser wird als nicht konform erkannt, da die Konfiguration des Log Analytics-Agents noch nicht bereitgestellt wurde.Azure Policy then starts the evaluation cycle against the Azure Arc connected machine and recognizes it as noncompliant because it still doesn't have the Log Analytics agent configuration deployed. Um dies zu überprüfen, navigieren Sie im Bereich für die Richtlinien zu dem mit Azure Arc verbundenen Computer.To check this, go to the Azure Arc connected machine under the policies section.

    Screenshot eines nicht konformen Azure Policy-Status

  3. Weisen Sie der nicht konformen Ressource einen Wartungstask zu, um einen konformen Status herzustellen.Now, assign a remediation task to the noncompliant resource to put into a compliant state.

    Screenshot der Erstellung eines Azure Policy-Wartungstasks

  4. Wählen Sie unter Zu korrigierende Richtlinie die Option [Vorschau] Log Analytics-Agent für Linux-Azure Arc-Computer bereitstellen und dann Korrigieren aus.Under Policy to remediate, choose [Preview] Deploy Log Analytics Agent to Linux Azure Arc machines and select Remediate. Mit diesem Wartungstask wird Azure Policy angewiesen, den Effekt DeployIfNotExists auszuführen und unter Verwendung der Verwaltungsfunktionen der Azure Arc-Erweiterung den Log Analytics-Agent auf der VM bereitzustellen.This remediation task is instructing Azure Policy to run the DeployIfNotExists effect and use the Azure Arc extension management capabilities to deploy the Log Analytics agent on the VM.

    Screenshot einer Azure Policy-Korrekturaktion in einem Wartungstask

  5. Nachdem Sie den Wartungstask zugewiesen haben, wird die Richtlinie erneut ausgewertet.After you have assigned remediation task, the policy will be evaluated again. Es sollte angezeigt werden, dass der Server für GCP konform ist und dass die Microsoft Monitoring Agent-Erweiterung auf dem Azure Arc-Computer installiert ist.It should show that the server on GCP is compliant and that the Microsoft Monitoring Agent extension is installed on the Azure Arc machine.

    Screenshot der Konfiguration eines Wartungstasks

    Screenshot eines konformen Azure Policy-Status

Bereinigen Ihrer UmgebungClean up your environment

Führen Sie die folgenden Schritte aus, um die Umgebung zu bereinigen.Complete the following steps to clean up your environment.

  1. Entfernen Sie die VMs aus jeder Umgebung anhand der Löschanweisungen in den folgenden Leitfäden.Remove the virtual machines from each environment by following the teardown instructions from each guide.

  2. Entfernen Sie die Azure Policy-Zuweisung, indem Sie das folgende Skript in der Azure-Befehlszeilenschnittstelle ausführen.Remove the Azure Policy assignment by executing the following script in Azure CLI.

    az policy assignment delete --name 'Enable Azure Monitor for VMs' --resource-group <resource-group>
    
  3. Entfernen Sie den Log Analytics-Arbeitsbereich, indem Sie in der Azure-Befehlszeilenschnittstelle das folgende Skript ausführen.Remove the Log Analytics workspace by executing the following script in Azure CLI. Geben Sie den Namen des Arbeitsbereichs an, den Sie beim Erstellen des Log Analytics-Arbeitsbereichs verwendet haben.Provide the workspace name you used when creating the Log Analytics workspace.

    az monitor log-analytics workspace delete --resource-group <Name of the Azure resource group> --workspace-name <Log Analytics workspace Name> --yes