Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эффект auditIfNotExists
позволяет проверять ресурсы , связанные с ресурсом, соответствующим if
условию, но не имеют свойств, указанных в details
условии then
.
Оценка функции AuditIfNotExists
auditIfNotExists
выполняется после обработки запроса на создание или обновление ресурса поставщика ресурсов и возвращает код состояния успешного выполнения. Аудит проводится, если нет связанных ресурсов или если ресурсы, определённые ExistenceCondition
, не оцениваются как истинные. Для новых и обновленных ресурсов политика Azure добавляет Microsoft.Authorization/policies/audit/action
операцию в журнал действий и помечает ресурс как несоответствующий. При активации ресурс if
, удовлетворяющий условию, является ресурсом, помеченным как несоответствующий.
Свойства AuditIfNotExists
Свойство details
эффектов AuditIfNotExists имеет все подсвойства, которые определяют соответствующие ресурсы для сопоставления.
-
type
(обязательно)- Указывает тип связанного ресурса для соответствия.
- Если
type
является подтипом ресурсаif
условия, политика запрашивает ресурсы этогоtype
в рамках области оцениваемого ресурса. В противном случае запросы политики в той же группе ресурсов или подписке, что и оцененного ресурса, зависят отexistenceScope
.
-
name
(необязательно)- Указывает точное имя ресурса для сопоставления и приводит к тому, что политика получает один конкретный ресурс вместо всех ресурсов указанного типа.
- Если значения условий для
if.field.type
иthen.details.type
совпадают, тоname
становится обязательным и должен быть[field('name')]
, или[field('fullName')]
для дочернего ресурса. Однако вместо этого следует учитывать эффект аудита .
Примечание.
type
и name
сегменты можно объединить для извлечения вложенных ресурсов в общем виде.
Чтобы получить определенный ресурс, можно использовать "type": "Microsoft.ExampleProvider/exampleParentType/exampleNestedType"
и "name": "parentResourceName/nestedResourceName"
.
Чтобы получить коллекцию вложенных ресурсов, вместо последнего сегмента имени можно указать подстановочный знак ?
. Например, "type": "Microsoft.ExampleProvider/exampleParentType/exampleNestedType"
и "name": "parentResourceName/?"
. Это можно объединить с функциями полей для доступа к ресурсам, связанным с вычисленным ресурсом, например "name": "[concat(field('name'), '/?')]"
.
-
resourceGroupName
(необязательно)- Позволяет сопоставить связанный ресурс из другой группы ресурсов.
- Не применяется, если
type
это ресурс, который будет находиться под ресурсомif
условия. - По умолчанию используется группа ресурсов ресурса условия
if
.
-
existenceScope
(необязательно)- Допустимые значения : Subscription и ResourceGroup.
- Задает область, из которой следует получить связанный ресурс для соответствия.
- Не применяется, если
type
является ресурсом, который будет находиться под ресурсомif
условия. - Для ResourceGroup ограничение будет применено к группе ресурсов, если
resourceGroupName
задано. ЕслиresourceGroupName
не указан, будет ограничено группой ресурсов условияif
, что соответствует поведению по умолчанию. - Для подписки запрашивает всю подписку для связанного ресурса. Охват задачи должен быть установлен на уровне подписки или выше для правильной оценки.
- По умолчанию используется ResourceGroup.
-
evaluationDelay
(необязательно)- Указывает, когда необходимо оценить существование связанных ресурсов. Задержка используется только для вычислений, которые являются результатом запроса на создание или обновление ресурса.
- Допустимые значения:
AfterProvisioning
,AfterProvisioningFailure
AfterProvisioningSuccess
или длительность ISO 8601 в диапазоне от 0 до 360 минут. - Значения AfterProvisioning проверяют результат подготовки ресурса, который был оценен в условии правила политики
if
.AfterProvisioning
выполняется после завершения подготовки, независимо от результата. При определении задержек оценки AfterProvisioning, подготовка, которая занимает более шести часов, рассматривается как сбой. - Значение по умолчанию —
PT10M
10 минут. - Указание длительной задержки оценки может привести к тому, что зарегистрированное состояние соответствия ресурса не обновляется до следующего триггера оценки.
-
existenceCondition
(необязательно)- Если это не указано, то любой связанный ресурс
type
соответствует действию и не активирует аудит. - Использует тот же язык, что и правило политики для
if
условия, но оценивается по отдельности для каждого связанного ресурса. - Если любой соответствующий связанный ресурс оценивается как истинный, эффект удовлетворен и не активирует аудит.
- Можно использовать [field()] для проверки эквивалентности со значениями в условии
if
. - Например, можно использовать для проверки того, что родительский ресурс (в
if
условии) находится в том же расположении ресурса, что и соответствующий связанный ресурс.
- Если это не указано, то любой связанный ресурс
Пример AuditIfNotExists
Пример: Вычисляет виртуальные машины, чтобы определить, существует ли расширение защиты от вредоносных программ, а затем проводит аудит при отсутствии.
{
"if": {
"field": "type",
"equals": "Microsoft.Compute/virtualMachines"
},
"then": {
"effect": "auditIfNotExists",
"details": {
"type": "Microsoft.Compute/virtualMachines/extensions",
"existenceCondition": {
"allOf": [
{
"field": "Microsoft.Compute/virtualMachines/extensions/publisher",
"equals": "Microsoft.Azure.Security"
},
{
"field": "Microsoft.Compute/virtualMachines/extensions/type",
"equals": "IaaSAntimalware"
}
]
}
}
}
}
Дальнейшие действия
- Изучите примеры на странице примеров Политики Azure.
- Изучите статью о структуре определения Политики Azure.
- Узнайте о программном создании политик.
- Узнайте, как получать данные о соответствии.
- Узнайте, как исправлять несоответствующие ресурсы.
- Просмотрите группы управления Azure.