인증 및 인가

Kubernetes Engine에는 쿠버네티스의 인증 및 RBAC 인가 기능이 적용되어 있습니다. 쿠버네티스의 인증 및 인가 기능과 Kubernetes Engine과 IAM의 연계 방법에 대해 설명합니다.

쿠버네티스 인증 및 인가

쿠버네티스의 인증 및 RBAC 인가 기능을 설명합니다.

인증

쿠버네티스 API 서버는 인증서나 인증 토큰으로부터 사용자(User)나 서비스어카운트(ServiceAccount)의 인증에 필요한 정보를 취득하여 인증 절차를 진행합니다.

참고
쿠버네티스 인증에 관한 자세한 설명은 다음 문서를 참고하세요. https://kubernetes.io/docs/reference/access-authn-authz/authentication/
참고
kubectl과 kubeconfig 사용에 관한 자세한 설명은 클러스터 접근하기를 참고하세요.

인가

쿠버네티스 API 서버는 인증 과정을 통해 얻은 사용자 정보를 이용하여 RBAC 관련 오브젝트로부터 해당 사용자가 요청한 작업에 대한 권한이 있는지를 확인합니다. RBAC 관련 오브젝트는 다음과 같이 4가지 종류가 있습니다.

오브젝트범위설명
클러스터롤(ClusteRole)클러스터 범위(cluster-wide)클러스터의 모든 네임스페이스에 걸친 권한 정의
클러스터롤바인딩(ClusteRoleBinding)클러스터 범위(cluster-wide)클러스터롤과 사용자와의 연결 정의
롤(Role)네임스페이스(namespace)특정 네임스페이스에 대한 권한 정의
롤바인딩(RoleBinding)네임스페이스(namespace)클러스터롤 또는 롤과 사용자와의 연결 정의
표. RBAC 관련 오브젝트
참고
쿠버네티스 RBAC 인가에 관한 자세한 설명은 다음 문서를 참고하세요. https://kubernetes.io/docs/reference/access-authn-authz/rbac/

쿠버네티스에는 여러 클러스터롤이 기본 정의되어 있습니다. 그중 일부 클러스터롤에는 접두어(system:)가 포함되어 있지 않습니다. 이는 사용자용으로 사용할 것을 염두에 둔 클러스터롤입니다. 여기에는 클러스터롤바인딩을 사용하여 클러스터 전체에 적용할 슈퍼유저 롤(cluster-admin)과 롤바인딩을 사용하여 특정 네임스페이스에 적용할 롤(admin, edit, view)이 포함됩니다.

기본 클러스터롤기본 클러스터롤바인딩설명
cluster-adminsystem:masters 그룹모든 리소스에 대한 모든 작업을 수행할 수 있는 슈퍼유저 액세스를 허용합니다.
  • 클러스터롤바인딩에서 사용하면 클러스터와 모든 네임스페이스의 모든 리소스에 대한 전체 제어 권한이 적용됩니다.
  • 롤바인딩에서 사용하면 네임스페이스와 롤바인딩된 네임스페이스 내 모든 리소스를 완전히 제어할 수 있습니다.
admin없음롤바인딩을 사용하여 네임스페이스 내부에 적용되는 관리자 액세스를 허용합니다. 롤바인딩에서 사용하는 경우 네임스페이스 내에 롤 및 롤바인딩을 생성하는 기능을 포함하여 네임스페이스 내 대부분의 리소스에 대한 읽기/쓰기 액세스를 허용합니다. 이 롤은 리소스 할당량 또는 네임스페이스 자체에 대한 쓰기 액세스는 허용하지 않습니다.
edit없음네임스페이스 내 대부분의 오브젝트에 대한 읽기/쓰기 액세스를 허용합니다.
  • 이 롤은 롤과 롤바인딩의 조회 및 변경을 허용하지 않습니다. 하지만 이 롤은 시크릿에 접근하여 네임스페이스 내 모든 Account로 파드를 실행할 수 있기 때문에, 네임스페이스 내 모든 Account의 API 액세스 수준을 취득할 수 있습니다.
