CloudNet@ 팀의 가시다님께서 Leading 하시는 PKOS 2기 Study 내용 요약
해당 Kubernetes Study 는 '24단계 실습으로 정복하는 쿠버네티스' 책을 기반으로 진행 중입니다.
이번 포스팅에서는 쿠버네티스 RBAC(Role Based Access Contol) 에 대해 알아보겠습니다.
1. RBAC
RBAC 은 쿠버네티스 인가(Authorization) 방식 중 하나
- 인증(Authentication) : 로그인 등의 절차를 걸쳐 사용자가 누구인지 확인하는 과정
- 인가(Authorization) : 인증 과정을 거친 사용자가 어떤 권한을 가지는지 확인하는 과정
- Role / ClusterRole / Service Account
- 롤 & 클러스터롤은 쿠버네티스 리소스에 부여되는 권한 / ServiceAccount(SA)는 리소스의 역할
- RoleBinding / ClusterRoleBinding
- 특정 네임스페이스에 한정된 권한 '부여' / 클러스터 전체 수준의 권한 '부여'
1.1. Service Account
해당 Service Account 가 Pod 를 조회하고 생성할 수 있는 권한이 없는 것을 알 수 있다.
ServiceAccount 에 Pod 권한을 부여하기 위해서는 Role 이 필요하다.
1.2. Role
사용 가능한 Verb
- *(모두 처리)
- create(생성)
- delete(삭제)
- get(조회)
- list(목록조회)
- patch(일부업데이트)
- update(업데이트)
- watch(변경감시)
1.3. RoleBinding
다시 처음과 같이 Pod 에서 권한 테스트 실행
- 명령어 중 Role 을 통해 권한을 부여한 Pod 조회(list) 만 가능한 것을 확인할 수 있다.