OperationPolicy
Scope: Cluster
Version: v1alpha1
Описывает операционную политику для кластера.
Каждый ресурс OperationPolicy
описывает правила для объектов в кластере.
- строка
Действие, которое будет выполнено по результатам проверки ограничений:
Deny
— запрет;Dryrun
— отсутствие действия. Применяется при отладке. Информацию о событии можно посмотреть в Grafana в DashboardSecurity/Admission policy engine
;Warn
— аналогичноDryrun
, но дополнительно к информации о событии будет выведена информация о том, из-за какого ограничения (constraint) был бы запрет действия, если бы вместоWarn
использовалсяDeny
.
По умолчанию:
"Deny"
Допустимые значения:
Warn
,Deny
,Dryrun
- объект
Указывает селектор лейблов для фильтрации подов.
Больше информации в документации.
- массив объектов
Список выражений лейблов для подов.
Пример:
matchExpressions: - key: tier operator: In values: - production - staging
- объект
Обязательный параметр
Указывает селектор пространства имен для фильтрации объектов.
- объект
Указывает селектор меток для фильтрации пространств имен.
Больше информации в документации.
- массив объектов
Список выражений лейблов для пространств имен.
Пример:
matchExpressions: - key: tier operator: In values: - production - staging
- массив строк
Требует, чтобы образы контейнера имели тег, отличный от указанных в списке.
Пример:
disallowedImageTags: latest
- объект
Проверка диапазона разрешенных реплик. Значения включаются в диапазон.
- массив строк
Список объектов Kubernetes в формате
$apiGroup/$kind
для просмотра аннотаций.
- массив строк
Список объектов Kubernetes в формате
$apiGroup/$kind
для просмотра меток.
- массив строк
Список проб, которые необходимы (например,
readinessProbe
иlivenessProbe
).Пример:
requiredProbes: - readinessProbe - livenessProbe
- массив строк
Список ограничений, которые должны соблюдаться (процессор, память или оба).
По умолчанию:
["memory"]
- массив строк
Список запросов, которые должны быть выполнены (вычислительная мощность, память или и то и другое).
По умолчанию:
["cpu","memory"]
SecurityPolicy
Scope: Cluster
Version: v1alpha1
Описывает политику безопасности для кластера.
Каждый custom resource SecurityPolicy
задает правила для объектов в кластере.
- строка
Реакция на нарушение политики:
Deny
— запрет;Dryrun
— событие без действия. Применяется при отладке. Информацию о событии можно посмотреть в Grafana в DashboardSecurity/Admission policy engine
;Warn
— событие без действия, аналогичноеDryrun
. Содержит информацию об ограничении (constraint), которое вызвало бы запрет, если бы было использовано действиеDeny
.
По умолчанию:
"Deny"
Допустимые значения:
Warn
,Deny
,Dryrun
- объект
Обязательный параметр
Условия фильтрации контейнеров. С помощью условий можно выбрать группу подов или контейнеров, к которой будут применены политики.
- объект
Указывает селектор лейблов для фильтрации подов.
Подробнее в документации Kubernetes.
- массив объектов
Список условий лейблов для подов.
Пример:
matchExpressions: - key: tier operator: In values: - production - staging
- объект
Обязательный параметр
Указывает селектор пространства имен для фильтрации объектов.
- объект
Указывает селектор меток для фильтрации пространств имен.
Подробнее в документации Kubernetes.
- массив объектов
Список условий лейблов для пространств имен.
Пример:
matchExpressions: - key: tier operator: In values: - production - staging
- объект
Обязательный параметр
Набор политик, условиям которых должны соответствовать поды и контейнеры.
- массив строк
Список разрешенных для контейнеров профилей AppArmor.
Пример:
allowedAppArmor: - runtime/default - unconfined
- массив строк
Список привилегий (linux capabilities), доступных контейнерам.
Используйте
ALL
, чтобы разрешить все привилегии.Пример:
allowedCapabilities: - SETGID - SETUID - NET_BIND_SERVICE
- строка
Привилегия (linux capability).
Допустимые значения:
ALL
,SETPCAP
,SYS_MODULE
,SYS_RAWIO
,SYS_PACCT
,SYS_ADMIN
,SYS_NICE
,SYS_RESOURCE
,SYS_TIME
,SYS_TTY_CONFIG
,MKNOD
,AUDIT_WRITE
,AUDIT_CONTROL
,MAC_OVERRIDE
,MAC_ADMIN
,NET_ADMIN
,SYSLOG
,CHOWN
,NET_RAW
,DAC_OVERRIDE
,FOWNER
,DAC_READ_SEARCH
,FSETID
,KILL
,SETGID
,SETUID
,LINUX_IMMUTABLE
,NET_BIND_SERVICE
,NET_BROADCAST
,IPC_LOCK
,IPC_OWNER
,SYS_CHROOT
,SYS_PTRACE
,SYS_BOOT
,LEASE
,SETFCAP
,WAKE_ALARM
,BLOCK_SUSPEND
- массив объектов
Список префиксов путей, разрешенных для монтирования в контейнерах. Если список пуст, то можно использовать любой путь.
Пример:
allowedHostPaths: - pathPrefix: "/dev" readOnly: true
- строка
Обязательный параметр
Префикс определяет, какие директории хоста доступны для монтирования в контейнерах.
Использование маски
*
недопустимо. Завершающие слеши отбрасываются при сопоставлении пути и префикса.Например, префикс
/foo
разрешает пути/foo
,/foo/
и/foo/bar
. Напротив, пути/food
или/etc/foo
будут недоступны. - булевый
Проверяет, что все
volumeMount
, попадающие в префикс (с параметром pathPrefix), монтируются только на чтение (readOnly: true
).По умолчанию:
false
- массив объектов
Cписок диапазонов портов хоста (
hostPort
), разрешенных для использования в контейнерах. - массив строк
Список разрешенных volume-плагинов.
Пример:
allowedVolumes: - hostPath - persistentVolumeClaim
- строка
Допустимые значения:
*
,none
,awsElasticBlockStore
,azureDisk
,azureFile
,cephFS
,cinder
,configMap
,csi
,downwardAPI
,emptyDir
,fc
,flexVolume
,flocker
,gcePersistentDisk
,gitRepo
,glusterfs
,hostPath
,iscsi
,nfs
,persistentVolumeClaim
,photonPersistentDisk
,portworxVolume
,projected
,quobyte
,rbd
,scaleIO
,secret
,storageos
,vsphereVolume
- массив строк
Список запрещенных ключей sysctl.
Имеет преимущество перед параметром allowedUnsafeSysctls.
Пример:
forbiddenSysctls: - kernel.msg* - net.core.somaxconn
- объект
Задает группы, разрешенные для использования как
fsGroup
в параметреsecurityContext
.- массив объектов
Список диапазонов идентификаторов для
fsGroup
, разрешенных в режимеMustRunAs
.
- булевый
Если установлен в
true
, разрешает запуск только тех подов, у всех контейнеров которых корневая файловая система доступна только для чтения (в полеsecurityContext
установленоreadOnlyRootFilesystem: true
). Подробнее в документации Kubernetes. - массив строк
Список привилегий (linux capabilities), обязательных к исключению.
Используйте
ALL
, чтобы исключить все привилегии.Пример:
requiredDropCapabilities: - SETGID - SETUID - NET_BIND_SERVICE
- строка
Привилегия (linux capability).
Допустимые значения:
ALL
,SETPCAP
,SYS_MODULE
,SYS_RAWIO
,SYS_PACCT
,SYS_ADMIN
,SYS_NICE
,SYS_RESOURCE
,SYS_TIME
,SYS_TTY_CONFIG
,MKNOD
,AUDIT_WRITE
,AUDIT_CONTROL
,MAC_OVERRIDE
,MAC_ADMIN
,NET_ADMIN
,SYSLOG
,CHOWN
,NET_RAW
,DAC_OVERRIDE
,FOWNER
,DAC_READ_SEARCH
,FSETID
,KILL
,SETGID
,SETUID
,LINUX_IMMUTABLE
,NET_BIND_SERVICE
,NET_BROADCAST
,IPC_LOCK
,IPC_OWNER
,SYS_CHROOT
,SYS_PTRACE
,SYS_BOOT
,LEASE
,SETFCAP
,WAKE_ALARM
,BLOCK_SUSPEND
- объект
Задает основные группы (
runAsGroup
), разрешенные для использования в параметреsecurityContext
.- массив объектов
Список диапазонов идентификаторов групп для
runAsGroup
, разрешенных в режимеMustRunAs
.
- объект
Задает разрешенные в параметре
securityContext
идентификаторы пользователей (runAsUser
).- массив объектов
Список диапазонов идентификаторов пользователей для
runAsUser
, разрешенных в режимеMustRunAs
.
- массив объектов
Определяет разрешенные для использования в параметре
secutiryContext
значения SELinux-меток. - объект
Задает список разрешенных seccomp-профилей для аннотаций подов и контейнеров.
- объект
Задает дополнительные группы (
supplementalGroups
), разрешенные для использования в параметреsecurityContext
.- массив объектов
Список диапазонов идентификаторов групп для
supplementalGroups
, разрешенных в режимеMustRunAs
.
- массив объектов
Список политик проверки подписи образов контейнеров.
Образы контейнеров должны быть подписаны с помощью инструмента Cosign.
Доступно только в enterprise edition.
Пример:
verifyImageSignatures: - reference: docker.io/myrepo/* publicKeys: - |- -----BEGIN PUBLIC KEY----- ..... -----END PUBLIC KEY----- - reference: company.registry.com/* dockerCfg: "<Base64_dockerCfg>" publicKeys: - |- -----BEGIN PUBLIC KEY----- ..... -----END PUBLIC KEY-----
- строка
Обязательный параметр
Адрес или шаблон адресов образов контейнеров.
Если содержит символ
*
, то считается шаблоном адресов образов контейнеров. Символ*
может быть только один и только в конце. Например, для значенияcompany.registry.com/*
с указанными ключами и параметрами доступа будут проверяться любые образы контейнеров из хранилищаcompany.registry.com
.Если не содержит символа
*
, то считается абсолютным адресом образа контейнера. Например, для значенияcompany.registry.com/nginx
с указанными ключами и параметрами доступа будет проверяться только образ nginx из хранилищаcompany.registry.com
.Шаблон:
^[a-z0-9\.\-:@\/]*\*?$
Примеры:
reference: docker.io/myuser/*
reference: "*"