Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эффект 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.