Linux 쿠버네티스(6)
Linux 쿠버네티스(6)
인증(Authentication)과 권한(Authorization) 관리
둘은 다르다
API 접근 제어
- private key
- 인증서만들기
- context안에 유저 인증서
인증
권한 관리
- 권한(Authorization)
- 특정 유저/그룹/ServiceAccount가 접근하려는 API Resource에 접근 권한을 설정
- API Resource: pod, deployment, service, configmap, secret, …
- 권한: get, list, watch, delete, create, update,… - 권한 있는 유저만 접근 하도록 허용
- 권한 제어
- 롤(역할, role)
- 어떤 API를 이용할 수 있는지의 정의
- 쿠버네티스의 사용권한을 정의
- 지정된 네임스페이스에서만 유효 - 롤 바인딩(rolebinding)
- 사용자/그룹 또는 serviceAccount와 역할을 연결
- 롤 만들때 명령어
#> kubectl create role pod-reader –verb=get –resource=pods –resource-name=readablepod –resource-name=anotherpod- yaml파일보다 명령어 한줄 치는게 더 나으니 CKA에서는 그렇게 할것.
정리작업할 때 주의 사항
- 새로 만든 사용자로 작업을 수행해서는 안됨
- 사용자를 최고 권한 사용자로 바꾼뒤, 정리 작업 수행
[추가 실습]
- 새로운 context 생성 »
- (준비) 미리 사용자 존재: kubernetes-admin@cluster.local
(준비) 미리 클러스터 존재 : cluster.local
#> kubectl config set-context NAME –cluster=’’ –user=’’
#> kubectl config use-context mycontext
#> kubectl config view
=» 이름이 여러개 == 다른 클러스터를 사용해서 다른 사용자를 사용한다.
[참고]
-> kube-ns -> kubens -> kube-ctx -> kubectx
This post is licensed under CC BY 4.0 by the author.