Schnellstart: Erstellen einer Richtlinienzuweisung zum Identifizieren nicht konformer Ressourcen mithilfe von Azure CLI

Zum Verständnis der Konformität in Azure müssen Sie zunächst wissen, wie Sie den Status Ihrer Ressourcen ermitteln. In diesem Schnellstart erstellen Sie mit Azure CLI eine Richtlinienzuweisung zum Ermitteln nicht konformer Ressourcen. Die Richtlinie wird einer Ressourcengruppe zugewiesen und überwacht VMs, die keine verwalteten Datenträger verwenden. Nachdem Sie die Richtlinienzuweisung erstellt haben, ermitteln Sie nicht konforme VMs.

Die Azure CLI dient zum Erstellen und Verwalten von Azure-Ressourcen über die Befehlszeile oder mit Skripts. In dieser Anleitung wird die Azure-Befehlszeilenschnittstelle verwendet, um eine Richtlinienzuweisung zu erstellen und nicht konforme Ressourcen in Ihrer Azure-Umgebung zu identifizieren.

Voraussetzungen

  • Sollten Sie kein Azure-Konto haben, erstellen Sie zunächst ein kostenloses Konto.
  • Azure-Befehlszeilenschnittstelle.
  • Visual Studio Code.
  • Microsoft.PolicyInsights muss in Ihrem Azure-Abonnement registriert sein. Um einen Ressourcenanbieter zu registrieren, benötigen Sie die Berechtigung zum Registrieren von Ressourcenanbietern. Diese Berechtigung ist in den Rollen „Mitwirkender“ und „Besitzer“ enthalten.
  • Eine Ressourcengruppe mit mindestens einer VM, die keine verwalteten Datenträger verwendet.

Herstellen einer Verbindung mit Azure

Stellen Sie in einer Visual Studio Code-Terminalsitzung eine Verbindung mit Azure her. Wenn Sie über mehrere Abonnements verfügen, führen Sie die Befehle aus, um den Kontext für Ihr Abonnement festzulegen. Ersetzen Sie <subscriptionID> durch Ihre Azure-Abonnement-ID.

az login

# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription <subscriptionID>

Registrieren des Ressourcenanbieters

Wenn ein Ressourcenanbieter registriert ist, ist er zur Verwendung in Ihrem Azure-Abonnement verfügbar.

Führen Sie Get-AzResourceProvider aus, um zu überprüfen, ob Microsoft.PolicyInsights registriert ist. Der Ressourcenanbieter enthält mehrere Ressourcentypen. Wenn das Ergebnis NotRegistered ist, führen Sie Register-AzResourceProvider aus:

az provider show \
  --namespace Microsoft.PolicyInsights \
  --query "{Provider:namespace,State:registrationState}" \
  --output table

az provider register --namespace Microsoft.PolicyInsights

Die Azure CLI-Befehle verwenden einen umgekehrten Schrägstrich (\) für die Zeilenfortsetzung, um die Lesbarkeit zu verbessern. Weitere Informationen hierzu finden Sie unter az provider.

Erstellen einer Richtlinienzuweisung

Verwenden Sie die folgenden Befehle, um eine neue Richtlinienzuweisung für Ihre Ressourcengruppe zu erstellen. In diesem Beispiel wird eine vorhandene Ressourcengruppe verwendet, die eine VM ohne verwaltete Datenträger enthält. Die Ressourcengruppe ist der Bereich für die Richtlinienzuweisung. Dieses Beispiel verwendet die integrierte Richtliniendefinition Virtuelle Computer überwachen, die keine verwalteten Datenträger verwenden.

Führen Sie die folgenden Befehle aus, und ersetzen Sie <resourceGroupName> durch Ihren Ressourcengruppennamen:

rgid=$(az group show --resource-group <resourceGroupName> --query id --output tsv)

definition=$(az policy definition list \
  --query "[?displayName=='Audit VMs that do not use managed disks']".name \
  --output tsv)

Die rgid-Variable speichert die Ressourcengruppen-ID. Die definition-Variable speichert den Namen der Richtliniendefinition, bei dem es sich um eine GUID handelt.

Führen Sie den folgenden Befehl aus, um die Richtlinienzuweisung zu erstellen:

az policy assignment create \
  --name 'audit-vm-managed-disks' \
  --display-name 'Audit VM managed disks' \
  --scope $rgid \
  --policy $definition \
  --description 'Azure CLI policy assignment to resource group'
  • name erstellt den Richtlinienzuweisungsnamen, der in der ResourceId der Zuordnung verwendet wird.
  • display-name ist der Name für die Richtlinienzuweisung und ist im Azure-Portal sichtbar.
  • scope verwendet die $rgid-Variable, um die Richtlinie der Ressourcengruppe zuzuweisen.
  • policy weist die in der Variablen $definition gespeicherte Richtliniendefinition zu.
  • description kann verwendet werden, um Kontext zur Richtlinienzuweisung hinzuzufügen.

Die Ergebnisse der Richtlinienzuweisung ähneln dem folgenden Beispiel:

"description": "Azure CLI policy assignment to resource group",
"displayName": "Audit VM managed disks",
"enforcementMode": "Default",
"id": "/subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments/audit-vm-managed-disks",
"identity": null,
"location": null,
"metadata": {
  "createdBy": "11111111-1111-1111-1111-111111111111",
  "createdOn": "2024-02-23T18:42:27.4780803Z",
  "updatedBy": null,
  "updatedOn": null
},
"name": "audit-vm-managed-disks",

Wenn Sie die Informationen zur Richtlinienzuweisung erneut anzeigen möchten, führen Sie den folgenden Befehl aus:

az policy assignment show --name "audit-vm-managed-disks" --scope $rgid

Weitere Informationen finden Sie unter az policy assignment.

Identifizieren nicht konformer Ressourcen

Es dauert einige Minuten, bis der Konformitätszustand für eine neue Richtlinienzuweisung aktiviert ist und Ergebnisse zum Status der Richtlinie liefert.

Verwenden Sie folgenden Befehl, um Ressourcen zu ermitteln, die nicht mit der erstellten Richtlinienzuweisung konform sind:

policyid=$(az policy assignment show \
  --name "audit-vm-managed-disks" \
  --scope $rgid \
  --query id \
  --output tsv)

az policy state list --resource $policyid --filter "(isCompliant eq false)"

Die policyid-Variable verwendet einen Ausdruck, um die ID der Richtlinienzuweisung abzurufen. Der filter-Parameter beschränkt die Ausgabe auf nicht kompatible Ressourcen.

Die Ausgabe von az policy state list ist ausführlich, aber für diesen Artikel zeigt der complianceState den Wert NonCompliant an:

"complianceState": "NonCompliant",
"components": null,
"effectiveParameters": "",
"isCompliant": false,

Weitere Informationen finden Sie unter az policy state.

Bereinigen von Ressourcen

Führen Sie den folgenden Befehl aus, um die Richtlinienzuweisung zu entfernen:

az policy assignment delete --name "audit-vm-managed-disks" --scope $rgid

Abmeldung von Ihrer Azure CLI-Sitzung:

az logout

Nächste Schritte

In diesem Schnellstart haben Sie eine Richtliniendefinition zum Identifizieren nicht kompatibler Ressourcen in Ihrer Azure-Umgebung zugewiesen.

Um mehr über das Zuweisen von Richtlinien zu lernen, welche die Ressourcenkonformität überprüfen, fahren Sie mit diesem Tutorial fort.