view없음네임스페이스 내 대부분의 오브젝트를 조회하기 위한 읽기 전용 액세스를 허용합니다. 롤 또는 롤바인딩은 조회할 수 없습니다.
  • 이 롤은 시크릿 조회가 허용되지 않습니다. 시크릿의 내용을 읽으면 네임스페이스 내 Account의 크리덴셜에 접근할 수 있고, 이를 통해 네임스페이스 내 임의의 Account로서 API 접근을 허용하는 결과가 되기 때문입니다(권한 상승의 일종).
표. 기본 클러스터롤과 클러스터롤바인딩 설명
참고
사용자용 롤에 관한 자세한 설명은 다음 문서를 참고하세요. https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles

필요에 따라 기본 정의된 클러스터롤 이외에, 다음과 같이 별도의 롤(또는 클러스터롤)을 정의할 수도 있습니다.

배경색 변경
# "default" 네임스페이스 내 파드를 조회할 권한을 부여하는 롤
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: default
  name: pod-reader
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch"]
# "default" 네임스페이스 내 파드를 조회할 권한을 부여하는 롤
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: default
  name: pod-reader
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch"]
코드 블럭. 네임스페이스 내 파드를 조회할 권한을 부여하는 롤
배경색 변경
# 노드를 조회할 권한을 부여하는 클러스터롤
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: node-reader
rules:
- apiGroups: [""]
  resources: ["nodes"]
  verbs: ["get", "list", "watch"]
# 노드를 조회할 권한을 부여하는 클러스터롤
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: node-reader
rules:
- apiGroups: [""]
  resources: ["nodes"]
  verbs: ["get", "list", "watch"]
코드 블럭. 노드를 조회할 권한을 부여하는 클러스터롤
참고
롤 및 클러스터롤에 관한 자세한 설명은 다음 문서를 참고하세요. https://kubernetes.io/docs/reference/access-authn-authz/rbac/#role-and-clusterrole

롤바인딩

Samsung Cloud Platform IAM을 사용하여 Kubernetes Engine에 대한 액세스를 관리하려면, 쿠버네티스의 롤바인딩과 IAM의 관계를 이해해야 합니다. 롤바인딩(또는 클러스터롤바인딩)의 대상(subjects)에는 개별 사용자(User) 또는 그룹(Group)이 포함될 수 있습니다.

  • User는 Samsung Cloud Platform 사용자명으로, Group은 IAM 사용자 그룹명으로 각각 매칭됩니다.

롤바인딩/클러스터롤바인딩의 subjects.kind로는 다음 중 하나를 지정할 수 있습니다.

  • User: Samsung Cloud Platform 개별 사용자와 연결됩니다.
  • Group: Samsung Cloud Platform IAM 사용자 그룹과 연결됩니다.
참고
이 외에 서비스 어카운트도 지정할 수 있으나, 서비스 어카운트는 일반적으로 사용자용이 아니며 Samsung Cloud Platform 사용자와 연결할 수 없습니다.

롤바인딩/클러스터롤바인딩의 subjects.name은 다음과 같이 지정할 수 있습니다.

  • User인 경우: Samsung Cloud Platform 개별 사용자명 (예: jane.doe)
  • Group인 경우: Samsung Cloud Platform IAM 사용자 그룹명 (예: ReadPodsGroup)
참고
subjects.name은 영문 대소문자를 구별합니다.

이러한 방식으로 IAM 사용자 그룹은 Kubernetes Engine 클러스터의 롤바인딩(또는 클러스터롤바인딩)에 작성된 그룹과 연결됩니다. 또한 그룹과 연결된 (또는 클러스터롤)에 포함된 API 작업을 수행할 수 있는 권한이 부여됩니다.

예시) 롤바인딩 read-pods #1

롤바인딩에 User(Samsung Cloud Platform 개별 사용자)를 작성한 예시는 다음과 같습니다.

배경색 변경
# 이 롤바인딩은 "jane.doe" 사용자가 "default" 네임스페이스의 파드를 조회하도록 허용합니다.
# 해당 네임스페이스에 "pod-reader"라는 롤이 있어야 합니다.
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: read-pods
  namespace: default
