Cloud IAM 에서 권한을 주기 위해선 Role 을 사용한다.

 

여기서는 사용할 수 있는 Role 의 세 가지 유형에 대해서 다룬다.

1. 기본 역할 (Basic Roles):

Cloud IAM 이 등장하기 이전에 있었던 권한을 주는 방법이고, 아직까지도 사용할 수 있다.

 

특징으로는 프로젝트 수준으로 모든 리소스에 대한 접근을 전역적으로 줄 수 있다는 것이 특징이다.

 

그래서 the principle of least privilege (최소 권한의 법칙) 을 따르지 않을 확률이 높다.

 

Basic Role 은 3가지 등급으로 나눠진다:

  • Viewer Role:
    • 리소스에 대해서 읽기만 할 수 있는 Role
  • Editor Role:
    • 리소스에 대해서 수정까지 할 수 있는 Role
  • Owner Role:
    • Editor Role + Role 관리도 할 수 있음 + Billing 까지 관리

 

2. 미리 정의된 역할 (Predefined Roles):

Predefined Roles 은 GCP 의 리소스나 서비스별로 미리 권한이 세분화해서 만들어져있는 것을 사용하는 걸 말한다.

 

이것도 프로젝트 수준으로 적용이 된다.

 

GKE 의 경우에는 다음과 같이 미리 만들어져있다:

  • GKE Viewer (읽기 전용 접근)
  • GKE Developer (클러스터 내 모든 리소스에 대한 전체 제어. 여기서 말하는 리소스는 쿠버네티스의 다양항 오브젝트를 말한다.)
  • GKE Admin (클러스터 및 쿠버네티스 엔진 리소스에 대한 전체 접근)
  • GKE Cluster Admin (클러스터 관리 제공 but 리소스에 대한 접근 관리는 제공하지 않음)

GKE Developer 권한을 멤버가 받아도 쿠버네티스를 사용할 때 적절한 RBAC 가 없다면 오브젝트 조작을 못할 수 있다.

 

 

3. 맞춤 역할 (Custom Roles):

Custom Role 을 통해서 좀 더 세분화된 Role 제어가 가능하다.

 

예를 들면 GKE 에 여러가지 클러스터 중 특정 클러스터에 대한 읽기 권한만을 줄 수도 있다. 다른 GCP 리소스는 보지도 못하게 하고.

+ Recent posts