эффект denyAction Политика Azure определений
Эффект denyAction
используется для блокировки запросов на основе предполагаемого действия для ресурсов в масштабе. Единственным поддерживаемым действием сегодня является DELETE
. Это действие и имя действия помогает предотвратить случайное удаление критически важных ресурсов.
Оценка DenyAction
При вызове запроса с соответствующим именем действия и целевым область отправляется, denyAction
запрос не будет выполнен. Запрос возвращает 403 (Forbidden)
. На портале Forbidden
можно просмотреть как состояние развертывания, которое было запрещено назначением политики.
Microsoft.Authorization/policyAssignments
, Microsoft.Authorization/denyAssignments
, Microsoft.Blueprint/blueprintAssignments
, Microsoft.Resources/deploymentStacks
Microsoft.Resources/subscriptions
и Microsoft.Authorization/locks
все исключены из denyAction
принудительного применения, чтобы предотвратить сценарии блокировки.
Удаление подписки
Политика не блокирует удаление ресурсов, которые происходят во время удаления подписки.
Удаление группы ресурсов
Политика оценивает ресурсы, поддерживающие расположение и теги для denyAction
политик во время удаления группы ресурсов. Только политики, для которых cascadeBehaviors
задано значение deny
в правиле политики, блокируют удаление группы ресурсов. Политика не блокирует удаление ресурсов, которые не поддерживают расположение и теги, ни какие-либо политики.mode:all
Каскадная удаление
Каскадное удаление происходит при удалении родительского ресурса неявно удаляет все дочерние ресурсы и ресурсы расширения. Политика не блокирует удаление дочерних ресурсов и ресурсов расширения, если действие удаления предназначено для родительских ресурсов. Например, Microsoft.Insights/diagnosticSettings
является ресурсом Microsoft.Storage/storageaccounts
расширения . denyAction
Если политика предназначенаMicrosoft.Insights/diagnosticSettings
, вызов удаления параметра диагностики (дочернего) завершается сбоем, но удаление учетной записи хранения (родитель) неявно удаляет параметр диагностики (расширение).
В этой таблице описывается, защищается ли ресурс от удаления, учитывая ресурс, применимый к назначенной denyAction
политике, и целевой область DELETE
вызова. В контексте этой таблицы индексированные ресурсы — это ресурс, поддерживающий теги и расположения, а не индексированные ресурсы — это ресурс, который не поддерживает теги или расположения. Дополнительные сведения об индексированных и неиндексированных ресурсах см. в режиме определения. Дочерними называются ресурсы, существующие только в контексте другого ресурса. Например, ресурс расширения виртуальных машин является дочерним элементом виртуальной машины, являющейся родительским ресурсом.
Удаление сущности | Сущность, применимая к условиям политики | Предпринятое действие |
---|---|---|
Ресурс | Ресурс | Защищено |
Отток подписок | Ресурс | Удален |
Группа ресурсов | Индексированные ресурсы | Зависит от cascadeBehaviors |
Группа ресурсов | Не индексированные ресурсы | Удален |
Дочерний ресурс | Родительский ресурс | Родительский объект защищен; Дочерний элемент удаляется |
Родительский ресурс | Дочерний ресурс | Удален |
Свойства DenyAction
Свойство details
denyAction
эффекта имеет все вложенные свойства, определяющие действие и поведение.
actionNames
(обязательно)- Массив, указывающий действия, которые необходимо предотвратить выполнение.
- Поддерживаемые имена действий:
delete
cascadeBehaviors
(необязательно)- Объект, определяющий, какое поведение следует, когда ресурс неявно удаляется при удалении группы ресурсов.
- Поддерживается только в определениях политик с заданным
indexed
режимом. - Допустимые значения:
allow
илиdeny
. - Значение по умолчанию:
deny
.
Пример DenyAction
Пример. Запретить любые вызовы удаления, предназначенные для учетных записей базы данных с средой тегов, равной prod. Так как каскадное поведение будет запрещено, блокируйте любой DELETE
вызов, предназначенный для группы ресурсов с соответствующей учетной записью базы данных.
{
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.DocumentDb/accounts"
},
{
"field": "tags.environment",
"equals": "prod"
}
]
},
"then": {
"effect": "denyAction",
"details": {
"actionNames": [
"delete"
],
"cascadeBehaviors": {
"resourceGroup": "deny"
}
}
}
}
Следующие шаги
- Изучите примеры на странице примеров Политики Azure.
- Изучите статью о структуре определения Политики Azure.
- Узнайте о программном создании политик.
- Узнайте, как получать данные о соответствии.
- Узнайте, как исправлять несоответствующие ресурсы.
- Просмотрите группы управления Azure.