Effet denyAction des définitions Azure Policy
L’effet denyAction
est utilisé pour bloquer des demandes en fonction de l’action prévue sur des ressources à l’échelle. La seule action prise en charge aujourd’hui est DELETE
. Cet effet et ce nom d’action permet d’éviter toute suppression accidentelle de ressources critiques.
Évaluation DenyAction
Lorsqu’un appel de demande avec un nom d’action applicable et une étendue ciblée est envoyé, denyAction
empêche la demande de réussir. La requête renvoie une erreur 403 (Forbidden)
. Dans le portail, vous pouvez voir le Forbidden
comme un état de déploiement qui a été empêché par l’attribution de stratégie.
Microsoft.Authorization/policyAssignments
, Microsoft.Authorization/denyAssignments
, Microsoft.Blueprint/blueprintAssignments
, Microsoft.Resources/deploymentStacks
, Microsoft.Resources/subscriptions
et Microsoft.Authorization/locks
sont tous exemptés de l’application denyAction
pour empêcher les scénarios de verrouillage.
Suppression de l’abonnement
La stratégie ne bloque pas la suppression des ressources qui se produit lors d’une suppression d’abonnement.
Suppression du groupe de ressources
La stratégie évalue les ressources qui prennent en charge l’emplacement et les balises par rapport aux denyAction
stratégies lors d’une suppression de groupe de ressources. Seules les stratégies qui ont la cascadeBehaviors
valeur définie deny
sur dans la règle de stratégie bloquent la suppression d’un groupe de ressources. La stratégie ne bloque pas la suppression des ressources qui ne prennent pas en charge l’emplacement et les balises, ni aucune stratégie avec mode:all
.
Suppression en cascade
La suppression en cascade se produit lorsque la suppression d’une ressource parente supprime implicitement toutes ses ressources d’extension et enfants. La stratégie ne bloque pas la suppression des ressources d’extension et enfants lorsqu’une action de suppression cible les ressources parentes. Par exemple, Microsoft.Insights/diagnosticSettings
est une ressource d’extension de Microsoft.Storage/storageaccounts
. Si une stratégie denyAction
cible Microsoft.Insights/diagnosticSettings
, un appel de suppression au paramètre de diagnostic (enfant) échoue, mais une suppression du compte de stockage (parent) supprime implicitement le paramètre de diagnostic (enfant).
Ce tableau indique si une ressource est protégée contre la suppression compte tenu de la ressource applicable à la stratégie denyAction
attribuée et de l’étendue ciblée de l’appel DELETE
. Dans le contexte de cette table, une ressource indexée est une ressource qui prend en charge les balises et les emplacements, et une ressource non indexée est une ressource qui ne prend pas en charge les étiquettes ou les emplacements. Pour plus d’informations sur les ressources indexées et non indexées, accédez aux modes de définition. Les ressources enfants sont des ressources qui existent uniquement dans le contexte d’une autre ressource. Par exemple, une ressource d’extension de machines virtuelles est un enfant de la machine virtuelle, qui est la ressource parente.
Entité en cours de suppression | Entité applicable aux conditions de stratégie | Action entreprise |
---|---|---|
Ressource | Ressource | Protected |
Abonnement | Ressource | Deleted |
Resource group | Ressource indexée | Dépend de cascadeBehaviors |
Resource group | Ressource non indexée | Deleted |
Ressource enfant | Ressource parent | Le parent est protégé ; l’enfant est supprimé |
Ressource parent | Ressource enfant | Deleted |
Propriétés DenyAction
La propriété details
de l’effet denyAction
comporte toutes les sous-propriétés qui définissent l’action et les comportements.
actionNames
(requis)- Tableau qui spécifie les actions à empêcher d’être exécutées.
- Voici les noms d’action pris en charge :
delete
.
cascadeBehaviors
(facultatif)- Un objet qui permet de définir le comportement suivi quand une ressource est implicitement supprimée lors de la suppression d’un groupe de ressources.
- Pris en charge uniquement dans les définitions de stratégie avec le mode défini sur
indexed
. - Valeurs autorisées :
allow
oudeny
. - La valeur par défaut est
deny
.
Exemple DenyAction
Exemple : refusez tout appel de suppression ciblant des comptes de base de données dont l’environnement de balise est égal à prod. Étant donné que le comportement en cascade est défini sur deny, bloquez tout appel DELETE
qui cible un groupe de ressources avec un compte de base de données applicable.
{
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.DocumentDb/accounts"
},
{
"field": "tags.environment",
"equals": "prod"
}
]
},
"then": {
"effect": "denyAction",
"details": {
"actionNames": [
"delete"
],
"cascadeBehaviors": {
"resourceGroup": "deny"
}
}
}
}
Étapes suivantes
- Consultez des exemples à la page Exemples Azure Policy.
- Consultez la Structure de définition Azure Policy.
- Découvrez comment créer des stratégies par programmation.
- Découvrez comment obtenir des données de conformité.
- Découvrez comment corriger des ressources non conformes.
- Passez en revue les groupes d’administration Azure.