728x90
반응형
ClusterRole , ClusterRoleBinding 실습




728x90





Service Account?
- 사용자 계정은 사람이 사용하고 서비스 계정은 컴퓨터가 사용한다.
- 사용자 계정은 관리 작업을 수행하기 위해 클러스터에 엑세스하는 관리자가 될 수 있고 응용 프로그램 배포 등을 위해 개발자가 클러스터에 엑세스할 수 있다.
- 서비스 계정은 앱이 Kubernetes 클러스터와 상호 작용할 때 사용하는 계정일 수 있다.
- 서비스 계정이 생성되면 먼저 서비스 계정 개체를 생성하고 그 다음 서비스 계정을 위한 토큰을 생성한다. 그다음 비밀 개체를 만들어 그 안에 토큰을 저장한다.
- Kubernetes api 안에 엑세스할 토큰이 이미 pod 안에 있어 응용 프로그램이 쉽게 읽을 수 있다. 수동으로 제공하지 않아도 된다.
- pod 가 생성될 때마다 기본 서비스 계정과 토큰이 자동으로 볼륨 마운트로 해당 pod로 마운트 된다. -> pod 가 생성되면 pod의 상세사항을 살펴보면 볼륨이 자동으로 생성되는 게 보인다.
- 비밀 토큰은 /var/run/secrets/kubernetes.io/serviceaccount 내부에 탑재된다.
- 기본 서비스 계정 이외에 다른 서비스 계정을 사용하고 싶으면 새 서비스를 만들어야한다.
- 기본 서비스 계정은 수정 할 수 없다.
- Kubernetes는 어떤 것도 명시하지 않으면 기본 서비스 계정을 자동으로 마운트한다.
Image Security?
- 개인 이미지를 이용해 컨테이너를 실행하려면 먼저 개인 레지스트리에 로그인해야한다.
- 자격증명에 성공하면 개인 레지스트리의 이미지를 이용해 애플리케이션을 실행한다.
- pod 정의 파일로 돌아가서 개인 레지스트리의 이미지를 사용한다.

Docker Security?
- docker 가 설치된 호스트는 다수의 운영 체제 프로세스나 docker daemon, ssh 서버 등으로 실행되는 프로세스 집합을 가지고 있다.
- 가상머신과 달리 컨테이너는 호스트로부터 완전히 격리되어있지 않다.
- 프로세스는 다른 네임스페이스에 다른 프로세스 id를 가질 수 있다. -> docker가 시스템 내에서 컨테이너를 격리하는 방식이다. 프로세스 격리라고 한다.
- 컨테이너 안과 호스트 컨테이너 밖 모두의 프로세스는 루트 사용자로 실행된다.
- 루트 사용자로 실행되길 원하지 않으면 docker 실행 명령 안에서 사용자 옵션을 사용해 사용자를 설정하고 새 사용자 id를 명시한다.
- docker이미지 자체에서 생성 시 정의하는 방법으로 사용자 보안을 시행한다.
- 컨테이너의 루트 사용자는 호스트의 루트 사용자와는 다르다.
- docker run --privileged 를 사용해서 모든 권한이 활성화된 컨테이너를 실행 할 수 있다.
Security Context 실습

반응형
728x90
반응형
'Kubernetes (k8s)' 카테고리의 다른 글
| CKA준비 DNS, Network Namespace (0) | 2023.03.06 |
|---|---|
| CKA준비 Persistent Volumes, Persistent Volume Claims, Storage Class, Switching Routing (0) | 2023.03.05 |
| CKA준비 Kubeconfig, Authoriztion, API Groups (0) | 2023.02.27 |
| CKA 준비 TLS in Kubernetes, OpenSSL, Certificate API (0) | 2023.02.27 |
| CKA 준비 TLS Certificates, Backup and Restore, Security Primitives, Authentication (0) | 2023.02.27 |