roleRef:
  # "roleRef"에는 롤 또는 클러스터롤과의 연결을 지정합니다.
  kind: Role       # Role 또는 ClusterRole이어야 합니다.
  name: pod-reader # 연결하고자 하는 롤 또는 클러스터롤의 이름과 일치해야 합니다.
  apiGroup: rbac.authorization.k8s.io
subjects:
# 하나 이상의 "대상(subject)"을 지정할 수 있습니다.
- kind: User
  name: jane.doe
  apiGroup: rbac.authorization.k8s.io
# 이 롤바인딩은 "jane.doe" 사용자가 "default" 네임스페이스의 파드를 조회하도록 허용합니다.
# 해당 네임스페이스에 "pod-reader"라는 롤이 있어야 합니다.
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: read-pods
  namespace: default
roleRef:
  # "roleRef"에는 롤 또는 클러스터롤과의 연결을 지정합니다.
  kind: Role       # Role 또는 ClusterRole이어야 합니다.
  name: pod-reader # 연결하고자 하는 롤 또는 클러스터롤의 이름과 일치해야 합니다.
  apiGroup: rbac.authorization.k8s.io
subjects:
# 하나 이상의 "대상(subject)"을 지정할 수 있습니다.
- kind: User
  name: jane.doe
  apiGroup: rbac.authorization.k8s.io
코드 블럭. 롤바인딩에 User(Samsung Cloud Platform 개별 사용자) 작성 예시

클러스터에 위와 같은 롤바인딩이 생성되면, 사용자명이 jane.doe인 사용자에게 롤 pod-reader에 작성된 API 작업을 수행할 수 있는 권한이 부여됩니다.

예시) 롤바인딩 read-pods #2

롤바인딩에 그룹(IAM 사용자 그룹)을 작성한 예시는 다음과 같습니다.

배경색 변경
# 이 롤바인딩은 "ReadPodsGroup" 그룹에 속한 사용자가 "default" 네임스페이스의 파드를 조회하도록 허용합니다.
# 해당 네임스페이스에 "pod-reader"라는 롤이 있어야 합니다.
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods
  namespace: default
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io
subjects:
# 하나 이상의 "대상(subject)"을 지정할 수 있습니다.
- kind: Group
  name: ReadPodsGroup
  apiGroup: rbac.authorization.k8s.io
# 이 롤바인딩은 "ReadPodsGroup" 그룹에 속한 사용자가 "default" 네임스페이스의 파드를 조회하도록 허용합니다.
# 해당 네임스페이스에 "pod-reader"라는 롤이 있어야 합니다.
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods
  namespace: default
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io
subjects:
# 하나 이상의 "대상(subject)"을 지정할 수 있습니다.
- kind: Group
  name: ReadPodsGroup
  apiGroup: rbac.authorization.k8s.io
코드 블럭. ReadPodsGroup 그룹에 파드 조회를 허용하는 롤바인딩 예시

클러스터에 위와 같은 롤바인딩이 생성되면, IAM 사용자 그룹 ReadPodsGroup에 속한 사용자들에게 롤 pod-reader에 작성된 API 작업을 수행할 수 있는 권한이 부여됩니다.

예시) 클러스터롤바인딩 read-nodes

배경색 변경
# 이 클러스터롤바인딩은"ReadNodesGroup" 그룹에 속한 사용자가 노드를 조회하도록 허용합니다.
# "node-reader"라는 클러스터롤이 있어야 합니다.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: read-nodes
roleRef:
  kind: ClusterRole
  name: node-reader
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: Group
  name: ReadNodesGroup
  apiGroup: rbac.authorization.k8s.io
# 이 클러스터롤바인딩은"ReadNodesGroup" 그룹에 속한 사용자가 노드를 조회하도록 허용합니다.
# "node-reader"라는 클러스터롤이 있어야 합니다.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: read-nodes
roleRef:
  kind: ClusterRole
  name: node-reader
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: Group
  name: ReadNodesGroup
  apiGroup: rbac.authorization.k8s.io
코드 블럭. ReadNodesGroup 그룹에 노드 조회를 허용하는 클러스터롤바인딩 예시

클러스터에 위와 같은 클러스터롤바인딩이 생성되면, IAM 사용자 그룹 ReadNodesGroup에 속한 사용자들에게 클러스터롤 node-reader에 작성된 API 작업을 수행할 수 있는 권한이 부여됩니다.

