第 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 决定策略是否允许容器使用 HostDir 卷插件 |
|
| allowHostIPC 决定策略是否允许容器中的主机 ipc。 |
|
| allowHostNetwork 决定策略是否允许在 pod spec 中使用 HostNetwork。 |
|
| allowHostPID 确定策略是否允许容器中的主机 pid。 |
|
| allowHostPorts 确定策略是否允许容器中的主机端口。 |
| `` | allowPrivilegeEscalation 决定 pod 是否可以请求允许特权升级。如果未指定,则默认为 true。 |
|
| allowPrivilegedContainer 确定容器是否可以请求以特权方式运行。 |
| `` | allowedCapabilities 是可请求添加到容器的功能列表。此字段中的功能可能会由 pod 作者自行决定添加。您不能列出 AllowedCapabilities 和 RequiredDropCapabilities 中的功能。要允许所有功能,您可以使用 '*'。 |
| `` | AllowedFlexVolumes 是允许 Flexvolumes 的白名单。空或 nil 表示可以使用所有 Flexvolumes。只有在"Volumes"字段中允许使用 Flexvolumes 时,这个参数才有效。 |
| `` | allowedUnsafeSysctls 是明确允许的不安全 sysctl 列表,默认为 none。每个条目可以是普通 sysctl 名称,或者在 "" 中结束,在这种情况下,它被视为允许的 sysctl 的前缀。单个 * 表示允许所有不安全 sysctl。kubelet 必须明确将所有允许的不安全 sysctl 列入白名单,以避免拒绝。例如:如 "foo/" 允许 "foo/bar", "foo/baz", 等。例如 "foo regarding" allow "foo.bar", "foo.baz" 等。 |
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
| `` | defaultAddCapabilities 是将添加到容器的默认功能集,除非 pod 规格特别丢弃该功能。您不能在 DefaultAddCapabilities 和 RequiredDropCapabilities 中列出功能性。 |
| `` | defaultAllowPrivilegeEscalation 控制进程是否可以比其父进程获得更多权限的默认设置。 |
| `` | forbiddenSysctls 是明确禁止的 sysctl 列表,默认为 none。每个条目可以是普通 sysctl 名称,或者在 "" 中结束,在这种情况下,它被视为禁止的 sysctl 的前缀。单个 * 表示所有 sysctl 都被禁止。例如:例如:如 "foo/" forbids "foo/bar", "foo/baz" 等,如 "foo targeted" forbids "foo.bar", "foo.baz", "foo.baz" 等。 |
| `` | fsGroup 是指明 SecurityContext 使用的 fs 组的策略。 |
| `` | 有权使用此安全性上下文约束的组 |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
| `` | 根据 Users and Groups 字段中的访问,优先级会影响在评估哪些 SCC 时,首先尝试给定 pod 请求的排序顺序。int 越高,优先级越高。unset 值被视为 0 优先级。如果多个 SCC 的分数相等,则它们会根据限制性最强到最弱排序。如果优先级和限制性都相等,则 SCC 按照名称排序。 |
|
| 设置为 true 时 readOnlyRootFileSystem 将强制容器使用只读根文件系统运行。如果容器特别使用非只读 root 文件系统运行的请求,则 SCC 应该拒绝该 pod。如果设置为 false,则容器可能会以只读 root 文件系统运行(如果该容器希望但不会被强制使用)。 |
| `` | requiredDropCapabilities 是将要从容器中丢弃的功能。这些需要丢弃且无法添加。 |
| `` | runAsUser 是策略,它将指定 SecurityContext 中使用什么 RunAsUser。 |
| `` | seLinuxContext 是策略,它将指定 SecurityContext 中将设置哪些标签。 |
| `` | seccompProfiles 列出了可以为 pod 或容器的 seccomp 注解设置的允许的配置集。取消设置(nil)或空值意味着 pod 或容器没有指定配置集。通配符 '*' 可用于允许所有配置集。用于为 pod 生成值时,第一个非通配符配置集将用作默认值。 |
| `` | supplementalGroups 是指明 SecurityContext 使用了哪些补充组的策略。 |
| `` | 有权使用此安全性上下文约束的用户 |
| `` | 卷是允许的卷插件的白名单。fstype 与 VolumeSource 的字段名称(azureFile, configMap, emptyDir)对应。要允许所有卷,您可以使用 "*"。要允许卷,设置为 ["none"]。 |