15.2. 미리 할당된 보안 컨텍스트 제약 조건 값 정보

허용 컨트롤러는 SCC(보안 컨텍스트 제약 조건)의 특정 조건을 인식하여 네임스페이스에서 미리 할당된 값을 조회하고 pod를 처리하기 전에 SCC를 채울 수 있습니다. 각 SCC 전략은 실행 중인 pod에 정의된 다양한 ID에 대한 최종 값을 만들기 위해 pod 사양 값으로 집계된 각 정책에 대해, 허용된 경우 사전 할당된 값을 사용하여 다른 전략과 독립적으로 평가됩니다.

다음 SCC를 사용하면 Pod 사양에 범위가 정의되지 않은 경우 허용 컨트롤러에서 사전 할당된 값을 찾습니다.

  1. 최소 또는 최대 집합이 없는 MustRunAsRangeRunAsUser 전략. 허용 작업에서는 범위 필드를 채우기 위해 openshift.io/sa.scc.uid-range 주석을 찾습니다.
  2. 수준이 설정되지 않은 MustRunAsSELinuxContext 전략. 허용 작업에서는 수준을 채울 openshift.io/sa.scc.mcs 주석을 찾습니다.
  3. MustRunAsFSGroup 전략. 허용 작업에서는 openshift.io/sa.scc.supplemental-group 주석을 찾습니다.
  4. MustRunAsSupplementalGroups 전략. 허용 작업에서는 openshift.io/sa.scc.supplemental-group 주석을 찾습니다.

생성 단계 중 보안 컨텍스트 공급자는 Pod에서 구체적으로 설정되지 않은 모든 매개변수 값으로 기본값을 사용합니다. 기본값은 선택한 전략에 따라 다릅니다.

  1. RunAsAnyMustRunAsNonRoot 전략에서는 기본값을 제공하지 않습니다. Pod에 그룹 ID와 같은 매개변수 값이 필요한 경우, Pod 사양에 값을 정의해야 합니다.
  2. MustRunAs (단일 값) 전략에서는 항상 사용되는 기본값을 제공합니다. 예를 들어, 그룹 ID의 경우 Pod 사양에서 고유한 ID 값을 정의하더라도 네임스페이스의 기본 매개변수 값도 Pod의 그룹에 나타납니다.
  3. MustRunAsRangeMustRunAs (범위 기반) 전략에서는 최소 범위 값을 제공합니다. 단일 값 MustRunAs 전략과 마찬가지로 네임스페이스의 기본 매개 변수 값이 실행 중인 Pod에 나타납니다. 범위 기반 전략을 여러 범위로 구성할 수 있는 경우, 처음 구성된 최소 범위 값을 제공합니다.
참고

openshift.io/sa.scc.supplemental-groups 주석이 네임스페이스에 존재하지 않는 경우, FSGroupSupplementalGroups 전략이 openshift.io/sa.scc.uid-range 주석으로 변경됩니다. 둘 다 존재하지 않으면 SCC가 생성되지 않습니다.

참고

기본적으로 주석 기반 FSGroup 전략은 주석의 최솟값에 따라 단일 범위로 자체 구성됩니다. 예를 들어, 주석이 1/3이면 FSGroup 전략은 최솟값이자 최댓값인 1로 구성됩니다. FSGroup 필드에 더 많은 그룹을 허용하려면 주석을 사용하지 않는 사용자 정의 SCC를 구성하면 됩니다.

참고

openshift.io/sa.scc.supplemental-groups 주석에는 <start>/<length 또는 <start>-<end> 형식의 쉼표로 구분된 블록 목록을 사용할 수 있습니다. openshift.io/sa.scc.uid-range 주석에는 단일 블록만 사용할 수 있습니다.