Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

전공공부

[K8S - CKA] Security Context 본문

Study/K8S

[K8S - CKA] Security Context

monitor 2024. 1. 16. 22:32
Docker Security

 

docker run ubuntu sleep 3600

 

Container는 Namespace 단위로 격리되고 실행된다.

 

그래서, 프로세서에 직접 접근해서 들어가서 ps aux 하면 PID는 1이 나올 것이고 이에 대해서 Host 범위에서 ps aux 시 그저 실행되는 하나의 컨테이너 작업으로 표시되어서 PID 31157 이런식으로 랜덤 ID가 나올 것이다.

 

어쨌든 말하고 싶은 것은 host의 일반 유저와 Container의 접근 권한이 다르다는걸 말하고 싶었다.

docker run --privileged ubuntu

 

그래서, 이렇게 유저가 달라서 일반 Docker 유저는 권한을 모두 부여 받지 못한다. 따라서, 특정 명령어를 쓰기 위해서는 위와 같이 root 권한을 부여한다던지 또 다른 작업이 컨테이너 내에서 이루어져야 한다.

 

Security Context

 

docker run --user=1001 ubuntu

 

캡슐화 해서 도커 컨테이너를 관리하는데 이를 Pod Level에서 접근 권한을 관리 할 수 있습니다.

 

Pod Level으로 보겠습니다.

 

apiVersion: v1
kind: Pod
metadata:
  name: web-pod
spec:
  containers:
     -name: nginx
      image: nginx
      command: ["sleep","5000"]
      securityContext: 
        runAsUser: 1005
        capabilities: 
          add: ["SYS_ADMIN"]

 

위 처럼 설정하면 Container Level에서 Capabilty 정보를 설정 할 수 있고 이에 따라서 container에서는 SYS_ADMIN 권한을 부여 받을 수 있습니다.

 

(Capabilites는 무조건 컨테이너 레벨에 지정되어야 합니다!)

'Study > K8S' 카테고리의 다른 글

[K8S - CKA] Storage in Docker  (0) 2024.01.20
[K8S - CKA] Network Policy  (0) 2024.01.18
[K8S - CKA] Image Security  (0) 2024.01.16
[K8S - CKA] ServiceAccounts  (0) 2024.01.14
[K8S - CKA] Cluster Role & Role Binding  (1) 2024.01.11