Démarrage rapide : Créer une attribution de stratégie pour identifier les ressources non conformes en utilisant Azure CLI
La première étape pour comprendre la conformité dans Azure consiste à identifier l’état de vos ressources. Dans ce guide de démarrage rapide, vous créez une attribution de stratégie pour identifier les ressources non conformes en utilisant Azure CLI. La stratégie est attribuée à un groupe de ressources et audite des machines virtuelles qui n’utilisent aucun disque managé. Après avoir créé l’attribution de stratégie, vous identifiez les machines virtuelles non conformes.
Azure CLI permet de créer et de gérer des ressources Azure à partir de la ligne de commande ou dans des scripts. Ce guide utilise l’interface de ligne de commande Azure pour créer une attribution de stratégie et identifier les ressources non conformes dans votre environnement Azure.
Lors de l’affectation d’une définition de stratégie ou d’initiative intégrée, il est facultatif de référencer une version. Les affectations de stratégie des définitions intégrées utilisent par défaut la dernière version, et héritent automatiquement des modifications de version mineures, sauf indication contraire.
Prérequis
- Si vous ne disposez pas d’un compte Azure, créez-en un gratuitement avant de commencer.
- Azure CLI.
- Visual Studio Code.
Microsoft.PolicyInsights
doit être inscrit dans votre abonnement Azure. Pour inscrire un fournisseur de ressources, vous devez avoir l’autorisation pour enregistrer les fournisseur de ressources. Cette autorisation est incluse dans les rôles Contributeur et Propriétaire.- Un groupe de ressources avec au moins une machine virtuelle qui n’utilise pas de disques managés.
Connexion à Azure
Depuis une session de terminal Visual Studio Code, connectez-vous à Azure. Si vous avez plusieurs abonnements, exécutez les commandes pour définir le contexte sur votre abonnement. Remplacez <subscriptionID>
par l’identifiant de votre abonnement Azure.
az login
# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription <subscriptionID>
Inscrire un fournisseur de ressources
Lorsqu’un fournisseur de ressources est inscrit, il est disponible pour être utilisé dans votre abonnement Azure.
Pour vérifier si Microsoft.PolicyInsights
est inscrite, exécutez Get-AzResourceProvider
. Le fournisseur de ressources contient plusieurs types de ressources. Si le résultat est NotRegistered
, exécutez Register-AzResourceProvider
:
az provider show \
--namespace Microsoft.PolicyInsights \
--query "{Provider:namespace,State:registrationState}" \
--output table
az provider register --namespace Microsoft.PolicyInsights
Les commandes Azure CLI utilisent une barre oblique inverse (\
) pour une continuation de ligne afin d’améliorer la visibilité. Pour plus d’informations, accédez à az provider.
Création d’affectations de stratégies
Utilisez les commandes suivantes pour créer une attribution de stratégie pour votre groupe de ressources. Cet exemple utilise un groupe de ressources existant qui contient une machine virtuelle sans disques managés. Le groupe de ressources est l’étendue de l’attribution de stratégie. Cet exemple utilise la définition de stratégie intégrée Auditer les machines virtuelles qui n’utilisent pas de disques managés.
Exécutez les commandes suivantes et remplacez <resourceGroupName>
par le nom de votre groupe de ressources :
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 variable rgid
stocke les ID de groupe de ressources. La variable definition
stocke le nom de la définition de stratégie, qui est un GUID.
Exécutez la commande suivante pour créer l’ attribution de stratégie :
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
crée le nom de l’affectation de stratégie utilisé dans les affectationsResourceId
.display-name
est le nom de l’attribution de stratégie et est visible dans le portail Azure.scope
utilise la variable$rgid
pour attribuer la stratégie au groupe de ressources.policy
affecte la définition de stratégie stockée dans la variable$definition
.description
peut être utilisé pour ajouter un contexte à propos de l’attribution de stratégie.
Les résultats de l’attribution de stratégie ressemblent à l’exemple suivant :
"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",
Si vous voulez réafficher les informations d’attribution de stratégie, exécutez la commande suivante :
az policy assignment show --name "audit-vm-managed-disks" --scope $rgid
Pour plus d’informations, accédez à az policy assignment.
Identifier des ressources non conformes
L’état de conformité d’une nouvelle attribution de stratégie prend quelques minutes pour devenir actif et fournir des résultats sur l’état de la stratégie.
Utilisez la commande suivante pour identifier les ressources qui ne sont pas conformes à l’attribution de stratégie que vous avez créée :
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 variable policyid
utilise une expression pour obtenir l’ID de l’affectation de stratégie. Le paramètre filter
limite la sortie vers des ressources non conformes.
La sortie az policy state list
est détaillée, mais pour cet article complianceState
montre NonCompliant
:
"complianceState": "NonCompliant",
"components": null,
"effectiveParameters": "",
"isCompliant": false,
Pour plus d’informations, accédez à az policy state.
Nettoyer les ressources
Pour supprimer l’attribution de stratégie, exécutez la commande suivante :
az policy assignment delete --name "audit-vm-managed-disks" --scope $rgid
Pour vous déconnecter de votre session Azure CLI :
az logout
Étapes suivantes
Dans ce démarrage rapide, vous avez affecté une définition de stratégie pour identifier les ressources non conformes de votre environnement Azure.
Pour en savoir plus sur l’affectation de stratégies qui valident la conformité des ressources, passez au didacticiel.