참고
롤바인딩 작성에 관한 자세한 설명은 다음 문서를 참고하세요. https://kubernetes.io/docs/reference/access-authn-authz/rbac/#role-binding-examples

Samsung Cloud Platform용 사전 정의된 롤 및 롤바인딩

Samsung Cloud Platform의 Kubernetes Engine에는 다음과 같이 클러스터롤바인딩 scp-cluster-admin, scp-view, scp-namespace-view와 클러스터롤 scp-namespace-view가 사전정의되어 있습니다. 아래 표는 Samsung Cloud Platform용 사전 정의된 롤 및 롤바인딩, Samsung Cloud Platform 사용자의 연결 관계를 나타낸 것입니다. 여기서, 클러스터롤 cluster-adminview는 쿠버네티스 클러스터 내부에 사전 정의되어 있습니다. 자세한 설명은 을 참고하세요.

클러스터롤바인딩클러스터롤subjects (사용자)
scp-cluster-admincluster-admin클러스터 생성자 사용자명 (예: jane.doe)
scp-viewview-
scp-namespace-viewscp-namespace-view해당 클러스터에 인증된 모든 사용자
표. Samsung Cloud Platform용 사전 정의된 롤 및 롤바인딩, 사용자의 연결 관계
  • 클러스터롤바인딩 scp-cluster-admin에 따라 Kubernetes Engine 서비스 생성자에게는 클러스터 관리자 권한이 부여됩니다.
  • 클러스터롤바인딩 scp-view에 등록된 사용자 또는 그룹에는 클러스터 조회자 권한이 부여됩니다. 쿠버네티스에 사전 정의된 클러스터롤 view와 바인딩되며, 클러스터 범위 리소스(예: 네임스페이스, 노드, 인그레스클래스 등)와 네임스페이스 내 시크릿에 대한 접근 권한은 없습니다. 자세한 사항은 을 참고하세요.
  • 클러스터롤바인딩 scp-namespace-view에 따라 해당 클러스터에 인증된 모든 사용자에게 네임스페이스 조회 권한이 부여됩니다.
참고
  • Samsung Cloud Platform용 사전 정의된 롤 및 롤바인딩은 클러스터 서비스 생성 시에 최초 한번 생성합니다.
  • 사용자는 필요에 따라 Samsung Cloud Platform용 사전 정의된 클러스터 롤바인딩 및 클러스터롤을 수정하거나 삭제할 수 있습니다.

Samsung Cloud Platform용 사전 정의된 롤 및 롤바인딩의 세부 내용은 다음과 같습니다.

클러스터롤바인딩 scp-cluster-admin

클러스터롤바인딩 scp-cluster-admin은 클러스터롤 cluster-admin과 연결되며, 대상(subjects) 항목에 따라 Samsung Cloud Platform 사용자(Kubernetes Engine 클러스터 생성자)와 바인딩됩니다.

배경색 변경
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
  name: scp-cluster-admin
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: User               
  name: jane.doe # 클러스터 생성자 사용자명
  apiGroup: rbac.authorization.k8s.io
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
  name: scp-cluster-admin
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: User               
  name: jane.doe # 클러스터 생성자 사용자명
  apiGroup: rbac.authorization.k8s.io
코드 블럭. 클러스터롤바인딩 scp-cluster-admin 예시

클러스터롤바인딩 scp-view

클러스터롤바인딩 scp-view는 클러스터롤 view와 바인딩되며, 대상(subjects) 항목에 Samsung Cloud Platform 사용자 또는 IAM 사용자 그룹을 추가할 수 있습니다.

배경색 변경
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: scp-view
roleRef:
  kind: ClusterRole
  name: view
  apiGroup: rbac.authorization.k8s.io
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: scp-view
roleRef:
  kind: ClusterRole
  name: view
  apiGroup: rbac.authorization.k8s.io
코드 블럭. 클러스터롤바인딩 scp-view 예시

클러스터롤 및 클러스터롤바인딩 scp-namespace-view

