Spec-Zone.ru › Kubernetes 1.24

PodSecurityPolicy v1beta1

PodSecurityPolicy управляет возможностью отправки запросов, которые влияют на контекст безопасности, который будет применён к под и контейнеру.

apiVersion: policy/v1beta1

import "k8s.io/api/policy/v1beta1"

PodSecurityPolicy

PodSecurityPolicy управляет возможностью отправки запросов, которые влияют на контекст безопасности, который будет применён к под и контейнеру. Устарело в версии 1.21.

  • apiVersion: policy/v1beta1

  • kind: PodSecurityPolicy

  • metadata (ObjectMeta)

    Стандартные метаданные объекта. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

  • spec (PodSecurityPolicySpec)

    spec определяет применяемую политику.

PodSecurityPolicySpec

PodSecurityPolicySpec определяет применяемую политику.

  • runAsUser (RunAsUserStrategyOptions), required

    runAsUser — стратегия, определяющая допустимые значения RunAsUser.

    RunAsUserStrategyOptions определяет тип стратегии и любые параметры, используемые для создания стратегии.

    • runAsUser.rule (string), required

      rule — стратегия, определяющая допустимые значения RunAsUser.

    • runAsUser.ranges ([]IDRange)

      ranges — разрешенные диапазоны значений uid. Если требуется принудительно установить одно значение uid, укажите один диапазон с одинаковым началом и концом. Требуется для MustRunAs.

      IDRange предоставляет минимальное и максимальное значения разрешенного диапазона идентификаторов.

      • runAsUser.ranges.max (int64), required

        max — конечная граница диапазона (включительно).

      • runAsUser.ranges.min (int64), required

        min — начальная граница диапазона (включительно).

  • runAsGroup (RunAsGroupStrategyOptions)

    RunAsGroup — стратегия, определяющая допустимые значения RunAsGroup. Если это поле опущено, RunAsGroup под может принимать любое значение. Это поле требует включения функции RunAsGroup.

    RunAsGroupStrategyOptions определяет тип стратегии и любые параметры, используемые для создания стратегии.

    • runAsGroup.rule (string), required

      rule — стратегия, определяющая допустимые значения RunAsGroup.

    • runAsGroup.ranges ([]IDRange)

      ranges — разрешенные диапазоны значений gid. Если требуется принудительно установить одно значение gid, укажите один диапазон с одинаковым началом и концом. Требуется для MustRunAs.

      IDRange предоставляет минимальное и максимальное значения разрешенного диапазона идентификаторов.

      • runAsGroup.ranges.max (int64), required

        max — конечная граница диапазона (включительно).

      • runAsGroup.ranges.min (int64), required

        min — начальная граница диапазона (включительно).

  • fsGroup (FSGroupStrategyOptions), required

    fsGroup — стратегия, определяющая fs-группу, используемую SecurityContext.

    FSGroupStrategyOptions определяет тип стратегии и параметры, используемые для создания стратегии.

    • fsGroup.ranges ([]IDRange)

      ranges — разрешенные диапазоны fs-групп. Если требуется принудительно установить одну fs-группу, укажите один диапазон с одинаковым началом и концом. Требуется для MustRunAs.

      IDRange предоставляет минимальное и максимальное значения разрешенного диапазона идентификаторов.

      • fsGroup.ranges.max (int64), required

        max — конечная граница диапазона (включительно).

      • fsGroup.ranges.min (int64), required

        min — начальная граница диапазона (включительно).

    • fsGroup.rule (string)

      rule — стратегия, определяющая fsGroup, используемый в SecurityContext.

  • supplementalGroups (SupplementalGroupsStrategyOptions), required

    supplementalGroups — стратегия, определяющая дополнительные группы, используемые SecurityContext.

    SupplementalGroupsStrategyOptions определяет тип стратегии и параметры, используемые для создания стратегии.

    • supplementalGroups.ranges ([]IDRange)

      ranges — разрешенные диапазоны дополнительных групп. Если требуется принудительно установить одну дополнительную группу, укажите один диапазон с одинаковым началом и концом. Требуется для MustRunAs.

      IDRange предоставляет минимальное и максимальное значения разрешенного диапазона идентификаторов.

      • supplementalGroups.ranges.max (int64), required

        max — конечная граница диапазона (включительно).

      • supplementalGroups.ranges.min (int64), required

        min — начальная граница диапазона (включительно).

    • supplementalGroups.rule (string)

      rule — стратегия, определяющая дополнительные группы, используемые в SecurityContext.

  • seLinux (SELinuxStrategyOptions), required

    seLinux — стратегия, определяющая разрешенные метки.

    SELinuxStrategyOptions определяет тип стратегии и любые параметры, используемые для создания стратегии.

    • seLinux.rule (string), required

      rule — стратегия, определяющая разрешенные метки.

    • seLinux.seLinuxOptions (SELinuxOptions)

      seLinuxOptions, необходимые для выполнения; требуются для MustRunAs. Дополнительная информация: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/

      SELinuxOptions — метки, которые должны быть применены к контейнеру.

      • seLinux.seLinuxOptions.level (string)

        Уровень — метка уровня SELinux, применяемая к контейнеру.

      • seLinux.seLinuxOptions.role (string)

        Роль — метка роли SELinux, применяемая к контейнеру.

      • seLinux.seLinuxOptions.type (string)

        Тип — метка типа SELinux, применяемая к контейнеру.

      • seLinux.seLinuxOptions.user (string)

        Пользователь — метка пользователя SELinux, применяемая к контейнеру.

  • readOnlyRootFilesystem (boolean)

    readOnlyRootFilesystem, если установлено в true, принудительно заставляет контейнеры запускаться с файловой системой корня только для чтения. Если контейнер явно запросил запуск с файловой системой корня, отличной от только для чтения, PSP должна отклонить pod. Если установлено в false, контейнер может запускаться с файловой системой корня только для чтения, если пожелает, но не будет вынужден к этому.

  • privileged (boolean)

    privileged определяет, может ли pod запросить запуск с привилегиями.

  • allowPrivilegeEscalation (boolean)

    allowPrivilegeEscalation определяет, может ли pod запросить разрешение на повышение привилегий. Если не указано, по умолчанию равно true.

  • defaultAllowPrivilegeEscalation (boolean)

    defaultAllowPrivilegeEscalation контролирует значение по умолчанию для разрешения процессам получать больше привилегий, чем у родительского процесса.

  • allowedCSIDrivers ([]AllowedCSIDriver)

    AllowedCSIDrivers — список разрешенных CSI-драйверов, которые должны быть явно указаны в спецификации под. Пустое значение указывает, что любой CSI-драйвер может использоваться для временных inline-томов. Это бета-поле и учитывается только если сервер API включил функцию CSIInlineVolume.

    AllowedCSIDriver представляет собой отдельный CSI-драйвер, использование которого разрешено.

    • allowedCSIDrivers.name (string), required

      Name — зарегистрированное имя CSI-драйвера

  • allowedCapabilities ([]string)

    allowedCapabilities — список возможностей, которые могут быть запрошены для добавления в контейнер. Возможности в этом поле могут быть добавлены по усмотрению автора под. Нельзя перечислять возможность одновременно в allowedCapabilities и requiredDropCapabilities.

  • requiredDropCapabilities ([]string)

    requiredDropCapabilities — возможности, которые будут удалены из контейнера. Их требуется удалить, и их нельзя добавить.

  • defaultAddCapabilities ([]string)

    defaultAddCapabilities — набор возможностей по умолчанию, которые будут добавлены в контейнер, если в спецификации под явно не указано удаление этой возможности. Нельзя перечислять возможность одновременно в defaultAddCapabilities и requiredDropCapabilities. Добавленные здесь возможности подразумеваются как разрешенные и не нуждаются в включении в список allowedCapabilities.

  • allowedFlexVolumes ([]AllowedFlexVolume)

    allowedFlexVolumes — список разрешенных Flexvolumes. Пустое или null значение указывает, что все Flexvolumes могут быть использованы. Этот параметр эффективен только при разрешении использования Flexvolumes в поле «volumes».

    AllowedFlexVolume представляет собой отдельный Flexvolume, использование которого разрешено.

    • allowedFlexVolumes.driver (string), required

      driver — имя Flexvolume-драйвера.

  • allowedHostPaths ([]AllowedHostPath)

    allowedHostPaths — список разрешенных путей хоста. Пустое значение указывает, что все пути хоста могут быть использованы.

    AllowedHostPath определяет условия использования томов хоста, которые будут включены политикой для использования pods. Требуется определить префикс пути.

    • allowedHostPaths.pathPrefix (string)

      pathPrefix — префикс пути хоста, которому должен соответствовать том хоста. Не поддерживает *. Конечные косые черты обрезаются при проверке префикса пути с путем хоста.

      Примеры: /foo разрешит /foo, /foo/ и /foo/bar /foo не разрешит /food или /etc/foo

    • allowedHostPaths.readOnly (boolean)

      если установлено в true, разрешит тома хоста, соответствующие pathPrefix, только если все mount-точки томов являются readOnly.

  • allowedProcMountTypes ([]string)

    AllowedProcMountTypes — список разрешенных типов mount Proc. Пустое или null значение указывает, что может использоваться только DefaultProcMountType. Требуется включить флаг ProcMountType.

  • allowedUnsafeSysctls ([]string)

    allowedUnsafeSysctls — список разрешенных небезопасных sysctls, по умолчанию пустой. Каждый элемент — это либо имя sysctl, либо заканчивается «*», в этом случае он рассматривается как префикс разрешенных sysctls. Одиночный «*» означает, что все небезопасные sysctls разрешены. Kubelet должен явно разрешить все разрешенные небезопасные sysctls, чтобы избежать отклонения.

    Примеры: «foo/» разрешает «foo/bar», «foo/baz» и т.д. «foo.» разрешает «foo.bar», «foo.baz» и т.д.

  • forbiddenSysctls ([]string)

    forbiddenSysctls — список запрещенных sysctls, по умолчанию пустой. Каждый элемент — это либо имя sysctl, либо заканчивается «*», в этом случае он рассматривается как префикс запрещенных sysctls. Одиночный «*» означает, что все sysctls запрещены.

    Примеры: «foo/» запрещает «foo/bar», «foo/baz» и т.д. «foo.» запрещает «foo.bar», «foo.baz» и т.д.

  • hostIPC (boolean)

    hostIPC определяет, разрешает ли политика использование HostIPC в спецификации pod.

  • hostNetwork (boolean)

    hostNetwork определяет, разрешает ли политика использование HostNetwork в спецификации pod.

  • hostPID (boolean)

    hostPID определяет, разрешает ли политика использование HostPID в спецификации pod.

  • hostPorts ([]HostPortRange)

    hostPorts определяет, какие диапазоны портов хоста разрешено экспонировать.

    HostPortRange определяет диапазон портов хоста, которые будут разрешены политикой для использования поддовыми. Требуется указать и начальное, и конечное значения.

    • hostPorts.max (int32), требуется

      max — это конечная точка диапазона, включая само значение.

    • hostPorts.min (int32), требуется

      min — это начальная точка диапазона, включая само значение.

  • runtimeClass (RuntimeClassStrategyOptions)

    runtimeClass — это стратегия, которая будет определять разрешенные RuntimeClass для подда. Если этот параметр опущен, поле runtimeClassName подда не ограничено. Применение этого параметра зависит от включения функции RuntimeClass.

    RuntimeClassStrategyOptions определяет стратегию, которая будет определять разрешенные RuntimeClasses для подда.

    • runtimeClass.allowedRuntimeClassNames ([]string), требуется

      allowedRuntimeClassNames — это список разрешенных имён RuntimeClass, которые могут быть указаны для подда. Значение "*" означает, что любое имя RuntimeClass разрешено и должно быть единственным элементом в списке. Пустой список требует, чтобы поле RuntimeClassName было не задано.

    • runtimeClass.defaultRuntimeClassName (string)

      defaultRuntimeClassName — это значение по умолчанию RuntimeClassName для подда. Значение по умолчанию ДОЛЖНО быть разрешено списком allowedRuntimeClassNames. Значение nil не изменяет Pod.

  • volumes ([]string)

    volumes — это список разрешенных плагинов объёмов. Пустое значение означает, что никакие объёмы не могут быть использованы. Для разрешения всех объёмов можно использовать "*".

Список правил безопасности Pod

Список правил безопасности Pod — это список объектов PodSecurityPolicy.

  • apiVersion: policy/v1beta1

  • kind: Список правил безопасности Pod

  • metadata (ListMeta)

    Стандартные метаданные списка. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

  • items ([]PodSecurityPolicy), требуется

    items — это список объектов схемы.

© 2022 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2022 The Linux Foundation ®. All rights reserved.
https://v1-24.docs.kubernetes.io/docs/reference/kubernetes-api/policy-resources/pod-security-policy-v1beta1/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API