15.4. 创建新安全性上下文约束
创建新 SCC:
在 JSON 或 YAML 文件中定义 SCC:
安全性上下文约束对象定义
kind: SecurityContextConstraints apiVersion: v1 metadata: name: scc-admin allowPrivilegedContainer: true runAsUser: type: RunAsAny seLinuxContext: type: RunAsAny fsGroup: type: RunAsAny supplementalGroups: type: RunAsAny users: - my-admin-user groups: - my-admin-group
此外,您可以通过将
requiredDropCapabilities
字段设为所需的值,向 SCC 添加丢弃功能。所有指定的功能都将从容器中丢弃。例如,若要创建具有KILL
、MKNOD
和SYS_CHROOT
所需丢弃功能的 SCC,请将以下内容添加到 SCC 对象中:requiredDropCapabilities: - KILL - MKNOD - SYS_CHROOT
您可以在 Docker 文档中查看可能值的列表。
提示由于功能会传递到 Docker,您可以使用特殊值
ALL
来丢弃所有可能的功能。然后,运行
oc create
并传递文件来创建:$ oc create -f scc_admin.yaml securitycontextconstraints "scc-admin" created
验证 SCC 已创建好:
$ oc get scc scc-admin NAME PRIV CAPS SELINUX RUNASUSER FSGROUP SUPGROUP PRIORITY READONLYROOTFS VOLUMES scc-admin true [] RunAsAny RunAsAny RunAsAny RunAsAny <none> false [awsElasticBlockStore azureDisk azureFile cephFS cinder configMap downwardAPI emptyDir fc flexVolume flocker gcePersistentDisk glusterfs iscsi nfs persistentVolumeClaim photonPersistentDisk quobyte rbd secret vsphere]