Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эффект audit используется для создания события предупреждения в журнале действий при оценке несоответствующего ресурса, но он не останавливает запрос.
Оценка аудита
Аудит является последним эффектом, проверяемым политикой Azure во время создания или обновления ресурса. В режиме 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,scopekindsnamespacesapiGroups,excludedNamespacesили .labelSelector - Если
constraintInfoне указано, ограничение можно создать изtemplateInfoи политики. -
sourceType(обязательно)Определяет тип источника для ограничения. Допустимые значения:
PublicURLилиBase64Encoded.Если
PublicURLкомбинируется с свойствомurlдля предоставления расположения ограничения. Расположение должно быть общедоступным.Предупреждение
Не используйте URI или маркеры SAS в
urlили в любых других конструкциях, которые могут раскрыть секрет.
- Нельзя использовать с
namespaces(необязательно)- Массивпространств имен Kubernetes, ограничивающий оценку политики.
- Пустое или отсутствующее значение приводит к тому, что оценка политики включает все пространства имен, не определенные в исключенных пространствахname.
excludedNamespaces(необязательно)- Массивпространств имен Kubernetes для исключения из процесса оценки политики.
labelSelector(необязательно)- Объект, включающий свойства matchLabels (object) и matchExpression (array), чтобы указать, какие ресурсы Kubernetes следует включить для оценки политики, которая соответствовала предоставленным меткам и селекторам.
- Пустое или отсутствующее значение приводит к тому, что оценка политики включает все метки и селекторы, кроме пространств имен, определенных в исключенных пространствахname.
scope(необязательно)- Строка, содержащая свойство области, позволяющее указать, совпадают ли ресурсы с областью кластера или пространства имен.
apiGroups(требуется при использовании templateInfo)-
Массив, включающий группы API для сопоставления. Пустой массив (
[""]) — это основная группа API. - Определение
["*"]для apiGroups не разрешено.
-
Массив, включающий группы API для сопоставления. Пустой массив (
kinds(требуется при использовании templateInfo)- Массив, который включает тип объекта Kubernetes для ограничения оценки.
-
["*"]Определение типов запрещено.
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.