쿠버네티스 클러스터 롤(ClusterRole) 개념 및 설정

ZER0·2022년 10월 30일
1

Kubernetes

목록 보기
26/39
post-thumbnail

1. 개념

  • 네임스페이스 단위에서의 리소스 접근을 핸들링하는 RBAC과는 다르게 클러스터 단위로 접근권한을 제어

2. ClusterRole Role & RoleBinding YAML

  • ClusterRole

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    apiVersion: rbac.authorization.k8s.io/v1
     
    kind: ClusterRole
     
    metadata:
      name: secret-reader
     
    rules:
    - apiGroups: [""
      resources: ["secrets"]
      verbs: ["get""watch""list"]
    cs

    • 9번 라인 : 핸들링할 API가 포함된 그룹
    • 10번 라인 : 핸들링할 API 종류
    • 11번 라인 : 핸들링하고자 하는 액션
  • ClusterRoleBinding

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    apiVersion: rbac.authorization.k8s.io/v1
     
    kind: ClusterRoleBinding
     
    metadata:
      name: read-secrets-global
     
    subjects:
    - kind: User or Group or ServiceAccount
      name: michelle
      apiGroup: rbac.authorization.k8s.io
     
    roleRef:
      kind: ClusterRole
      name: secret-reader
      apiGroup: rbac.authorization.k8s.io
    cs

    • 9번 라인 : 유저 또는 그룹 지정
    • 8 ~ 11번 라인 : 롤을 적용할 유저
    • 13 ~ 16번 라인 : 유저에게 적용할 롤

3. ClusterRole 핸들링

  • 클러스터롤 목록 확인 : kubectl get clusterrole
  • 클러스터롤 상세 정보 확인 : kubectl describe clusterrole [클러스터롤_이름]
  • 클러스터롤 바인딩 목록 확인 : kubectl get clusterrolebindings
  • 클러스터롤 바인딩 상세 정보 확인 : kubectl describe clusterrolebindings [클러스터롤바인딩_이름]
  • 권한 가능 여부 확인 : kubectl auth can-i [액션] [리소스] --as [유저]

참고

  1. https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/
profile
Security Compliance Engineer

0개의 댓글