13.1 인증

사용자가 쿠버네티스의 API에 접근하려면 인증을 거쳐야 함

외부에서 쿠버네티스의 API에 접근할 수 있는 기본 포트는 6443, TLS 인증이 적용되어 있음

6443 포트에 접근해 통신하려면 kube-apiserver에 있는 인증서와 클라이언트에 있는 인증서 사이의 검증을 통과해야 함.

쿠버네티스의 인증 요청 계정

13.1.1 kubectl의 config 파일에 있는 TLS 인증 정보 구조 확인하기

여태 kubectl 설치 후 명령어를 사용할 수 있었던 이유는 kubectl 설정에 TLS 인증 정보가 포함되었기 때문

~/.kube/config 파일 내용

apiVersion: v1
clusters:
- cluster:
		certificate-authority-data: # 인증 해시 값
		server: <https://kubernetes.docker.internal:6443> # 외부에서 접속할 주소
	name: docker-desktop # 클러스터 이름
contexts:
- context:
		cluster: docker-desktop
		user: docker-desktop
	name: docker-desktop
current-context: docker-desktop # 여러 컨텍스트 사이 현재 컨텍스트
kind: Config
preference: {}
users:
- name: docker-desktop
	user:
		client-certificate-data: # 해시 값
		client-key-data: # 키 해시값

13.2 권한 관리

인증 후에는 사용자가 접근하려는 API를 사용할 권한이 있는지 확인한 후 API를 사용 가능

쿠버네티스의 권한 관리 방법

13.2.1 롤

특정 API나 자원 사용 권한들을 명시해둔 규칙의 집합

종류