Lorsque vous créez vos propres Azure Policy, il peut être fastidieux de les tester, vu que l’évaluation est déclenchée par Azure.
Il est possible depuis un moment de forcer son exécution au scope d’un groupe de ressource ou d’une souscription. Même si dans notre cas, il s’agit plus de forcer sur un resource group de test plus que sur une souscription pour ne pas impacter vos autres policies.
Il est possible de faire cela en powershell via un simple appel REST.
Pour cela il faut utiliser les urls suivantes :
- Souscription : https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation?api-version=2018-07-01-preview
- Resource Group : https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{YourRG}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation?api-version=2018-07-01-preview
$azContext = Get-AzContext
$azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
$profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
$token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId)
$authHeader = @{
'Content-Type'='application/json'
'Authorization'='Bearer ' + $token.AccessToken
}
$subscriptionId = ""
$resourceGroup = ""
$restUrl = "https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation?api-version=2018-07-01-preview"
Invoke-WebRequest -Uri $restUrl -Method POST -Headers $authHeader
Et vous retrouverez cette trace dans votre Activity Log :
Donc plus d’excuse pour aller chercher un café en attendant que la policy se déclenche.
Comments
Post comment