GCP

GCP IAM이란?

Somaz 2023. 4. 17. 20:52
728x90
반응형

Overview

오늘은 GCP IAM에 대해서 공부해보려고 한다.

https://www.akku.work/blog/meet-gcp-iam-the-identity-and-access-management-solution-from-google/


GCP IAM이란?

Google Identity and Access Management는 클라우드 관리자에게 특정 리소스에 대해 특정 작업을 수행할 수 있는 사람을 결정할 수 있는 권한을 부여하는 웹 서비스이다. 

간단히 말해 IAM을 사용하면 Who(누가)(users, groups, and service accounts)가 Which Resource(어떤 리소스)에 대해 What Role(어떤 역할) (Access)을 갖는지 결정한다.

 

 

 


 

 

GCP IAM의 주요 구성요소와 개념

 

 

구성원(Members) 

구성원은 GCP 리소스에 대한 액세스 권한을 부여받을 수 있는 항목이다.

IAM의 모든 액세스 및 권한은 구성원 에게 부여된다 . Google IAM의 구성원은 개인 또는 그룹일 수 있다. 

 

개인 회원에는 Google 계정 과 서비스 계정의 두 가지 유형이 있다 . 

이 둘의 주요 차이점은 Google 계정은 이메일 주소가 있는 사용자라면 서비스 계정은 애플리케이션의 계정이라는 점이다. 이 두 경우 모두 회원의 신원은 해당 사용자와 연결된 이메일 주소이다.

 

그룹은 IAM 구성원이 될 수도 있다. IAM의 세 가지 유형의 그룹은 Google 그룹 , G-Suite 도메인 및 Cloud ID 도메인이다. 개별 회원과 마찬가지로 Google 그룹은 연결된 이메일 주소로 식별된다. 반대로 다른 두 그룹 구성원은 연결된 도메인 이름으로 식별된다.

 

 

서비스 계정(Service Account)

위에서 언급했듯이 서비스 계정은 IAM이 가질 수 있는 개별 구성원 유형 중 하나이다. 서비스 계정은 누구도 사용하지 않는다는 점에서 일반 Google 계정과 다르다. 서비스 계정은 애플리케이션 또는 VM 인스턴스 에 사용되는 특별한 종류의 계정이다 . 이러한 엔터티가 이를 대신하여 API를 호출하는 데 사용된다. 만들 수 있는 서비스 계정 수에는 제한이 없다.

 

서비스 계정에는 세 가지 유형이 있다.

  1. 사용자 생성(User-Created)
  2. 내장(built-in)
  3. 구글 API(Google API)

 

기본적으로 모든 프로젝트에는 편집자 권한이 있는 Compute Engine 서비스 계정이 제공된다.(GCP API 서비스 계정) 

각 서비스에는 인증된 ID가 작업에 대한 권한이 있는지 확인하는 데 사용되는 범위가 있다. 

예를 들어 아래 이미지에서 응용 프로그램 A에는 읽기 전용 범위가 있고 응용 프로그램 B에는 읽기 쓰기 범위가 있다. 

이렇게 하면 둘 다 필요한 권한만 얻을 수 있다.


정책 및 리소스

 

IAM 정책(IAM Policies)

IAM 정책은 누가 어떤 리소스에 어떤 액세스 권한을 갖는지 정의하는 일련의 규칙이다. 정책은 멤버와 역할 간의 연결인 바인딩으로 구성된다.

 

리소스(Resources)

리소스는 Compute Engine 인스턴스, Cloud Storage 버킷 또는 BigQuery 데이터세트와 같은 GCP의 개별 구성요소이다. 각 리소스는 수명 주기 및 서로 간의 관계를 기반으로 리소스를 구성하고 관리하는 방법인 프로젝트에 속한다.

 

 

조직(Organization)

조직은 모든 ​​Google Cloud 리소스의 루트 노드이다. 

조직은 IAM에서 Organization Admin 및 Project Creator 라는 두 가지 역할을 가질 수 있다 . 

전자는 모든 클라우드 리소스를 제어할 수 있지만 후자는 조직에서 새 프로젝트를 만들 수 있는 사람을 제어할 수 있다. 

조직 관리자는 모든 상위 수준 정책을 정의하고 이를 다양한 역할에 할당한다. 선택된 사용자에게만 조직 관리자 역할이 부여된다. 이 작업은 Workspace 최고 관리자 가 수행한다 .

 

폴더(Folder)

폴더는 프로젝트 및 기타 폴더를 그룹화하는 데 사용되며 추가 수준의 구성을 제공한다. 폴더는 중첩될 수 있으며 상위 폴더 또는 조직에서 정책 및 권한을 상속받을 수 있다.

 

프로젝트(Project)

프로젝트는 가상 머신, 저장소, API와 같은 리소스를 관리하는 데 사용되는 GCP의 기본 단위이다. 각 프로젝트에는 고유한 청구, 액세스 제어 및 설정이 있다. 프로젝트를 폴더로 그룹화하여 관리 및 구성을 개선할 수 있다.

 

 


 

 

