Delen via


Quickstart: Een beleidstoewijzing maken om niet-compatibele resources te identificeren met behulp van Azure CLI

De eerste stap in het begrijpen van naleving in Azure is het identificeren van de status van uw resources. In deze quickstart maakt u een beleidstoewijzing om niet-compatibele resources te identificeren met behulp van Azure CLI. Het beleid wordt toegewezen aan een resourcegroep en controleert virtuele machines die geen beheerde schijven gebruiken. Nadat u de beleidstoewijzing hebt gemaakt, identificeert u niet-compatibele virtuele machines.

Azure CLI wordt gebruikt voor het maken en beheren van Azure-resources vanaf de opdrachtregel of in scripts. In deze gids wordt Azure CLI gebruikt om een beleidstoewijzing te maken om niet-compatibele resources te identificeren in uw Azure-omgeving.

Wanneer u een ingebouwde beleids- of initiatiefdefinitie toewijst, is het optioneel om te verwijzen naar een versie. Beleidstoewijzingen van ingebouwde definities zijn standaard ingesteld op de meest recente versie en nemen automatisch kleine versiewijzigingen over, tenzij anders opgegeven.

Vereisten

  • Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.
  • Azure CLI.
  • Visual Studio Code.
  • Microsoft.PolicyInsights moet zijn geregistreerd in uw Azure-abonnement. Als u een resourceprovider wilt registreren, moet u gemachtigd zijn om resourceproviders te registreren. Deze machtiging is opgenomen in de rollen Inzender en Eigenaar.
  • Een resourcegroep met ten minste één virtuele machine die geen beheerde schijven gebruikt.

Verbinding maken met Azure

Maak vanuit een Visual Studio Code-terminalsessie verbinding met Azure. Als u meer dan één abonnement hebt, voert u de opdrachten uit om context in te stellen op uw abonnement. Vervang <subscriptionID> door de id van uw Azure-abonnement.

az login

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

Resourceprovider registreren

Wanneer een resourceprovider is geregistreerd, is deze beschikbaar voor gebruik in uw Azure-abonnement.

Voer uit Get-AzResourceProviderom te controleren of Microsoft.PolicyInsights deze is geregistreerd. De resourceprovider bevat verschillende resourcetypen. Als het resultaat wordt NotRegistered uitgevoerd Register-AzResourceProvider:

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

az provider register --namespace Microsoft.PolicyInsights

De Azure CLI-opdrachten gebruiken een backslash (\) om de leesbaarheid te verbeteren. Ga naar az provider voor meer informatie.

Een beleidstoewijzing maken

Gebruik de volgende opdrachten om een nieuwe beleidstoewijzing voor uw resourcegroep te maken. In dit voorbeeld wordt een bestaande resourcegroep gebruikt die een virtuele machine zonder beheerde schijven bevat. De resourcegroep is het bereik voor de beleidstoewijzing. In dit voorbeeld wordt gebruikgemaakt van de ingebouwde beleidsdefinitie Vm's controleren die geen beheerde schijven gebruiken.

Voer de volgende opdrachten uit en vervang deze door <resourceGroupName> de naam van de resourcegroep:

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)

De rgid variabele slaat de resourcegroep-id op. De definition variabele slaat de naam van de beleidsdefinitie op, een GUID.

Voer de volgende opdracht uit om de beleidstoewijzing te maken:

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 maakt de naam van de beleidstoewijzing die wordt gebruikt in de toewijzing ResourceId.
  • display-name is de naam voor de beleidstoewijzing en is zichtbaar in Azure Portal.
  • scope gebruikt de $rgid variabele om het beleid toe te wijzen aan de resourcegroep.
  • policy wijst de beleidsdefinitie toe die is opgeslagen in de $definition variabele.
  • description kan worden gebruikt om context over de beleidstoewijzing toe te voegen.

De resultaten van de beleidstoewijzing lijken op het volgende voorbeeld:

"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",

Als u de beleidstoewijzingsgegevens opnieuw wilt weergeven, voert u de volgende opdracht uit:

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

Ga voor meer informatie naar az policy assignment.

Niet-compatibele resources identificeren

Het duurt enkele minuten voordat de nalevingsstatus voor een nieuwe beleidstoewijzing actief wordt en resultaten geeft over de status van het beleid.

Gebruik de volgende opdracht om resources te identificeren die niet compatibel zijn met de beleidstoewijzing die u hebt gemaakt:

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)"

De policyid variabele gebruikt een expressie om de id van de beleidstoewijzing op te halen. De filter parameter beperkt de uitvoer tot niet-compatibele resources.

De az policy state list uitvoer is uitgebreid, maar in dit artikel ziet u complianceState het volgende NonCompliant:

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

Ga naar az policy state voor meer informatie.

Resources opschonen

Voer de volgende opdracht uit om de beleidstoewijzing te verwijderen:

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

Afmelden bij uw Azure CLI-sessie:

az logout

Volgende stappen

In deze Quick Start hebt u een beleidsdefinitie toegewezen om niet-compatibele resources in uw Azure-omgeving te identificeren.

Ga verder met de zelfstudie voor meer informatie over het toewijzen van beleidsregels voor het valideren van resourcenaleving.