15.4. 보안 컨텍스트 제약 조건 생성
기본 SCC(보안 컨텍스트 제약 조건)가 애플리케이션 워크로드 요구 사항을 충족하지 않는 경우 OpenShift CLI(oc
)를 사용하여 사용자 정의 SCC를 생성할 수 있습니다.
자체 SCC를 생성하고 수정하는 것은 클러스터에 불안정할 수 있는 고급 작업입니다. 자체 SCC 사용에 대한 질문이 있는 경우 Red Hat 지원에 문의하십시오. Red Hat 지원에 문의하는 방법에 대한 자세한 내용은 지원 요청을 참조하십시오.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
역할의 사용자로 클러스터에 로그인합니다.
절차
scc-admin.yaml
이라는 YAML 파일에 SCC를 정의합니다.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의 특정 기능을 삭제할 수 있습니다. 지정된 기능은 컨테이너에서 삭제됩니다. 모든 기능을 삭제하려면ALL
을 지정합니다. 예를 들어KILL
,MKNOD
,SYS_CHROOT
기능을 삭제하는 SCC를 생성하려면 SCC 오브젝트에 다음을 추가합니다.requiredDropCapabilities: - KILL - MKNOD - SYS_CHROOT
참고allowedCapabilities
및requiredDropCapabilities
모두에서 기능을 나열할 수 없습니다.CRI-O는 Docker 문서에 있는 동일한 기능 값 목록을 지원합니다.
파일에서 전달하여 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]