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: