[GKE] RBAC-2-K8S visibility for RBAC

Seunghyun Moon·2023년 5월 4일
0

K8S-RBAC

목록 보기
2/3

k8s에서 RBAC 가시성을 관리를 하는 여러가지 방법을 알아봅니다.


1.쿠버네티스 대시보드

https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/

클러스터 > 클러스터 롤 바인딩, 클러스터 롤, 롤 바인딩, 롤
에서 RBAC 관련 정보를 볼 수 있습니다.


대시보드 형식으로 개별 리소스에 대한 정보를 일일이 조회해야합니다.

2.RBAC-lookup

https://rbac-lookup.docs.fairwinds.com/#installation

k8s 클러스터의 rbac 관련 정보를 간략하게 보여줍니다.

설치

asdf 설치

sudo apt install curl git

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.11.

echo ". "$HOME/.asdf/asdf.sh""  >> ~/.bashrc
echo ". "$HOME/.asdf/completions/asdf.bash"" >> ~/.bashrc

source ~/.bashrc

/* sudo chown -R $(whoami):$(whoami) .asdf */

asdf plugin add rbac-lookup
asdf install rbac-lookup latest
asdf global rbac-lookup latest

사용 방법

사용방법
rbac-lookup {any matching user, service account, or group}

$ rbac-lookup shmoon2

다른 context 로 변경 후 조회

$ gcloud container clusters get-credentials gke-dev-clouddevops-sandbox-tekton --region asia-northeast3 --project prj-sandbox-devops-9999
$ rbac-lookup wemake

GKE의 경우, GCP IAM 역할도 함께 보려면 --gke 옵션을 줍니다.

--output wide 옵션을 사용해 역할이 어느 source에서 왔는지도 확인할 수 있습니다.

GCP IAM role 에서 온 경우 어느 역할인지 명시해줍니다.

GCP 콘솔의 출력과 같습니다.


3.Rbac Manager

https://github.com/FairwindsOps/rbac-manager

rolebinding은 반복해야하는 경우가 생길 수 있습니다.
예를 들면 joe 사용자에게 두개의 다른 클러스터에 두개의 다른 역할을 부여하려는 경우가 있습니다.
rolebinding 예시

RBAC Manager는 rbacBindings 에서 한번에 처리할 수 있습니다.

namespaceSelector를 통해 라벨 기반으로 한번에 롤바인딩 가능합니다.


참고

https://thenewstack.io/three-realistic-approaches-to-kubernetes-rbac/
https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md
https://www.cncf.io/blog/2020/08/28/kubernetes-rbac-101-authorization/
https://github.com/corneliusweig/rakkess
https://github.com/FairwindsOps/rbac-manager
https://k8slens.dev/
https://devocean.sk.com/blog/techBoardDetail.do?page=&boardType=undefined&query=&ID=164474&searchData=&subIndex=

profile
I live fullest

0개의 댓글