3장. Pod의 보안 컨텍스트 구성
OpenShift Pipelines가 시작되는 Pod의 기본 서비스 계정은 파이프라인
입니다. 파이프라인
서비스 계정과 연결된 SCC(보안 컨텍스트 제약 조건)는 pipelines-scc
입니다. pipelines-scc
SCC는 다음 YAML 사양에 정의된 대로 약간의 차이가 있는 anyuid
SCC를 기반으로 합니다.
pipelines-scc.yaml
스니펫 예
apiVersion: security.openshift.io/v1 kind: SecurityContextConstraints # ... allowedCapabilities: - SETFCAP # ... fsGroup: type: MustRunAs # ...
또한 OpenShift Pipelines의 일부로 제공되는 Buildah
클러스터 작업은 vfs
를 기본 스토리지 드라이버로 사용합니다.
OpenShift Pipelines가 파이프라인 실행 및 작업 실행을 위해 생성하는 Pod의 보안 컨텍스트를 구성할 수 있습니다. 다음과 같은 변경을 수행할 수 있습니다.
- 모든 Pod의 기본 SCC 및 최대 SCC 변경
- 특정 네임스페이스에서 파이프라인 실행 및 작업 실행을 위해 생성된 Pod의 기본 SCC 변경
- 사용자 정의 SCC 및 서비스 계정을 사용하도록 특정 파이프라인 실행 또는 작업 실행 구성
buildah
를 실행하여 모든 이미지를 빌드할 수 있도록 하는 가장 간단한 방법은 권한이 있는
SCC를 사용하여 Pod에서 root로 실행하는 것입니다. 보다 제한적인 보안 설정으로 buildah
를 실행하는 방법에 대한 자세한 내용은 루트가 아닌 사용자로 Buildah를 사용하여 컨테이너 이미지 빌드 를 참조하십시오.
3.1. OpenShift Pipelines에서 생성하는 Pod의 기본 및 최대 SCC 구성
OpenShift Pipelines가 작업 실행 및 파이프라인 실행을 위해 생성하는 모든 Pod에 대해 기본 SCC(보안 컨텍스트 제약 조건)를 구성할 수 있습니다. 모든 네임스페이스에서 이러한 Pod에 대해 구성할 수 있는 최소 제한적인 SCC인 최대 SCC를 구성할 수도 있습니다.
프로세스
다음 명령을 입력하여
TektonConfig
CR(사용자 정의 리소스)을 편집합니다.$ oc edit TektonConfig config
다음 예와 같이 사양에서 default 및 maximum SCC를 설정합니다.
apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: # ... platforms: openshift: scc: default: "restricted-v2" 1 maxAllowed: "privileged" 2
- 1
spec.platforms.openshift.scc.default
는 기본적으로파이프라인
SA인 워크로드에 사용되는 서비스 계정(SA)에 OpenShift Pipelines를 연결하는 기본 SCC를 지정합니다. 이 SCC는 모든 파이프라인 실행 및 작업 실행 Pod에 사용됩니다.- 2
spec.platforms.openshift.scc.maxAllowed
는 네임스페이스에서 파이프라인 실행 및 작업 실행 Pod에 대해 구성할 수 있는 가장 덜 제한적인 SCC를 지정합니다. 이 설정은 특정 파이프라인 실행 또는 작업 실행에서 사용자 지정 SA 및 SCC를 구성할 때 적용되지 않습니다.