Openshift - SCC
Last updated
Last updated
이 페이지의 원 저자는 Guillaume
Openshift에서 SCC는 Security Context Constraints의 약자입니다. Security Context Constraints는 Openshift 클러스터에서 실행되는 pod의 권한을 제어하는 정책입니다. 이는 pod가 실행되는 데 허용되는 보안 매개변수를 정의하며, 수행할 수 있는 작업 및 액세스할 수 있는 리소스를 포함합니다.
SCC는 관리자가 클러스터 전체에 보안 정책을 강제할 수 있도록 돕습니다. 이를 통해 pod가 적절한 권한으로 실행되고 조직의 보안 표준을 준수하는지 확인할 수 있습니다. 이러한 제약 조건은 pod 보안의 여러 측면을 지정할 수 있습니다. 예를 들어:
Linux capabilities: 컨테이너에서 사용 가능한 기능을 제한하는 것(특권 작업 수행 가능 여부 등).
SELinux context: 컨테이너에 대한 SELinux 컨텍스트를 강제하는 것으로, 프로세스가 시스템 리소스와 상호 작용하는 방식을 정의합니다.
Read-only root filesystem: 특정 디렉토리의 파일 수정을 방지하는 것.
허용된 호스트 디렉토리 및 볼륨: pod가 마운트할 수 있는 호스트 디렉토리 및 볼륨을 지정하는 것.
Run as UID/GID: 컨테이너 프로세스가 실행되는 사용자 및 그룹 ID를 지정하는 것.
네트워크 정책: pod의 네트워크 액세스를 제어하는 것으로, egress 트래픽을 제한하는 등의 작업을 수행할 수 있습니다.
SCC를 구성함으로써 관리자는 pod가 적절한 수준의 보안 격리와 액세스 제어로 실행되고 클러스터 내에서 보안 취약점이나 무단 액세스의 위험을 줄일 수 있습니다.
기본적으로 pod 배포가 요청될 때마다 다음과 같이 승인 프로세스가 실행됩니다:
이 추가적인 보안 계층은 특권이 있는 pod의 생성, 호스트 파일 시스템의 마운트, 또는 특권 상승으로 이어질 수 있는 어떠한 속성 설정도 기본적으로 금지합니다.
Pod Escape PrivilegesOpenshift 클라이언트로 모든 SCC를 나열하려면:
모든 사용자는 가장 엄격한 SCC인 "restricted" 및 "restricted-v2"에 액세스할 수 있습니다.
Pod에 사용되는 SCC는 다음과 같이 주석 내에서 정의됩니다:
사용자가 여러 SCC에 액세스 할 때 시스템은 보안 컨텍스트 값과 일치하는 SCC를 사용합니다. 그렇지 않으면 금지된 오류가 발생합니다.