15.5. 보안 컨텍스트 제약 조건에 대한 역할 기반 액세스
SBA를 RBAC에서 처리하는 리소스로 지정할 수 있습니다. 그러면 SCC에 대한 액세스 권한의 범위를 특정 프로젝트 또는 전체 클러스터로 지정할 수 있습니다. SCC에 사용자, 그룹 또는 서비스 계정을 직접 할당하면 클러스터 전체 범위가 유지됩니다.
기본 네임스페이스(default
, kube-system
, kube-public
, openshift-node
, openshift-infra
, openshift)
중 하나에서 생성된 Pod에는 SCC를 할당할 수 없습니다. 이러한 네임스페이스는 Pod 또는 서비스를 실행하는 데 사용해서는 안 됩니다.
역할에 대한 SCC 액세스 권한을 포함하려면 역할을 생성할 때 scc
리소스를 지정하십시오.
$ oc create role <role-name> --verb=use --resource=scc --resource-name=<scc-name> -n <namespace>
그러면 다음과 같은 역할 정의가 생성됩니다.
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: ... name: role-name 1 namespace: namespace 2 ... rules: - apiGroups: - security.openshift.io 3 resourceNames: - scc-name 4 resources: - securitycontextconstraints 5 verbs: 6 - use
이러한 규칙이 있는 로컬 또는 클러스터 역할을 통해 RoleBinding 또는 ClusterRoleBinding으로 바인딩된 주체는 scc-name
이라는 사용자 정의 SCC를 사용할 수 있습니다.
RBAC는 에스컬레이션되지 않도록 설계되었으므로 프로젝트 관리자도 SCC에 대한 액세스 권한을 부여할 수 없습니다. restricted
SCC를 포함하여 기본적으로 SCC 리소스에 동사 use
를 사용할 수 없습니다.