Azure Policy definitions denyAction effect
O denyAction
efeito é usado para bloquear solicitações com base na ação pretendida para recursos em escala. A única ação apoiada atualmente é DELETE
a . Esse efeito e nome de ação ajuda a evitar qualquer exclusão acidental de recursos críticos.
Avaliação de DenyAction
Quando uma chamada de solicitação com um nome de ação aplicável e escopo direcionado é enviada, denyAction
impede que a solicitação seja bem-sucedida. A solicitação é retornada como um 403 (Forbidden)
arquivo . No portal, o Forbidden
pode ser visto como um status de implantação que foi impedido pela atribuição de política.
Microsoft.Authorization/policyAssignments
, Microsoft.Authorization/denyAssignments
, Microsoft.Blueprint/blueprintAssignments
, Microsoft.Resources/deploymentStacks
, , Microsoft.Resources/subscriptions
e Microsoft.Authorization/locks
todos estão isentos de aplicação para evitar cenários de denyAction
bloqueio.
Eliminação da subscrição
A política não bloqueia a remoção de recursos que acontece durante a exclusão de uma assinatura.
Exclusão de grupo de recursos
A política avalia os recursos que oferecem suporte à localização e às tags em relação às denyAction
políticas durante a exclusão de um grupo de recursos. Somente as cascadeBehaviors
políticas definidas como deny
na regra de política bloqueiam a exclusão de um grupo de recursos. A política não bloqueia a remoção de recursos que não suportam localização e etiquetas, nem qualquer política com mode:all
o .
Eliminação em cascata
A exclusão em cascata ocorre quando a exclusão de um recurso pai é implicitamente excluída todos os seus recursos filho e de extensão. A política não bloqueia a remoção de recursos filho e de extensão quando uma ação de exclusão tem como alvo os recursos pai. Por exemplo, Microsoft.Insights/diagnosticSettings
é um recurso de extensão de Microsoft.Storage/storageaccounts
. Se uma denyAction
política tiver como destino Microsoft.Insights/diagnosticSettings
, uma chamada de exclusão para a configuração de diagnóstico (filho) falhará, mas uma exclusão para a conta de armazenamento (pai) excluirá implicitamente a configuração de diagnóstico (extensão).
Esta tabela descreve se um recurso está protegido contra exclusão, dado o recurso aplicável à política atribuída denyAction
e o escopo de destino da DELETE
chamada. No contexto desta tabela, um recurso indexado é aquele que suporta tags e locais e um recurso não indexado é aquele que não suporta tags ou locais. Para obter mais informações sobre recursos indexados e não indexados, vá para o modo de definição. Recursos filho são recursos que existem apenas no contexto de outro recurso. Por exemplo, um recurso de extensão de máquinas virtuais é filho da máquina virtual, que é o recurso pai.
Entidade a ser eliminada | Entidade aplicável às condições da apólice | Medidas tomadas |
---|---|---|
Recurso | Recurso | Protegido |
Subscrição | Recurso | Eliminado |
Grupo de recursos | Recurso indexado | Depende de cascadeBehaviors |
Grupo de recursos | Recurso não indexado | Eliminado |
Recurso filho | Recurso pai | O progenitor está protegido; criança é excluída |
Recurso pai | Recurso filho | Eliminado |
Propriedades DenyAction
A details
propriedade do denyAction
efeito tem todas as subpropriedades que definem a ação e os comportamentos.
actionNames
(obrigatório)- Uma matriz que especifica quais ações impedir de serem executadas.
- Os nomes das ações suportadas são:
delete
.
cascadeBehaviors
(facultativo)- Um objeto que define qual comportamento é seguido quando um recurso é excluído implicitamente quando um grupo de recursos é removido.
- Suportado apenas em definições de política com o modo definido como
indexed
. - Os valores permitidos são
allow
oudeny
. - O valor predefinido é
deny
.
Exemplo de DenyAction
Exemplo: Negar qualquer chamada de exclusão direcionada a contas de banco de dados que tenham um ambiente de tags igual a prod. Como o comportamento em cascata está definido como negar, bloqueie qualquer DELETE
chamada direcionada a um grupo de recursos com uma conta de banco de dados aplicável.
{
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.DocumentDb/accounts"
},
{
"field": "tags.environment",
"equals": "prod"
}
]
},
"then": {
"effect": "denyAction",
"details": {
"actionNames": [
"delete"
],
"cascadeBehaviors": {
"resourceGroup": "deny"
}
}
}
}
Próximos passos
- Analise exemplos em Exemplos de Política do Azure.
- Reveja a estrutura de definição do Azure Policy.
- Entenda como criar políticas de forma programática.
- Saiba como obter dados de conformidade.
- Saiba como corrigir recursos não compatíveis.
- Revise os grupos de gerenciamento do Azure.