본문 바로가기
CSP (Cloud Service Provider)/GCP

역할(Role)의 유형과 역할 관리

by BTC_.tf 2023. 6. 9.

베하! 오늘만 두번째로 보네요. 더욱 반갑습니다.

행복한 주말을 보내시길 바라겠습니다. 그럼 포스팅 시작해볼까요?

 

GCP의 IAM에는 역할(Role)이라는 개념이 있습니다.

역할에는 Google Cloud 리소스에서 특정 작업을 수행할 수 있는 일련의 권한(Permission)이 포함되어 있습니다. 사용자, 그룹, 서비스 계정을 포함하여 주 구성원에게 권한을 제공하려면 주 구성원에게 역할을 부여합니다.

 

역할의 유형에는 크게 3가지가 있습니다.

기본 역할은 IAM 도입 전에 있었던 기존의 소유자(Owner), 편집자(Editor), 뷰어(Viewer) 역할이 포함됩니다.

사전 정의된 역할은 특정 서비스에 대한 세분화된 액세스 권한을 제공하며, Google Cloud에서 관리합니다.

커스텀 역할은 사용자가 지정한 권한 목록에 따라 세분화된 액세스 권한을 제공합니다.

 

기본 역할의 3요소 중 하나인 뷰어는 상태에 영향을 주지 않는 읽기 전용 작업에 대한 권한을 가집니다. 예를 들어 기존 리소스 또는 데이터의 조회가 해당됩니다. 편집자는 모든 뷰어 권한에 더불어 기존 리소스 변경과 같이 상태를 변경하는 작업에 대한 권한까지 가집니다. 대부분의 리소스를 만들고 삭제할 수 있으나, 모든 권한을 수행할 수 있지는 않습니다. 소유자는 모든 편집자 권한에 더불어 프로젝트 및 프로젝트 내의 모든 리소스에 대한 역할 및 관리와 프로젝트에 대한 결제 설정 권한이 더해집니다.

 

사전 정의된 역할은 Google Cloud에서 관리하기에 새 기능이나 서비스를 추가할 필요가 있을 경우, 자동으로 업데이트 됩니다. 리소스 계층 구조의 모든 수준에서 동일한 사용자에게 여러 역할을 부여할 수 있습니다. 무수히 많은 역할이 존재하기에 상황과 권한에 맞는 역할을 부여하는 것이 중요합니다. 아래 링크에 사전 정의된 역할에 대한 Docs가 있으니, 궁금하면 확인해보세요!

https://cloud.google.com/iam/docs/understanding-roles?hl=ko

 

역할 이해  |  IAM 문서  |  Google Cloud

Google Cloud IAM 역할의 개념 정보 및 사전 정의된 모든 IAM 역할의 참조 목록

cloud.google.com

 

커스텀 역할을 이용하면 조직의 구성원이 필요한 권한만 갖도록 할 수 있습니다. 하지만 이러한 커스텀 역할을 생성한 프로젝트 또는 조직 내에서만 역할을 부여할 수 있습니다. 또한, 모든 역할을 커스텀 역할에 사용할 수 있는 것은 아닙니다.

역할에는 아래와 같은 지원 수준이 정해져있습니다.

SUPPORTED 커스텀 역할에서 완전히 지원되는 권한입니다.
TESTING Google에서는 커스텀 역할과의 호환성을 확인할 수 있는 권한을 테스트하고 있습니다. 커스텀 역할에 권한을 포함할 수 있지만 예기치 않은 동작이 발생할 수 있습니다. 프로덕션용으로 권장되지 않습니다.
NOT_SUPPORTED 커스텀 역할에서 지원되지 않는 권한입니다.

 

역할의 관리를 하기 위해선 권한이 필요한데, 상황에 따라 다릅니다.

프로젝트에 대한 액세스 관리를 위해선 roles/resourcemanager.projectIamAdmin,

폴더에 대한 액세스 관리를 위해선 roles/resourcemanager.folderAdmin,

프로젝트, 폴더, 조직에 대한 액세스 관리를 위해선 roles/resourcemanager.organizationAdmin,

거의 모든 Google Cloud 리소스에 대한 액세스 관리를 위해선 roles/iam.securityAdmin 역할이 필요합니다.

 

아래는 gcloud CLI를 통해 리소스의 허용 정책을 나열하는 명령어입니다.

gcloud RESOURCE_TYPE get-iam-policy RESOURCE_ID --format=FORMAT > PATH

아래는 gcloud CLI를 통해 구성원에게 역할을 부여하는 명령어입니다.

gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \
    --member=PRINCIPAL --role=ROLE_ID \
    --condition=CONDITION

아래는 gcloud CLI를 통해 구성원에게 부여된 역할을 취소시키는 명령어입니다.

gcloud RESOURCE_TYPE remove-iam-policy-binding RESOURCE_ID \
      --member=PRINCIPAL --role=ROLE_ID

아래는 gcloud CLI를 통해 리소스의 허용 정책을 설정하는 명령어입니다.

gcloud RESOURCE_TYPE set-iam-policy RESOURCE_ID PATH

아래는 json 파일로 허용 정책을 수정하는 예시입니다.

gcloud projects set-iam-policy my-project ~/policy.json

 

오늘은 GCP의 역할 유형에 대한 파악과 역할 관리를 위한 CLI 및 권한에 대해서 알아보았습니다.

다들 주말 잘 보내시고, 다음 포스팅에선 더욱 알찬 내용으로 만나요. 베빠!

'CSP (Cloud Service Provider) > GCP' 카테고리의 다른 글

[GCP] 서비스 계정 (Service Account)  (0) 2023.06.22
[GCP] gcloud SDK 환경 구성  (0) 2023.06.22
서비스 계정과 관련 CLI  (0) 2023.06.09
Google Cloud SQL 특징과 hands-on  (1) 2023.06.09
Site to Site VPN (GCP)  (0) 2023.06.09

댓글