Résoudre les erreurs de requête interdite par la stratégie

Lors du déploiement d’un modèle Azure Resource Manager (modèle ARM) ou d’un fichier Bicep, l’erreur RequestDisallowedByPolicy s’affiche lorsqu’une des ressources à déployer n’est pas conforme à une Azure Policy existante.

Symptôme

Pendant un déploiement, il se peut qu’un message d’erreur RequestDisallowedByPolicy qui vous empêche de créer une ressource. Le journal d’activité d’Azure CLI, Azure PowerShell et du portail Azure indiquent des informations similaires concernant l’erreur. Les principaux éléments sont le code d’erreur, l’affectation de stratégie et la définition de stratégie.

"statusMessage": "{"error":{"code":"RequestDisallowedByPolicy", "target":"examplenic1207",
  "message":"Resource `examplenic1207` was disallowed by policy. Policy identifiers:

"policyAssignment":{"name":"Network interfaces should not have public IPs",
  "id":"/subscriptions/{guid}/providers/Microsoft.Authorization/policyAssignments/1111aa2222bb3333cc4444dd"}

"policyDefinition":{"name":"Network interfaces should not have public IPs",
  "id":"/subscriptions/{guid}/providers/Microsoft.Authorization/policyDefinitions/83a86a26-fd1f-447c-b59d-e51f44264114"}

Dans la chaîne id, l’espace réservé {guid} représente un ID d’abonnement Azure. Le nom d’un policyAssignment ou d’un policyDefinition est le dernier segment de la chaîne id.

Cause

Votre organisation attribue des stratégies afin d’appliquer des normes organisationnelles et évaluer la conformité à grande échelle. Si vous essayez de déployer une ressource qui enfreint une stratégie, le déploiement est bloqué.

Par exemple, votre abonnement peut avoir une stratégie qui empêche les adresses IP publiques sur les interfaces réseau. Si vous tentez de créer une interface réseau avec une adresse IP publique, la stratégie vous en empêchera.

Solution

Pour résoudre l’erreur RequestDisallowedByPolicy lors du déploiement d’un modèle ARM ou d’un fichier Bicep, vous devez trouver la stratégie qui bloque le déploiement. Dans cette stratégie, vous devez passer en revue les règles afin de pouvoir mettre à jour votre déploiement pour vous conformer à la stratégie.

Le message d’erreur contient le nom de la définition et de l’attribution de stratégie à l’origine de l’erreur. Vous avez besoin de ces noms pour obtenir plus d’informations sur la stratégie.

Pour obtenir plus d’informations sur une définition de stratégie, utilisez montrer la définition de la stratégie az.

az policy definition show --name {policy-name}

Pour plus d’informations sur une affectation de stratégie, consultez montrer l’affectation de la stratégie az.

az policy assignment show --name {assignment-name} --resource-group {resource-group-name}

Dans la définition de stratégie, vous voyez une description de la stratégie et des règles qui sont appliquées. Passez en revue les règles et mettez à jour votre modèle ARM ou votre fichier Bicep pour vous conformer aux règles. Par exemple, si la règle indique que l’accès au réseau public est désactivé, vous devez mettre à jour les propriétés de ressources correspondantes.

Pour plus d’informations, consultez les articles suivants :