written by yechoi

[GCP 스터디] (1) resource hierarchy / billing 본문

Born 2 Code/Cloud

[GCP 스터디] (1) resource hierarchy / billing

yechoi 2021. 5. 19. 19:23
반응형

Udemy Google Certified Associate Cloud Engineer Certification
Section 1: Course Info
Section 2: Certification Intro
Section 3: Intro to Google Cloud Platform (GCP)
Section 4: Intro to GCP Products/Services
Section 5: Getting Started
Section 6: Account Setup
Section 7: Cloud Shell and Data Flows

주제

  • 프로젝트 생성
  • Billing 계정 관리하기
  • Billing 알림 보내기
  • Cloud Shell 사용

 

 

Official Google Cloud Certified Associate Cloud Engineer Study Guide
- chapter 3. Projects, Services, Accounts, and Billing

주제

  • GCP Resource Hierarchy
  • Roles / IAM(Identity and Access Management) / Service Account

 

 

GCP Resource Hierarchy

Organization

  • G-suite domains and a Cloud Identity accounts map to GCP organizations
  • 회사가 G-suite를 사용한다면, 이를 활용해 organization 생성 가능
  • 아니면 Cloud Identity를 사용해야

Folder

  • organization은 folder를 포함한다
  • folder는 다른 folder나 project를 포함할 수 있다

Project

  • 리소스를 생성하고, GCP 서비스를 사용하고, 권한을 관리하고, billing options를 관리
  • resourcemanager.projects.create IAM 권한을 가지고 있으면 프로젝트를 생성할 수 있음
  • 기본적으로 organization이 생성되면 해당 도메인의 모든 유저는 이 권한을 부여받음
  • 프로젝트 생성 quota는 구글이 결정하며, 정해진 양을 넘어 프로젝트를 생성하려면 quota 증가를 요청해
  • 할당 및 사용하는 모든 Google Cloud 리소스는 하나의 프로젝트에 속해야
  • 각 Google Cloud 프로젝트에는 다음 항목이 포함됩니다.
    • 사용자가 제공하는 프로젝트 이름
    • 사용자가 제공하거나 Google Cloud에서 사용자 대신 제공할 수 있는 프로젝트 ID
    • Google Cloud에서 제공하는 프로젝트 번호 (Google Cloud 전체에서 고유해야하며, 프로젝트를 삭제해도 해당 ID는 다시 사용할 수 없음)

 

 

Roles / IAM

IAM(Cloud Identity and Access Management)

  • 리소스에 접근하고 데이터와 시스템의 보안을 유지

 

Roles

  • primitive:
    • 프로젝트의 모든 리소스에 영향을 줄 수 있음
    • billing, owner, editor, viewer로 역할이 거칠게 나뉨
  • predefined:
    • permission으로 이뤄진 role이 있음
    • role은 organization, project, instance에 따라 달리 적용될 수 있음
    • 예시 - AppEngine
      • appengine.appAdmin, which grants identities the ability to read, write, and modify all application settings
      • appengine.ServiceAdmin, which grants read-only access to application settings and write-level access to module-level and version-level settings
      • appengine.appViewer, which grants read-only access to application
  • custom:
    • 조직 내 모든 이가 최소한의 권한이 부여됨
    • permission 관리를 해줘야 하는데, 조직 내 그룹별로 권한을 관리할 수 있음

 

Service Account

  • 사용자가 아닌 애플리케이션 또는 가상 머신(VM) 인스턴스에서 사용하는 특별한 유형의 계정
  • 즉 프로젝트에서만 사용할 수 있는 내부 계정이며, role을 부여받아 리소스에 접근할 수 있음
  • 계정 고유의 이메일 주소로 식별
    • 다음과 같은 형식 service-account-name@project-id.iam.gserviceaccount.com
  • 기본적으로 프로젝트에서 최대 100개의 사용자 관리 서비스 계정을 만들 수 있음
  • 이 할당량이 요구사항을 충족하지 않으면 Cloud Console을 사용하여 할당량 증가를 요청할 수 있음
  • 각 서비스 계정은 프로젝트에 위치, 서비스 계정을 만든 후에는 다른 프로젝트로 이동할 수 없음

사용자 계정과의 차이점

  • 서비스 계정에는 비밀번호가 없으며 브라우저나 쿠키를 통해 로그인할 수 없습니다.
  • 서비스 계정은 Google을 인증하는 데 사용되는 비공개/공개 RSA 키-쌍과 연결되어 있습니다.
  • 다른 사용자나 서비스 계정이 서비스 계정을 가장하도록 할 수 있습니다.
  • 서비스 계정은 사용자 계정과 달리 Google Workspace 도메인의 구성원이아닙니다. 문서 또는 이벤트와 같은 Google Workspace 애셋을 Google Workspace 도메인의 모든 구성원과 공유하면 서비스 계정과 공유되지 않습니다. 마찬가지로 서비스 계정으로 만든 Google Workspace 애셋은 Google Workspace 도메인에서 생성되지 않습니다. 따라서 Google Workspace 및 Cloud ID 관리자는 이러한 애셋을 소유하거나 관리할 수 없습니다.

기본 서비스 계정

  • 일부 Google Cloud 서비스를 사용 설정하거나 사용하는 경우 서비스에서 다른 Google Cloud 리소스에 액세스하는 작업을 배포할 수 있는 사용자 관리 서비스 계정이 생성
반응형