728x90
Kubernetes RBAC 알아보기
kubernetes의 권한 설정은 RBAC 방식으로 설정할 수 있습니다. 자세한 설명은 공식문서를 참고해주세요. 아래의 목록은 Kubernetes에서 기본으로 제공하는 ClusterRole입니다. 기본으로 제공하는 ClusterRole을 활용하면, 복잡한 권한 설정을 하지 않고 쉽게 권한 설정을 할 수 있습니다.
ClusterRole | Description |
cluster-admin | kubernetes의 모든 리소스를 제한없이 접근할 수 있는 권한입니다. 최고관리자 권한설정입니다. |
admin | RoleBinding 을 사용하여 네임스페이스 관리자 권한을 설정합니다. |
edit | Role / RoleBinding을 제외하고, 네임스페이스 안에 있는 리소스에 대한 읽기/쓰기 권한을 설정합니다. |
view | 네임스페이스 안에 있는 리소스에 대한 읽기 권한을 설정합니다 |
Aggregated ClusterRoles
Kubernetes 운영시 필요한 어플리케이션 설치로 인해 Custom Resource가 생기면서 권한 관리를 해야 하는 일이 빈번하게 발생하는데요. 이럴 때 aggregate 방식을 사용하여, Cluster Role에 포함시킬 수 있습니다. 아래의 예제처럼 ClusterRole을 생성하여 labels을 추가해주면 됩니다.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: aggregate-cron-tabs-edit
labels:
# Add these permissions to the "admin" and "edit" default roles.
rbac.authorization.k8s.io/aggregate-to-admin: "true"
rbac.authorization.k8s.io/aggregate-to-edit: "true"
rules:
- apiGroups: ["stable.example.com"]
resources: ["crontabs"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: aggregate-cron-tabs-view
labels:
# Add these permissions to the "view" default role.
rbac.authorization.k8s.io/aggregate-to-view: "true"
rules:
- apiGroups: ["stable.example.com"]
resources: ["crontabs"]
verbs: ["get", "list", "watch"]
728x90
'Kubernetes' 카테고리의 다른 글
NodeLocal DNSCache - CoreDNS 부하줄이기 (0) | 2022.09.26 |
---|---|
Amazon EFS CSI Driver (0) | 2022.09.23 |
CoreDNS NXDOMAIN 오류 해결 (0) | 2022.09.21 |
Resizing StatefulSet Persistent Volumes with zero downtime (2) | 2022.09.20 |
Kubernetes ServiceAccount로 kubeconfig 파일 생성 (0) | 2022.09.20 |