Certified Kubernetes Administration - 45
2024-06-22
- Kubernetes
- Cloud
Kubernetes 클러스터의 인증
사용자 유형
-
인간 사용자:
-
관리자: 클러스터 관리 작업 수행.
-
개발자: 애플리케이션 테스트 및 배포.
-
-
로봇 사용자:
- 프로세스, 서비스, 애플리케이션 등 클러스터 접근이 필요한 기타 사용 사례.
사용자 접근 관리
-
엔드 유저: 애플리케이션 내부에서 자체적으로 관리됨.
-
관리 사용자: Kubernetes 클러스터 관리 작업을 위해 클러스터 접근 필요.
Kubernetes에서의 사용자 관리
-
Kubernetes는 네이티브 사용자 계정을 관리하지 않음.
-
외부 소스(파일, 인증서, LDAP 등)에 의존.
-
사용자 목록을 생성하거나 조회하는 기능이 없음.
-
서비스 계정은 Kubernetes가 관리할 수 있음.
인증 메커니즘
-
정적 비밀번호 파일:
-
CSV 파일에 사용자 정보(비밀번호, 사용자 이름, 사용자 ID) 포함.
-
Kube API 서버에 옵션으로 파일 이름 전달.
-
Kube API 서버 재시작 필요.
-
Kubeadm 도구를 사용한 클러스터 설정 시, Kube API 서버 POD 정의 파일 수정.
-
curl
명령어로 API 서버 접근 시 사용자 이름과 비밀번호를 지정.
-
-
정적 토큰 파일:
-
CSV 파일에 토큰 정보 포함.
-
토큰 파일을
tokenauth file
옵션으로 전달. -
curl
명령어로 API 서버 접근 시 토큰을Bearer token
으로 지정.
-
인증 예제
-
정적 비밀번호 파일 사용 예제:
password,username,userID,group pass123,admin,1,admins pass456,dev,2,developers
curl
명령어:curl -u admin:pass123 https://<kube-apiserver>/api/v1/nodes
-
정적 토큰 파일 사용 예제:
token123,admin,1,admins token456,dev,2,developers
curl
명령어:curl -H "Authorization: Bearer token123" https://<kube-apiserver>/api/v1/nodes
주의사항
-
정적 비밀번호 및 토큰 파일은 보안이 취약하므로 권장되지 않음.
-
kubeadm 설정에서 인증 파일을 전달할 때 볼륨 마운트를 고려해야 함.
-
새로운 사용자에 대한 권한 설정 필요.
향후 학습 내용
-
인증서 기반 인증
-
Kubernetes 클러스터 내부 컴포넌트 간의 인증 방법
요약
-
클러스터 접근을 관리하는 다양한 인증 메커니즘이 존재함.
-
정적 비밀번호 및 토큰 파일은 이해를 돕기 위한 기본 예제로, 실제 사용에는 부적합.
Certified ...
Certified ...