15.4. 创建安全性上下文约束

您可以使用 OpenShift CLI(oc)创建安全性上下文约束(SCC)。

先决条件

  • 安装 OpenShift CLI(oc)。
  • 以具有 cluster-admin 角色的用户身份登录集群。

流程

  1. 在名为 scc_admin.yaml 的 YAML 文件中定义 SCC:

    SecurityContextConstraints 对象定义

    kind: SecurityContextConstraints
    apiVersion: security.openshift.io/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 的丢弃功能。所有指定的功能都会从容器中丢弃。例如,若要创建具有 KILLMKNODSYS_CHROOT 所需丢弃功能的 SCC,请将以下内容添加到 SCC 对象中:

    requiredDropCapabilities:
    - KILL
    - MKNOD
    - SYS_CHROOT

    CRI-O 支持 Docker 文档中找到的相同功能值列表。

  2. 通过传递文件来创建 SCC:

    $ 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 gitRepo glusterfs iscsi nfs persistentVolumeClaim photonPersistentDisk quobyte rbd secret vsphere]