Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эффект deny
используется для предотвращения запроса ресурсов, который не соответствует определенным стандартам с помощью определения политики и завершается сбоем запроса.
Отклонение оценки
При создании или обновлении соответствующего ресурса в режиме Resource Manager запретить запрос перед отправкой поставщику ресурсов. Запрос возвращается в виде 403 (Forbidden)
. На портале Forbidden
рассматривается как статус развертывания, который был предотвращен назначением политики. В режиме поставщика ресурсов поставщик ресурсов управляет оценкой ресурса.
Во время оценки существующих ресурсов ресурсы, соответствующие deny
определению политики, помечаются как несоответствующие.
Запретить свойства
В режиме deny
Resource Manager эффект не имеет дополнительных свойств для использования в then
условии определения политики.
Для режима Microsoft.Kubernetes.Data
deny
поставщика ресурсов эффект имеет следующие вложенные свойства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.