Resolver erros de solicitação não permitida pela política

Ao implantar um modelo do ARM (modelo do Azure Resource Manager) ou um arquivo Bicep, você recebe o erro RequestDisallowedByPolicy quando um dos recursos a serem implantados não está em conformidade com uma Azure Policy existente.

Sintoma

Durante uma implantação, você pode receber um erro RequestDisallowedByPolicy que o impede de criar um recurso. A CLI do Azure, o Azure PowerShell e o log de atividades do portal do Azure mostram informações semelhantes sobre o erro. Os principais elementos são o código de erro, a atribuição de política e a definição de política.

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

Na cadeia de caracteres id, o espaço reservado {guid} representa uma ID de assinatura do Azure. O nome de um policyAssignment ou policyDefinition é o último segmento da cadeia de caracteres id.

Causa

Sua organização atribui políticas para impor padrões organizacionais e avaliar a conformidade em escala. Se você estiver tentando implantar um recurso que viole uma política, a implantação será bloqueada.

Por exemplo, sua assinatura pode ter uma política que impede o uso de IPs públicos em adaptadores de rede. Se você tentar criar um adaptador de rede com um endereço IP público, a política impedirá que você crie o adaptador de rede.

Solução

Para resolver o erro RequestDisallowedByPolicy ao implantar um modelo do ARM ou um arquivo Bicep, você precisa encontrar a política que está bloqueando a implantação. Dentro dessa política, você precisa analisar as regras para que possa atualizar a implantação a fim de cumprir a política.

A mensagem de erro inclui os nomes da definição de política e da atribuição de política que causou o erro. Você precisa desses nomes para obter mais informações sobre a política.

Para obter mais informações sobre uma definição de política, use az policy definition show.

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

Para obter mais informações sobre uma atribuição de política, use az policy assignment show.

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

Dentro da definição de política, você verá uma descrição da política e das regras que são aplicadas. Analise as regras e atualize o modelo do ARM ou o arquivo Bicep para cumprir as regras. Por exemplo, se a regra indicar que o acesso à rede pública está desabilitado, você precisará atualizar as propriedades de recurso correspondentes.

Para obter mais informações, consulte os seguintes artigos: