第 9 章 SecurityContextConstraints [security.openshift.io/v1]


描述
SecurityContextConstraints 监管向容器发出影响 SecurityContext 的请求的功能。出于历史原因,SCC 在核心 Kubernetes API 组下公开。该公开已弃用,并将在以后的发行版本中删除 - 用户应使用 security.openshift.io 组来管理 SecurityContextConstraints。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
object
必填
  • allowHostDirVolumePlugin
  • allowHostIPC
  • allowHostNetwork
  • allowHostPID
  • allowHostPorts
  • allowPrivilegedContainer
  • readOnlyRootFilesystem

9.1. 规格

属性类型描述

allowHostDirVolumePlugin

布尔值

allowHostDirVolumePlugin 决定策略是否允许容器使用 HostDir 卷插件

allowHostIPC

布尔值

allowHostIPC 决定策略是否允许容器中的主机 ipc。

allowHostNetwork

布尔值

allowHostNetwork 决定策略是否允许在 pod spec 中使用 HostNetwork。

allowHostPID

布尔值

allowHostPID 确定策略是否允许容器中的主机 pid。

allowHostPorts

布尔值

allowHostPorts 确定策略是否允许容器中的主机端口。

allowPrivilegeEscalation

``

allowPrivilegeEscalation 决定 pod 是否可以请求允许特权升级。如果未指定,则默认为 true。

allowPrivilegedContainer

布尔值

allowPrivilegedContainer 确定容器是否可以请求以特权方式运行。

allowedCapabilities

``

allowedCapabilities 是可请求添加到容器的功能列表。此字段中的功能可能会由 pod 作者自行决定添加。您不能列出 AllowedCapabilities 和 RequiredDropCapabilities 中的功能。要允许所有功能,您可以使用 '*'。

allowedFlexVolumes

``

AllowedFlexVolumes 是允许 Flexvolumes 的白名单。空或 nil 表示可以使用所有 Flexvolumes。只有在"Volumes"字段中允许使用 Flexvolumes 时,这个参数才有效。

allowedUnsafeSysctls

``

allowedUnsafeSysctls 是明确允许的不安全 sysctl 列表,默认为 none。每个条目可以是普通 sysctl 名称,或者在 "" 中结束,在这种情况下,它被视为允许的 sysctl 的前缀。单个 * 表示允许所有不安全 sysctl。kubelet 必须明确将所有允许的不安全 sysctl 列入白名单,以避免拒绝。例如:如 "foo/" 允许 "foo/bar", "foo/baz", 等。例如 "foo regarding" allow "foo.bar", "foo.baz" 等。

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

defaultAddCapabilities

``

defaultAddCapabilities 是将添加到容器的默认功能集,除非 pod 规格特别丢弃该功能。您不能在 DefaultAddCapabilities 和 RequiredDropCapabilities 中列出功能性。

defaultAllowPrivilegeEscalation

``

defaultAllowPrivilegeEscalation 控制进程是否可以比其父进程获得更多权限的默认设置。

forbiddenSysctls

``

forbiddenSysctls 是明确禁止的 sysctl 列表,默认为 none。每个条目可以是普通 sysctl 名称,或者在 "" 中结束,在这种情况下,它被视为禁止的 sysctl 的前缀。单个 * 表示所有 sysctl 都被禁止。例如:例如:如 "foo/" forbids "foo/bar", "foo/baz" 等,如 "foo targeted" forbids "foo.bar", "foo.baz", "foo.baz" 等。

fsGroup

``

fsGroup 是指明 SecurityContext 使用的 fs 组的策略。

groups

``

有权使用此安全性上下文约束的组

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

priority

``

根据 Users and Groups 字段中的访问,优先级会影响在评估哪些 SCC 时,首先尝试给定 pod 请求的排序顺序。int 越高,优先级越高。unset 值被视为 0 优先级。如果多个 SCC 的分数相等,则它们会根据限制性最强到最弱排序。如果优先级和限制性都相等,则 SCC 按照名称排序。

readOnlyRootFilesystem

布尔值

设置为 true 时 readOnlyRootFileSystem 将强制容器使用只读根文件系统运行。如果容器特别使用非只读 root 文件系统运行的请求,则 SCC 应该拒绝该 pod。如果设置为 false,则容器可能会以只读 root 文件系统运行(如果该容器希望但不会被强制使用)。

requiredDropCapabilities

``

requiredDropCapabilities 是将要从容器中丢弃的功能。这些需要丢弃且无法添加。

runAsUser

``

runAsUser 是策略,它将指定 SecurityContext 中使用什么 RunAsUser。

seLinuxContext

``

seLinuxContext 是策略,它将指定 SecurityContext 中将设置哪些标签。

seccompProfiles

``

seccompProfiles 列出了可以为 pod 或容器的 seccomp 注解设置的允许的配置集。取消设置(nil)或空值意味着 pod 或容器没有指定配置集。通配符 '*' 可用于允许所有配置集。用于为 pod 生成值时,第一个非通配符配置集将用作默认值。

supplementalGroups

``

supplementalGroups 是指明 SecurityContext 使用了哪些补充组的策略。

users

``

有权使用此安全性上下文约束的用户

``

卷是允许的卷插件的白名单。fstype 与 VolumeSource 的字段名称(azureFile, configMap, emptyDir)对应。要允许所有卷,您可以使用 "*"。要允许卷,设置为 ["none"]。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.