Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эффект deny используется для предотвращения запроса ресурсов, который не соответствует определенным стандартам с помощью определения политики и завершается сбоем запроса.
Отклонение оценки
При создании или обновлении соответствующего ресурса в режиме Resource Manager запретить запрос перед отправкой поставщику ресурсов. Запрос возвращается в виде 403 (Forbidden). На портале Forbidden рассматривается как статус развертывания, который был предотвращен назначением политики. В режиме поставщика ресурсов поставщик ресурсов управляет оценкой ресурса.
Во время оценки существующих ресурсов ресурсы, соответствующие deny определению политики, помечаются как несоответствующие.
Запретить свойства
В режиме deny Resource Manager эффект не имеет дополнительных свойств для использования в then условии определения политики.
Для режима Microsoft.Kubernetes.Datadeny поставщика ресурсов эффект имеет следующие вложенные свойства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,apiGroupsилиkinds. - Если
constraintInfoне указано, ограничение можно создать изtemplateInfoи политики. -
sourceType(обязательно)Определяет тип источника для ограничения. Допустимые значения:
PublicURLилиBase64Encoded.Если
PublicURLкомбинируется с свойствомurlдля предоставления расположения ограничения. Расположение должно быть общедоступным.Предупреждение
Не используйте URI или маркеры SAS в
urlили в любых других конструкциях, которые могут раскрыть секрет.
- Нельзя использовать с
-
namespaces(необязательно)- Массивпространств имен Kubernetes, ограничивающий оценку политики.
- Пустое или отсутствующее значение приводит к тому, что оценка политики включает все пространства имен, за исключением тех, которые определены в
excludedNamespaces.
-
excludedNamespaces(обязательно)- Массивпространств имен Kubernetes для исключения из процесса оценки политики.
-
labelSelector(обязательно)-
Объект, включающий свойства
matchLabels(object) иmatchExpression(массив), позволяющий указать, какие ресурсы Kubernetes нужно включить для оценки политики, соответствующие предоставленным меткам и селекторам. - Пустое или отсутствующее значение приводит к тому, что проверка политики включает все метки и селекторы, за исключением пространств имен, определенных в
excludedNamespaces.
-
Объект, включающий свойства
-
apiGroups(требуется при использовании templateInfo)-
Массив, включающий группы API для сопоставления. Пустой массив (
[""]) — это основная группа API. - Определение
["*"]для apiGroups не разрешено.
-
Массив, включающий группы API для сопоставления. Пустой массив (
-
kinds(требуется при использовании templateInfo)- Массив, который включает тип объекта Kubernetes для ограничения оценки.
-
["*"]Определение типов запрещено.
-
values(необязательно)- Определяет все параметры и значения, передаваемые в ограничение. Каждое значение должно быть в шаблоне ограничения CRD.
Пример отказа
Пример 1. Использование deny эффекта для режимов Resource Manager.
"then": {
"effect": "deny"
}
Пример 2. Использование deny эффекта для режима Microsoft.Kubernetes.Dataпоставщика ресурсов. Дополнительные сведения в details.templateInfo объявляют об использовании PublicURL и задают url на местоположение шаблона ограничения для использования в Kubernetes для ограничения разрешенных образов контейнеров.
"then": {
"effect": "deny",
"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.