Article 3 -Azure Initiatives

Cet article traitera de la gestion de souscriptions Azure au travers de Policy.
Nous allons voir ici, l’utilisation des Initiatives

Une Initiative est une compilation de Security Policies, qui peuvent être Custom ou Built in.


Il y a beaucoup de catégories pour les Initiatives, nous allons utiliser la catégorie Security Center.

2. Initiative export
Actuellement il n’est pas possible d’exporter une Initiative.
L’astuce est donc, une fois l’Initiative créée depuis le portail, de lister l’ensemble des informations en utilisant PowerShell pour recréer l’Initiative.
Le seul paramètre requis est la Definition ID, qui peut être copiée dans le portal.
Actuellement il n’est pas possible d’exporter une Initiative.
L’astuce est donc, une fois l’Initiative créée depuis le portail, de lister l’ensemble des informations en utilisant PowerShell pour recréer l’Initiative.
Le seul paramètre requis est la Definition ID, qui peut être copiée dans le portal.

(Get-AzPolicysetDefinition -id "/providers/Microsoft.Management/managementGroups/MGNAME/providers/Microsoft.Authorization/policySetDefinitions/Custom Security Policy").properties.policydefinitions | ft policyDefinitio
nId
Le résultat sera de la forme :
policyDefinitionId
------------------
/providers/Microsoft.Authorization/policyDefinitions/a1181c5f-672a-477a-979a-7d58aa086233
/providers/Microsoft.Authorization/policyDefinitions/475aae12-b88a-4572-8b36-9b712b2b3a17
/providers/Microsoft.Authorization/policyDefinitions/4f4f78b8-e367-4b10-a341-d9a4ad5cf1c7
/providers/Microsoft.Authorization/policyDefinitions/b4d66858-c922-44e3-9566-5cdb7a7be744
/providers/Microsoft.Authorization/policyDefinitions/6e2593d9-add6-4083-9c9b-4b7d2188c899
/providers/Microsoft.Authorization/policyDefinitions/0b15565f-aa9e-48ba-8619-45960f2c314d
Chaque ligne désigne une Policy inclue dans l’Initiative.
Dans un article précédent, il était indiqué qu’il n’était pas possible d’intégrer une Custom Policy dans une Blueprint. L’astuce de contournement de cette limitation est de le faire au travers d’une Initiative !
Une fois la Custom Policy créée (je vous renvoie à notre article précédent pour cela), il est tout à fait possible d’appeler cette Policy dans l’initiative en utilisant son ID !
Pour être réutilisée, il suffit de copier cette liste dans un fichier JSON au format suivant :

3. Initiative import
En comparaison de l’opération d’export, l’opération d’import est très simple.
Les informations mises dans le fichiers JSON vont permettre de recréer l’Initiative (ce n’est donc pas un vrai Import, je vous l’accorde).
Le fichier JSON créé à l’étape suivante sera utilisé dans une commande PowerShell pour créer l’Initiative dans le Management Group.
New-AzPolicySetDefinition -Name "Custom Security Policy" -displayname "Custom Security Policy" -ManagementGroupName "MGNAME" -description "Security Policy to complete the Blueprint Created using Powershell" -Metadata '{"category":"Security Policy"}' -PolicyDefinition $home\SecurityPolicySet.json
Notez que l’on retrouve les paramètres vus dans le portail lors de la première création : Name, Display Name, Description et en Metadata la Category voulue.
–PoliceDefinition fait appel au fichier JSON.

Article rédigé par Arnaud Torres