컨테이너 내에서 동작하는 프로세스의 사용자 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
복사