эффект аудита определений Политика Azure
Эффект audit
используется для создания события предупреждения в журнале действий при оценке несоответствующего ресурса, но он не останавливает запрос.
Оценка аудита
Аудит — это последнее действие проверки политики при создании или обновлении ресурса. В режиме Resource Manager Политика Azure затем отправляет ресурс в поставщик ресурсов. При оценке запроса на создание или обновление ресурса Политика Azure добавляет операцию Microsoft.Authorization/policies/audit/action
в журнал действий и помечает ресурс как несоответствующий. В ходе стандартного цикла оценки соответствия обновляется только состояние соответствия для ресурса.
Свойства аудита
В режиме Resource Manager эффект аудита не имеет других свойств для использования в then
условии определения политики.
Для режима Microsoft.Kubernetes.Data
поставщика ресурсов эффект аудита имеет следующие вложенные ресурсы details
. Использование параметра templateInfo
является обязательным для новых или обновленных определений политик, так как constraintTemplate
является устаревшим.
templateInfo
(обязательно)- Не может использоваться с
constraintTemplate
. sourceType
(обязательно)Определяет тип источника для шаблона ограничения. Допустимые значения:
PublicURL
илиBase64Encoded
.Значение if
PublicURL
, парное с свойствомurl
, чтобы указать расположение шаблона ограничения. Расположение должно быть общедоступным.Предупреждение
Не используйте URI SAS, маркеры URL-адресов или что-либо другое, которое может предоставлять секреты в виде обычного текста.
Значение if
Base64Encoded
, парированное со свойствомcontent
для предоставления шаблона ограничения в кодировке Base 64. См. раздел "Создание определения политики из шаблона ограничения", чтобы создать пользовательское определение из существующего шаблона ограничения "Агент политики Open Policy Agent( OPA) версии 3.
- Не может использоваться с
constraint
(не рекомендуется)- Не может использоваться с
templateInfo
. - Реализация CRD шаблона ограничения. Использует параметры, передаваемые через
values
как{{ .Values.<valuename> }}
. В приведенном ниже примере 2 это значения{{ .Values.excludedNamespaces }}
и{{ .Values.allowedContainerImagesRegex }}
.
- Не может использоваться с
constraintTemplate
(не рекомендуется)- Не может использоваться с
templateInfo
. - Необходимо заменить на
templateInfo
при создании или обновлении определения политики. - Шаблон ограничения CustomResourceDefinition (CRD), который определяет новые ограничения. Шаблон определяет логику Rego, схему ограничения и параметры ограничения, передаваемые через
values
Политика Azure. Дополнительные сведения см. в ограничениях Gatekeeper.
- Не может использоваться с
constraintInfo
(необязательно)- Нельзя использовать с
constraint
,constraintTemplate
,scope
kinds
namespaces
apiGroups
,excludedNamespaces
или .labelSelector
- Если
constraintInfo
это не указано, ограничение можно создать изtemplateInfo
и политики. sourceType
(обязательно)Определяет тип источника для ограничения. Допустимые значения:
PublicURL
илиBase64Encoded
.Значение if
PublicURL
, в сочетании с свойствомurl
для предоставления расположения ограничения. Расположение должно быть общедоступным.Предупреждение
Не используйте URI или маркеры SAS в
url
или другие объекты, которые могут предоставить доступ к секрету.
- Нельзя использовать с
namespaces
(необязательно)- Массив пространства имен Kubernetes, которым ограничивается вычисление политики.
- Пустое или отсутствующее значение приводит к тому, что оценка политики включает все пространства имен, не определенные в исключенных пространствахname.
excludedNamespaces
(необязательно)- Массив пространств имен Kubernetes, которые должны исключаться из оценки на соответствие политикам.
labelSelector
(необязательно)- Объект, содержащий свойства matchLabels (объект) и matchExpression (массив), чтобы разрешить указывать ресурсы Kubernetes, которые следует включить в вычисление политики, сопоставленное с указанными метками и селекторами.
- Пустое или отсутствующее значение приводит к тому, что вычисление политики будет включать все метки и селекторы, за исключением определенных в ExcludedNamespaces.
scope
(необязательно)- Строка, содержащая свойство область, позволяющее указать, совпадают ли ресурсы кластера с область или пространства имен область.
apiGroups
(требуется при использовании templateInfo)- Массив, содержащий группы API для сопоставления. Пустой массив (
[""]
) — это основная группа API. - Определение
["*"]
для apiGroups запрещено.
- Массив, содержащий группы API для сопоставления. Пустой массив (
kinds
(требуется при использовании templateInfo)- Массив, включающий тип объекта Kubernetes, которым ограничивается вычисление.
- Определение
["*"]
для параметра kinds запрещено.
values
(необязательно)- Определяет все параметры и значения, передаваемые ограничению. Каждое значение должно существовать и соответствовать свойству в разделе проверки
openAPIV3Schema
шаблона ОГРАНИЧЕНИЯ CRD.
- Определяет все параметры и значения, передаваемые ограничению. Каждое значение должно существовать и соответствовать свойству в разделе проверки
Пример аудита
Пример 1. Использование эффекта аудита для режимов Resource Manager.
"then": {
"effect": "audit"
}
Пример 2. Использование эффекта аудита для режима поставщика ресурсов Microsoft.Kubernetes.Data
. Дополнительные сведения, приведенные в details.templateInfo
объявлении использования PublicURL
и задает url
расположение шаблона ограничения для использования в Kubernetes для ограничения разрешенных образов контейнеров.
"then": {
"effect": "audit",
"details": {
"templateInfo": {
"sourceType": "PublicURL",
"url": "https://store.policy.core.windows.net/kubernetes/container-allowed-images/v1/template.yaml",
},
"values": {
"imageRegex": "[parameters('allowedContainerImagesRegex')]"
},
"apiGroups": [
""
],
"kinds": [
"Pod"
]
}
}
Следующие шаги
- Изучите примеры на странице примеров Политики Azure.
- Изучите статью о структуре определения Политики Azure.
- Узнайте о программном создании политик.
- Узнайте, как получать данные о соответствии.
- Узнайте, как исправлять несоответствующие ресурсы.
- Просмотрите группы управления Azure.