Search

Security Context

컨테이너 내에서 동작하는 프로세스의 사용자 ID (UID)나, 그룹 ID (GID)를 설정하거나, 프로세스에 커널에 대한 접근 권한을 부여하는 것과 같은 기능을 수행할 수 있다.

UID와 GID, fs 그룹 아이디를 1000으로 지정

spec: securityContext: runAsUser: 1000 runAsGroup: 1000 fsGroup: 1000
YAML
복사

커널의 모든 권한 사용

spec: securityContext: privileged: true
YAML
복사

컨테이너 내의 프로세스가 권한 상승을 할 수 없도록 설정

spec: securityContext: allowPrivilegeEscalation: false # 부모 권한보다 더 높은 권한을 주지 못하도록 막음
YAML
복사

리눅스 커널 권한 부여

date +%T -s "12:00:00" 명령은 SYS_TIME 커널 권한이 있어야만 가능하다.
capabilities 속성은 컨테이너에 부여할 리눅스 커널 권한을 지정한다. 이를 통해 컨테이너가 특정 작업을 수행할 수 있도록 허용하거나 제한할 수 있다.
구성요소
add : 컨테이너에 추가할 권한 목록
AUDIT_CONTROL: 감사 시스템의 설정을 변경할 수 있는 권한
AUDIT_WRITE: 감사 로그를 작성할 수 있는 권한
CHOWN: 파일 소유권을 변경할 수 있는 권한
DAC_OVERRIDE: 파일 접근 제어를 무시할 수 있는 권한
FOWNER: 파일 소유자 권한을 무시할 수 있는 권한
KILL: 다른 사용자의 프로세스를 종료할 수 있는 권한
NET_ADMIN: 네트워크 설정을 변경할 수 있는 권한
NET_RAW: RAW 소켓을 사용할 수 있는 권한
SETGID: 그룹 ID를 설정할 수 있는 권한
SETUID: 사용자 ID를 설정할 수 있는 권한
SYS_ADMIN: 다양한 시스템 관리 작업을 수행할 수 있는 권한
SYS_TIME: 시스템 시간을 변경할 수 있는 권한
drop : 컨테이너에서 제거할 권한 목록
securityContext: capabilities: add: ["NET_ADMIN", "SYS_TIME"]
YAML
복사