Resolver erros para pedidos não permitidos pela política
Ao implantar um modelo do Azure Resource Manager (modelo ARM) ou arquivo Bicep, você recebe o RequestDisallowedByPolicy
erro quando um dos recursos a serem implantados não está em conformidade com uma Política do Azure existente.
Sintoma
Durante uma implementação, poderá receber um erro RequestDisallowedByPolicy
que o impede de criar um recurso. A CLI do Azure, o Azure PowerShell e o registo de atividades do portal do Azure mostram informações semelhantes sobre o erro. Os elementos principais são o código de erro, a atribuição de políticas e a definição de políticas.
"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 id
, o marcador de posição {guid}
representa o ID de uma subscrição do Azure. O nome de um policyAssignment
ou policyDefinition
é o último segmento da cadeia id
.
Causa
Sua organização atribui políticas para aplicar 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 impeça IPs públicos em interfaces de rede. Se você tentar criar uma interface de rede com um endereço IP público, a política o impedirá de criar a interface de rede.
Solução
Para resolver o RequestDisallowedByPolicy
erro ao implantar um modelo ARM ou arquivo Bicep, você precisa descobrir qual política está bloqueando a implantação. Dentro dessa política, você precisa revisar as regras para poder atualizar sua implantação para estar em conformidade com 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, utilize az policy definition show.
az policy definition show --name {policy-name}
Para obter mais informações sobre uma atribuição de política, utilize az policy assignment show.
az policy assignment show --name {assignment-name} --resource-group {resource-group-name}
Na definição de política, você vê uma descrição da política e das regras aplicadas. Revise as regras e atualize seu modelo ARM ou arquivo Bicep para estar em conformidade com as regras. Por exemplo, se a regra indicar que o acesso à rede pública está desativado, você precisará atualizar as propriedades do recurso correspondente.
Para obter mais informações, consulte os seguintes artigos que podem estar em inglês: