Condividi tramite


Avvio rapido: Creare un'assegnazione di criteri per identificare le risorse non conformi usando l'interfaccia della riga di comando di Azure

Il primo passaggio per comprendere la conformità in Azure consiste nell'identificare lo stato delle risorse. In questa guida introduttiva si crea un'assegnazione di criteri per identificare le risorse non conformi usando l'interfaccia della riga di comando di Azure. I criteri vengono assegnati a un gruppo di risorse e controllano le macchine virtuali che non usano dischi gestiti. Dopo aver creato l'assegnazione dei criteri, si identificano le macchine virtuali non conformi.

L'interfaccia della riga di comando di Azure viene usata per creare e gestire le risorse di Azure dalla riga di comando o negli script. Questa guida usa l'interfaccia della riga di comando di Azure per creare un'assegnazione di criteri per identificare le risorse non conformi nell'ambiente Azure.

Quando si assegna un criterio predefinito o una definizione di iniziativa, è facoltativo fare riferimento a una versione. Le assegnazioni dei criteri delle definizioni integrate sono predefinite alla versione più recente ed ereditano automaticamente le modifiche di versione minori, a meno che non sia specificato diversamente.

Prerequisiti

  • Se non si ha un account Azure, creare un account gratuito prima di iniziare.
  • Interfaccia della riga di comando di Azure.
  • Visual Studio Code.
  • Microsoft.PolicyInsights deve essere registrato nella sottoscrizione di Azure. Per registrare un provider di risorse, è necessario disporre dell'autorizzazione per registrare i provider di risorse. Tale autorizzazione è inclusa nei ruoli Collaboratore e Proprietario.
  • Gruppo di risorse con almeno una macchina virtuale che non usa dischi gestiti.

Connect to Azure

Da una sessione del terminale di Visual Studio Code connettersi ad Azure. Se si dispone di più sottoscrizioni, eseguire i comandi per impostare il contesto sulla sottoscrizione. Sostituire <subscriptionID> con l'ID della sottoscrizione di Azure.

az login

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

Registrare il provider di risorse

Quando un provider di risorse è registrato, è disponibile per l'uso nella sottoscrizione di Azure.

Per verificare se Microsoft.PolicyInsights è registrato, eseguire Get-AzResourceProvider. Il provider di risorse contiene diversi tipi di risorse. Se il risultato è NotRegistered eseguire Register-AzResourceProvider:

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

az provider register --namespace Microsoft.PolicyInsights

I comandi dell'interfaccia della riga di comando di Azure usano una barra rovesciata (\) per la continuazione della riga per migliorare la leggibilità. Per altre informazioni, vedere az provider.

Crea assegnazione criteri

Usare i comandi seguenti per creare una nuova assegnazione di criteri per il gruppo di risorse. Questo esempio usa un gruppo di risorse esistente che contiene una macchina virtuale senza dischi gestiti. Il gruppo di risorse è l'ambito per l'assegnazione dei criteri. In questo esempio viene usata la definizione di criteri predefinita Controlla macchine virtuali che non usano dischi gestiti.

Eseguire i comandi seguenti e sostituire <resourceGroupName> con il nome del gruppo di risorse:

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)

La variabile rgid archivia l'ID del gruppo di risorse. La variabile definition archivia il nome della definizione dei criteri, ovvero un GUID.

Eseguire questo comando per creare l'assegnazione di criteri:

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 crea il nome dell'assegnazione dei criteri usato nell'oggetto ResourceId dell'assegnazione.
  • display-name è il nome per l'assegnazione dei criteri ed è visibile nel portale di Azure.
  • scope usa la variabile $rgid per assegnare i criteri al gruppo di risorse.
  • policy assegna la definizione dei criteri archiviata nella variabile $definition.
  • description può essere usato per aggiungere contesto sull'assegnazione dei criteri.

I risultati dell'assegnazione dei criteri sono simili all'esempio seguente:

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

Se si desidera riprodurre nuovamente le informazioni sull'assegnazione dei criteri, eseguire il comando seguente:

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

Per altre informazioni, vedere assegnazione di criteri az.

Identificare risorse non conformi

Lo stato di conformità per una nuova assegnazione di criteri richiede alcuni minuti per diventare attivo e fornire risultati sullo stato del criterio.

Usare il comando seguente per identificare le risorse non conformi all'assegnazione di criteri creata:

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

La variabile policyid usa un'espressione per ottenere l'ID dell'assegnazione dei criteri. Il parametro filter limita l'output a risorse non conformi.

L'output az policy state list è dettagliato, ma per questo articolo complianceState mostra NonCompliant:

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

Per altre informazioni, vedere stato criteri az.

Pulire le risorse

Eseguire il comando seguente per rimuovere l'assegnazione del criterio:

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

Per disconnettersi dalla sessione dell'interfaccia della riga di comando di Azure:

az logout

Passaggi successivi

In questa Guida introduttiva è stata assegnata una definizione dei criteri per identificare le risorse non conformi nell'ambiente Azure.

Per altre informazioni su come assegnare criteri che convalidano la conformità delle risorse, continuare con l'esercitazione.