액세스 권한 부여(Granting Access)

 IAM의 가장 중요한 측면 중 하나는 다양한 리소스에 대한 액세스 권한을 부여하는 것이다. 이는 두 가지 방법으로 수행할 수 있다.

 

첫 번째는 직접 액세스 권한을 부여하는 표준 방법이다 그러나 이 방법은 전체 시스템의 효율성과 보안에 영향을 미치기 때문에 IAM 환경에서는 따르지 않는다.

 

두 번째 방법이자 IAM이 따르는 방법은 역할을 할당 하여 액세스 권한을 부여하는 것이다 . 이 방법은 하나 이상의 리소스에 대한 권한을 포함할 수 있는 역할을 만드는 것과 관련된다. 그런 다음 이러한 역할이 선택된 구성원에게 할당된다.

 

역할(Roles)

역할은 특정 리소스에서 수행할 수 있는 작업을 정의하는 권한 모음이다. GCP에는 세 가지 유형의 역할이 있다.

 

기본 역할(Primitive roles)

프로젝트 내의 대부분의 리소스에 대한 액세스 권한을 부여하는 광범위한 역할이다.

소유자, 편집자 및 뷰어의 세 가지 기본 역할이 있다.

 

 

소유자 (Owner)

  • 소유자 역할은 프로젝트 또는 리소스에 대한 완전한 액세스 권한을 부여한다.
  • 소유자는 리소스를 생성, 수정, 삭제하고 다른 사용자에게 권한을 부여하거나 제거할 수 있다.
  • 이 역할은 프로젝트의 최고 관리 권한을 가진 사용자에게 할당되어야 한다.

 

편집자 (Editor)

  • 편집자 역할은 리소스에 대한 읽기 및 쓰기 액세스를 부여하며, 리소스를 생성, 수정, 삭제할 수 있다.
  • 하지만 편집자는 다른 사용자에게 권한을 부여하거나 제거할 수 없다.
  • 이 역할은 프로젝트의 일반적인 작업을 수행할 수 있는 사용자에게 적합하다.

 

뷰어 (Viewer)

  • 뷰어 역할은 리소스에 대한 읽기 전용 액세스 권한을 부여한다.
  • 뷰어는 리소스를 검토하고 모니터링할 수 있지만, 수정하거나 삭제할 수 없습니다.
  • 이 역할은 프로젝트의 상태를 모니터링하거나 감사하는 사용자에게 적합하다.

 

조직관리자(Organization Administrator), 프로젝트 생성자(Project Creator), 결제 계정 생성자(Billing Account Creator)는 다양한 조직 및 프로젝트 관리 플랫폼에서 사용되는 역할 또는 권한을 나타내는 용어이다.

 

 

조직관리자 (Organization Administrator)

조직관리자는 조직의 전반적인 관리 및 구성을 담당하는 역할이다. 일반적으로 조직 내에서 다음과 같은 책임이 있다.

  • 조직 구조 설정 및 수정
  • 사용자 및 그룹 관리 (사용자 추가, 제거, 권한 부여 등)
  • 조직의 정책 및 절차 설정 및 업데이트
  • 시스템 및 서비스 접근 제어 관리
  • 보안 및 규정 준수 관리

 

프로젝트 생성자 (Project Creator)

프로젝트 생성자는 새로운 프로젝트를 생성하고 관리하는 역할을 담당한다. 일반적으로 다음과 같은 책임이 있다.

  • 새 프로젝트 생성 및 설정
  • 프로젝트 멤버 추가, 제거 및 권한 설정
  • 프로젝트 자원 및 예산 관리
  • 프로젝트 진행 상황 모니터링 및 보고
  • 프로젝트에 대한 문서화 및 커뮤니케이션 관리

 

결제 계정 생성자 (Billing Account Creator)

결제 계정 생성자는 조직의 결제 관련 사항을 관리하는 역할이다. 일반적으로 다음과 같은 책임이 있다.

  • 결제 계정 생성 및 관리
  • 결제 방법 추가, 수정 및 삭제
  • 소비 및 비용 추적 및 모니터링
  • 결제 관련 문제 해결 및 지원
  • 조직의 결제 정책 설정 및 업데이트

 


 

사전 정의된 역할(Predefined roles)

개별 GCP 서비스에 특정 권한을 부여하는 보다 세분화된 역할이다. 예를 들어 Compute Engine 인스턴스 관리를 위한 "Compute Instance Admin" 또는 Cloud Storage 개체 관리를 위한 "Storage Object Admin" 이다.

 


 

 

사용자 지정 역할(Custom roles)

사용자 지정 역할을 사용하면 특정 요구에 맞게 하나 이상의 권한을 결합하여 자신의 역할을 만들 수 있다.

 

 

 

GCP IAM을 사용하면 GCP 리소스에 대한 제어를 유지하고 특정 작업이나 서비스에 대해 적절한 사용자, 그룹 또는 서비스 계정에만 액세스 권한이 부여되도록 할 수 있다.


Reference

GCP IAM 개요

 

조직에 대한 액세스 관리

 

728x90
반응형