15.6. 更新安全性上下文约束
更新现有的 SCC:
$ oc edit scc <scc_name>
注意
要在升级过程中保留自定义 SCC,请不要编辑优先级、用户和组以外的默认 SCC 的设置。
15.6.1. 安全性上下文约束设置示例
但没有清除 runAsUser 设置
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
securityContext: 1
containers:
- name: sec-ctx-demo
image: gcr.io/google-samples/node-hello:1.0
- 1
- 当容器或 Pod 没有指定应运行它的用户 ID 时,则生效的 UID 由发出此 Pod 的 SCC 决定。由于在默认情况下,受限 SCC 会授权给所有经过身份验证的用户,所以它可供所有用户和服务帐户使用,并在大多数情形中使用。受限 SCC 使用
MustRunAsRange
策略来约束并默认设定securityContext.runAsUser
字段的可能值。准入插件会在当前项目上查找openshift.io/sa.scc.uid-range
注解来填充范围字段,因为它不提供这一范围。最后,容器的runAsUser
值等于这一范围中的第一个值,而这难以预测,因为每个项目都有不同的范围。如需更多信息,请参阅 了解预分配值和安全上下文约束。
使用 Explicit runAsUser 设置
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
securityContext:
runAsUser: 1000 1
containers:
- name: sec-ctx-demo
image: gcr.io/google-samples/node-hello:1.0
- 1
- 只有服务帐户或用户被授予对允许某一用户 ID 的 SCC 访问权限时,OpenShift Container Platform 才会接受请求该用户 ID 的容器或 Pod。SCC 允许任意 ID、属于某一范围的 ID,或特定于请求的确切用户 ID。
这可与 SELinux、fsGroup 和补充组配合使用。如需更多信息,请参阅卷安全性。