OperationPolicy
Scope: Cluster
Version: v1alpha1
Описывает операционную политику для кластера.
Каждый ресурс OperationPolicy
описывает правила для объектов в кластере.
- строка
Действие, которое будет выполнено по результатам проверки ограничений:
Deny
— запрет;Dryrun
— отсутствие действия. Применяется при отладке. Информацию о событии можно посмотреть в Grafana в DashboardSecurity/Admission policy engine
;Warn
— аналогичноDryrun
, но дополнительно к информации о событии будет выведена информация о том, из-за какого ограничения (constraint) был бы запрет действия, если бы вместоWarn
использовалсяDeny
.
По умолчанию:
"Deny"
Допустимые значения:
Warn
,Deny
,Dryrun
- объект
Указывает селектор лейблов для фильтрации подов.
Больше информации в документации.
- массив объектов
Список выражений лейблов для подов.
Пример:
1matchExpressions: 2- key: tier 3 operator: In 4 values: 5 - production 6 - staging
- объект
Указывает селектор меток для фильтрации пространств имен.
Больше информации в документации.
- массив объектов
Список выражений лейблов для пространств имен.
Пример:
1matchExpressions: 2- key: tier 3 operator: In 4 values: 5 - production 6 - staging
- массив строк
Требует, чтобы образы контейнера имели тег, отличный от указанных в списке.
Пример:
1disallowedImageTags: latest
- объект
Проверка диапазона разрешенных реплик. Значения включаются в диапазон.
- массив строк
Список объектов Kubernetes в формате
$apiGroup/$kind
для просмотра аннотаций.
- массив строк
Список объектов Kubernetes в формате
$apiGroup/$kind
для просмотра меток.
- массив строк
Список проб, которые необходимы (например,
readinessProbe
иlivenessProbe
).Пример:
1requiredProbes: 2- readinessProbe 3- livenessProbe
- массив строк
Список ограничений по выделяемым ресурсам, которые должны соблюдаться (по процессору, памяти или оба ограничения).
- массив строк
Список запросов на выделение ресурсов, которые должны быть выполнены (процессор, память или оба запроса).
SecurityPolicy
Scope: Cluster
Version: v1alpha1
Описывает политику безопасности для кластера.
Каждый custom resource SecurityPolicy
задает правила для объектов в кластере.
- строка
Реакция на нарушение политики:
Deny
— запрет;Dryrun
— событие без действия. Применяется при отладке. Информацию о событии можно посмотреть в Grafana в DashboardSecurity/Admission policy engine
;Warn
— событие без действия, аналогичноеDryrun
. Содержит информацию об ограничении (constraint), которое вызвало бы запрет, если бы было использовано действиеDeny
.
По умолчанию:
"Deny"
Допустимые значения:
Warn
,Deny
,Dryrun
- объект
Обязательный параметр
Условия фильтрации контейнеров. С помощью условий можно выбрать группу подов или контейнеров, к которой будут применены политики.
- объект
Указывает селектор лейблов для фильтрации подов.
Подробнее в документации Kubernetes.
- массив объектов
Список условий лейблов для подов.
Пример:
1matchExpressions: 2- key: tier 3 operator: In 4 values: 5 - production 6 - staging
- объект
Указывает селектор меток для фильтрации пространств имен.
Подробнее в документации Kubernetes.
- массив объектов
Список условий лейблов для пространств имен.
Пример:
1matchExpressions: 2- key: tier 3 operator: In 4 values: 5 - production 6 - staging
- объект
Обязательный параметр
Набор политик, условиям которых должны соответствовать поды и контейнеры.
- массив строк
Список разрешенных для контейнеров профилей AppArmor.
Пример:
1allowedAppArmor: 2- runtime/default 3- unconfined
- массив строк
Список привилегий (linux capabilities), доступных контейнерам.
Используйте
ALL
, чтобы разрешить все привилегии.Пример:
1allowedCapabilities: 2- SETGID 3- SETUID 4- 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
- массив объектов
Список префиксов путей, разрешенных для монтирования в контейнерах. Если список пуст, то можно использовать любой путь.
Пример:
1allowedHostPaths: 2- pathPrefix: "/dev" 3 readOnly: true
- строка
Обязательный параметр
Префикс определяет, какие директории хоста доступны для монтирования в контейнерах.
Использование маски
*
недопустимо. Завершающие слеши отбрасываются при сопоставлении пути и префикса.Например, префикс
/foo
разрешает пути/foo
,/foo/
и/foo/bar
. Напротив, пути/food
или/etc/foo
будут недоступны. - булевый
Проверяет, что все
volumeMount
, попадающие в префикс (с параметром pathPrefix), монтируются только на чтение (readOnly: true
).По умолчанию:
false
- массив объектов
Cписок диапазонов портов хоста (
hostPort
), разрешенных для использования в контейнерах. - массив строк
Список разрешенных volume-плагинов.
Пример:
1allowedVolumes: 2- hostPath 3- persistentVolumeClaim
- строка
Допустимые значения:
*
,none
,awsElasticBlockStore
,azureDisk
,azureFile
,cephFS
,cinder
,configMap
,csi
,downwardAPI
,emptyDir
,ephemeral
,fc
,flexVolume
,flocker
,gcePersistentDisk
,gitRepo
,glusterfs
,hostPath
,iscsi
,nfs
,persistentVolumeClaim
,photonPersistentDisk
,portworxVolume
,projected
,quobyte
,rbd
,scaleIO
,secret
,storageos
,vsphereVolume
- массив строк
Список запрещенных ключей sysctl.
Имеет преимущество перед параметром allowedUnsafeSysctls.
Пример:
1forbiddenSysctls: 2- kernel.msg* 3- net.core.somaxconn
- объект
Задает группы, разрешенные для использования как
fsGroup
в параметреsecurityContext
.- массив объектов
Список диапазонов идентификаторов для
fsGroup
, разрешенных в режимеMustRunAs
.
- булевый
Если установлен в
true
, разрешает запуск только тех подов, у всех контейнеров которых корневая файловая система доступна только для чтения (в полеsecurityContext
установленоreadOnlyRootFilesystem: true
). Подробнее в документации Kubernetes. - массив строк
Список привилегий (linux capabilities), обязательных к исключению.
Используйте
ALL
, чтобы исключить все привилегии.Пример:
1requiredDropCapabilities: 2- SETGID 3- SETUID 4- 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
.
- массив объектов
Доступно в редакциях: SE+, EE, CSE Lite (1.67), CSE Pro (1.67)
Список политик проверки подписи образов контейнеров.
Образы контейнеров должны быть подписаны с помощью инструмента Cosign.
Пример:
1verifyImageSignatures: 2- reference: docker.io/myrepo/* 3 publicKeys: 4 - |- 5 -----BEGIN PUBLIC KEY----- 6 ..... 7 -----END PUBLIC KEY----- 8- reference: company.registry.com/* 9 dockerCfg: "<Base64_dockerCfg>" 10 publicKeys: 11 - |- 12 -----BEGIN PUBLIC KEY----- 13 ..... 14 -----END PUBLIC KEY-----
- строка
Обязательный параметр
Адрес или шаблон адресов образов контейнеров.
Если содержит символ
*
, то считается шаблоном адресов образов контейнеров. Символ*
может быть только один и только в конце. Например, для значенияcompany.registry.com/*
с указанными ключами и параметрами доступа будут проверяться любые образы контейнеров из хранилищаcompany.registry.com
.Если не содержит символа
*
, то считается абсолютным адресом образа контейнера. Например, для значенияcompany.registry.com/nginx
с указанными ключами и параметрами доступа будет проверяться только образ nginx из хранилищаcompany.registry.com
.Шаблон:
^[a-z0-9\.\-:@\/]*\*?$
Примеры:
1reference: docker.io/myuser/*
1reference: "*"