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.
Beim Zuweisen einer integrierten Richtlinien- oder Initiativendefinition ist der Verweis auf eine Version optional. Richtlinienzuweisungen von integrierten Definitionen sind standardmäßig auf die neueste Version festgelegt und erben automatisch Nebenversionsänderungen, sofern nicht anders angegeben.
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 derResourceId
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.
Fahren Sie mit dem Tutorial fort, um mehr über das Zuweisen von Richtlinien zu lernen, die überprüfen, ob Ressourcen konform sind.