4.2.5.5.3. 사전 할당된 값 및 보안 컨텍스트 제약 조건 이해
허용 컨트롤러는 보안 컨텍스트 제약 조건의 특정 조건을 인식하여 네임스페이스에서 미리 할당된 값을 조회하고 Pod를 처리하기 전에 보안 컨텍스트 제약 조건을 채울 수 있습니다. 각 SCC 전략은 실행 중인 Pod에 정의된 다양한 ID에 대한 최종 값을 만들기 위해 포드 사양 값으로 집계된 각 정책에 대해 사전 할당된 값(허용 위치)을 사용하여 다른 전략과 독립적으로 평가됩니다.
다음 SCC를 사용하면 Pod 사양에 범위가 정의되지 않은 경우 허용 컨트롤러에서 사전 할당된 값을 찾습니다.
-
최소 또는 최대 집합이 없는 MustRunAsRange의
RunAsUser
전략. 허용 작업에서는 범위 필드를 채우기 위해 openshift.io/sa.scc.uid-range 주석을 찾습니다. -
수준이 설정되지 않은 MustRunAs의
SELinuxContext
전략. 허용 작업에서는 수준을 채울 openshift.io/sa.scc.mcs 주석을 찾습니다. -
MustRunAs의
FSGroup
전략. 허용 작업에서는 openshift.io/sa.scc.supplemental-group 주석을 찾습니다. -
MustRunAs의
SupplementalGroups
전략. 허용 작업에서는 openshift.io/sa.scc.supplemental-group 주석을 찾습니다.
생성 단계 중에 보안 컨텍스트 프로바이더는 포드에 구체적으로 설정되지 않은 값을 기본값으로 설정합니다. 기본값은 사용되는 전략을 기반으로 합니다.
-
RunAsAny
및MustRunAsNonRoot
전략에서는 기본값을 제공하지 않습니다. 따라서 Pod에 정의된 필드(예: 그룹 ID)가 필요한 경우 Pod 사양 내에 이 필드를 정의해야 합니다. -
MustRunAs
(단일 값) 전략에서는 항상 사용되는 기본값을 제공합니다. 예를 들어 그룹 ID의 경우: Pod 사양에서 자체 ID 값을 정의하더라도 네임스페이스의 기본 필드도 Pod의 그룹에 표시됩니다. -
MustRunAsRange
및MustRunAs
(범위 기반) 전략에서는 최소 범위 값을 제공합니다. 단일 값MustRunAs
전략과 마찬가지로 네임스페이스의 기본값이 실행 중인 Pod에 표시됩니다. 범위 기반 전략을 여러 범위로 구성할 수 있는 경우 처음 구성된 최소 범위 값을 제공합니다.
openshift.io/sa.scc.supplemental-groups 주석이 네임스페이스에 존재하지 않는 경우, FSGroup
및 SupplementalGroups
전략이 openshift.io/sa.scc.uid-range 주석으로 변경됩니다. 둘 다 존재하지 않으면 SCC를 만들지 못합니다.
기본적으로 주석 기반 FSGroup
전략은 주석의 최솟값에 따라 단일 범위로 자체 구성됩니다. 예를 들어 주석이 1/3 이면 FSGroup
전략은 최솟값 및 최대 1 로 구성됩니다. FSGroup
필드에 더 많은 그룹을 허용하려면 주석을 사용하지 않는 사용자 정의 SCC를 구성하면 됩니다.
openshift.io/sa.scc.supplemental-groups 주석은 <start>/<length 또는
형식으로 쉼표로 구분된 블록 목록을 허용합니다. openshift.io/sa.scc.uid-range 주석에는 단일 블록만 사용할 수 있습니다.
<start>
;-<end>