클러스터롤 scp-namespace-view는 네임스페이스에 대한 조회 권한을 정의한 롤입니다. 클러스터롤바인딩 scp-namespace-view는 클러스터롤 scp-namespace-view과 바인딩되며, 해당 클러스터에 인증된 모든 사용자에게 네임스페이스 조회 권한을 부여합니다.

배경색 변경
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: scp-namespace-view
rules:
- apiGroups: [""]
  resources: ["namespaces"]
  verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: scp-namespace-view
roleRef:
  kind: ClusterRole
  name: scp-namespace-view
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: Group
  name: system:authenticated
  apiGroup: rbac.authorization.k8s.io
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: scp-namespace-view
rules:
- apiGroups: [""]
  resources: ["namespaces"]
  verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: scp-namespace-view
roleRef:
  kind: ClusterRole
  name: scp-namespace-view
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: Group
  name: system:authenticated
  apiGroup: rbac.authorization.k8s.io
코드 블럭. 클러스터롤 및 클러스터롤바인딩 scp-namespace-view 예시

IAM 사용자 그룹 RBAC 유스케이스

이 챕터에서는 주요 사용자 시나리오별로 권한을 부여하는 예시를 설명합니다. 여기에 제시된 IAM 사용자 그룹, 클러스터롤바인딩/롤바인딩, 클러스터롤의 이름은 이해를 돕기 위한 하나의 예시입니다. 관리자는 필요에 맞게 적절한 이름과 권한을 정의하여 적용하세요.

범위유스케이스IAM 사용자 그룹클러스터롤바인딩/롤바인딩클러스터롤비고
클러스터클러스터 관리자ClusterAdminGroup클러스터롤바인딩 cluster-admin-groupcluster-admin특정 클러스터에 대한 관리자
클러스터클러스터 편집자ClusterEditGroup클러스터롤바인딩 cluster-edit-groupedit특정 클러스터에 대한 편집자
클러스터클러스터 조회자ClusterViewGroup클러스터롤바인딩 cluster-view-groupview특정 클러스터에 대한 조회자
네임스페이스네임스페이스 관리자NamespaceAdminGroup롤바인딩 namespace-admin-groupadmin특정 네임스페이스에 대한 관리자
네임스페이스네임스페이스 편집자NamespaceEditGroup롤바인딩 namespace-edit-groupedit특정 네임스페이스에 대한 편집자
네임스페이스네임스페이스 조회자NamespaceViewGroup롤바인딩 namespace-view-groupview특정 네임스페이스에 대한 조회자
표. 유스케이스에 따른 IAM 사용자 그룹, 클러스터롤 사용자의 바인딩 예시
참고
위 표에 있는 클러스터롤(cluster-admin, admin, edit, view)은 쿠버네티스 클러스터 내부에 사전 정의되어 있습니다. 자세한 설명은 항목을 참고하세요.

클러스터 관리자

클러스터 관리자를 생성하려면 다음 절차를 따르세요.

  1. ClusterAdminGroup이라는 이름의 IAM 사용자 그룹을 생성하세요.
  2. 대상 클러스터에 다음과 같은 내용의 클러스터롤바인딩을 생성하세요.
    배경색 변경
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: cluster-admin-group
    roleRef:
      kind: ClusterRole
      name: cluster-admin
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: Group
      name: ClusterAdminGroup
      apiGroup: rbac.authorization.k8s.io
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: cluster-admin-group
    roleRef:
      kind: ClusterRole
      name: cluster-admin
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: Group
      name: ClusterAdminGroup
      apiGroup: rbac.authorization.k8s.io
    코드 블럭. 클러스터 관리자 생성
  • 기본 클러스터롤 cluster-admin과 연계되어, 해당 클러스터에 대한 관리자 권한이 부여됩니다.

클러스터 편집자

클러스터 편집자를 생성하려면 다음 절차를 따르세요.

  1. ClusterEditGroup이라는 이름의 IAM 사용자 그룹을 생성하세요.
  2. 대상 클러스터에 다음과 같은 내용의 클러스터롤바인딩을 생성하세요.
    배경색 변경
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: cluster-edit-group
    roleRef:
      kind: ClusterRole
      name: edit
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: Group
      name: ClusterEditGroup
      apiGroup: rbac.authorization.k8s.io
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: cluster-edit-group
    roleRef:
      kind: ClusterRole
      name: edit
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: Group
      name: ClusterEditGroup
      apiGroup: rbac.authorization.k8s.io
    코드 블럭. 클러스터 편집자 생성
  • 기본 클러스터롤 edit와 연계되어, 해당 클러스터에 대한 편집자 권한이 부여됩니다.

