개요
2022.01.06 - RBAC에서 사용자가 특정 리소스에 대한 권한을 확인할 수 있는 can-i 명령을 살펴보았었다. 다만 현재 사용자에게 부여된 권한 전체를 확인할 필요성이 있어 추가로 정리한다.
사용자 권한 목록 확인
can-i 명령의 --list 옵션은 허용된 모든 action을 출력한다. 다만 --all-namespaces 옵션을 지원하지 않아 네임스페이스 별로 확인해야 한다.
kubectl auth can-i --list
모든 권한을 부여받았는지 여부
can-i 명령에서 *는 모든 리소스 또는 모든 verb를 의미한다. 따라서 아래와 같은 방식으로 모든 리소스에 대한 모든 권한이 부여되어 있는지 확인할 수 있다.
# 현재 네임스페이스
kubectl auth can-i '*' '*'
# 모든 네임스페이스
kubectl auth can-i '*' '*' --all-namespaces
쿠버네티스 클러스터 admin 계정인 경우
그 외의 별도로 권한이 부여된 계정인 경우
참고 문서
https://stackoverflow.com/questions/57004093/how-to-retrieve-current-user-granted-rbac-with-kubectl