클러스터 조회자

클러스터 조회자를 생성하려면 다음 절차를 따르세요.

  1. ClusterViewGroup이라는 이름의 IAM 사용자 그룹을 생성하세요.
  2. 대상 클러스터에 다음과 같은 내용의 클러스터롤바인딩을 생성하세요.
    배경색 변경
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: cluster-view-group
    roleRef:
      kind: ClusterRole
      name: view
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: Group
      name: ClusterViewGroup
      apiGroup: rbac.authorization.k8s.io
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: cluster-view-group
    roleRef:
      kind: ClusterRole
      name: view
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: Group
      name: ClusterViewGroup
      apiGroup: rbac.authorization.k8s.io
    코드 블럭. 클러스터 조회자 생성
  • 기본 클러스터롤 view와 연계되어, 해당 클러스터에 대한 조회자 권한이 부여됩니다.

네임스페이스 관리자

네임스페이스 관리자를 생성하려면 다음 절차를 따르세요.

  1. NamespaceAdminGroup이라는 이름의 IAM 사용자 그룹을 생성하세요.
  2. 대상 클러스터에 다음과 같은 내용의 롤바인딩을 생성하세요.
    배경색 변경
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: namespace-admin-group
      namespace: <네임스페이스_이름>
    roleRef:
      kind: ClusterRole
      name: admin
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: Group
      name: NamespaceAdminGroup
      apiGroup: rbac.authorization.k8s.io
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: namespace-admin-group
      namespace: <네임스페이스_이름>
    roleRef:
      kind: ClusterRole
      name: admin
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: Group
      name: NamespaceAdminGroup
      apiGroup: rbac.authorization.k8s.io
    코드 블럭. 네임스페이스 관리자 생성
  • 기본 클러스터롤 admin과 연계되어, 해당 네임스페이스에 대한 관리자 권한이 부여됩니다.

네임스페이스 편집자

네임스페이스 편집자를 생성하려면 다음 절차를 따르세요.

  1. NamespaceEditGroup이라는 이름의 IAM 사용자 그룹을 생성하세요.
  2. 대상 클러스터에 다음과 같은 내용의 롤바인딩을 생성하세요.
    배경색 변경
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: namespace-edit-group
      namespace: <네임스페이스_이름>
    roleRef:
      kind: ClusterRole
      name: edit
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: Group
      name: NamespaceEditGroup
      apiGroup: rbac.authorization.k8s.io
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: namespace-edit-group
      namespace: <네임스페이스_이름>
    roleRef:
      kind: ClusterRole
      name: edit
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: Group
      name: NamespaceEditGroup
      apiGroup: rbac.authorization.k8s.io
    코드 블럭. 네임스페이스 편집자 생성
  • 기본 클러스터롤 edit와 연계되어, 해당 네임스페이스에 대한 편집자 권한이 부여됩니다.

네임스페이스 조회자

네임스페이스 조회자를 생성하려면 다음 절차를 따르세요.

  1. NamespaceViewGroup이라는 이름의 IAM 사용자 그룹을 생성하세요.
  2. 대상 클러스터에 다음과 같은 내용의 롤바인딩을 생성하세요.
    배경색 변경
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: namespace-view-group
      namespace: <네임스페이스_이름>
    roleRef:
      kind: ClusterRole
      name: view
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: Group
      name: NamespaceViewGroup
      apiGroup: rbac.authorization.k8s.io
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: namespace-view-group
      namespace: <네임스페이스_이름>
    roleRef:
      kind: ClusterRole
      name: view
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: Group
      name: NamespaceViewGroup
      apiGroup: rbac.authorization.k8s.io
    코드 블럭. 네임스페이스 조회자 생성
  • 기본 클러스터롤 view와 연계되어, 해당 네임스페이스에 대한 조회자 권한이 부여됩니다.
클러스터 접근하기
type LoadBalancer 서비스 사용하기