IAM으로 액세스 제어

기본적으로 모든 Google Cloud Console 프로젝트에는 원래 프로젝트 생성자인 단일 사용자가 존재합니다. 그 외 다른 사용자에게는 프로젝트에 대한 액세스 권한이 없으므로 사용자를 프로젝트팀 구성원으로 추가할 때까지는 Google Cloud 리소스에도 액세스할 수 없습니다. 이 페이지에서는 새 사용자를 프로젝트에 추가할 수 있는 다양한 방법을 설명합니다.

또한 Deployment Manager가 리소스를 생성하기 위해 사용자를 대신해 다른 Google Cloud API에 인증하는 방법도 설명합니다.

시작하기 전에

사용자 액세스 제어

구성 및 배포를 만들 수 있도록 사용자에게 프로젝트에 대한 액세스 권한을 제공하려면 사용자를 프로젝트팀 구성원으로 추가하고 적절한 Identity and Access Management(IAM) 역할을 부여하세요.

팀 구성원을 추가하는 방법에 대해서는 팀 구성원 추가 관련 문서를 읽어 보세요.

Deployment Manager 역할

Role Permissions

(roles/deploymentmanager.editor)

Provides the permissions necessary to create and manage deployments.

Lowest-level resources where you can grant this role:

  • Project

deploymentmanager.compositeTypes.*

  • deploymentmanager.compositeTypes.create
  • deploymentmanager.compositeTypes.delete
  • deploymentmanager.compositeTypes.get
  • deploymentmanager.compositeTypes.list
  • deploymentmanager.compositeTypes.update

deploymentmanager.deployments.cancelPreview

deploymentmanager.deployments.create

deploymentmanager.deployments.delete

deploymentmanager.deployments.get

deploymentmanager.deployments.list

deploymentmanager.deployments.stop

deploymentmanager.deployments.update

deploymentmanager.manifests.*

  • deploymentmanager.manifests.get
  • deploymentmanager.manifests.list

deploymentmanager.operations.*

  • deploymentmanager.operations.get
  • deploymentmanager.operations.list

deploymentmanager.resources.*

  • deploymentmanager.resources.get
  • deploymentmanager.resources.list

deploymentmanager.typeProviders.*

  • deploymentmanager.typeProviders.create
  • deploymentmanager.typeProviders.delete
  • deploymentmanager.typeProviders.get
  • deploymentmanager.typeProviders.getType
  • deploymentmanager.typeProviders.list
  • deploymentmanager.typeProviders.listTypes
  • deploymentmanager.typeProviders.update

deploymentmanager.types.*

  • deploymentmanager.types.create
  • deploymentmanager.types.delete
  • deploymentmanager.types.get
  • deploymentmanager.types.list
  • deploymentmanager.types.update

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.quotas.get

serviceusage.services.get

serviceusage.services.list

(roles/deploymentmanager.typeEditor)

Provides read and write access to all Type Registry resources.

Lowest-level resources where you can grant this role:

  • Project

deploymentmanager.compositeTypes.*

  • deploymentmanager.compositeTypes.create
  • deploymentmanager.compositeTypes.delete
  • deploymentmanager.compositeTypes.get
  • deploymentmanager.compositeTypes.list
  • deploymentmanager.compositeTypes.update

deploymentmanager.operations.get

deploymentmanager.typeProviders.*

  • deploymentmanager.typeProviders.create
  • deploymentmanager.typeProviders.delete
  • deploymentmanager.typeProviders.get
  • deploymentmanager.typeProviders.getType
  • deploymentmanager.typeProviders.list
  • deploymentmanager.typeProviders.listTypes
  • deploymentmanager.typeProviders.update

deploymentmanager.types.*

  • deploymentmanager.types.create
  • deploymentmanager.types.delete
  • deploymentmanager.types.get
  • deploymentmanager.types.list
  • deploymentmanager.types.update

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.quotas.get

serviceusage.services.get

(roles/deploymentmanager.typeViewer)

Provides read-only access to all Type Registry resources.

Lowest-level resources where you can grant this role:

  • Project

deploymentmanager.compositeTypes.get

deploymentmanager.compositeTypes.list

deploymentmanager.typeProviders.get

deploymentmanager.typeProviders.getType

deploymentmanager.typeProviders.list

deploymentmanager.typeProviders.listTypes

deploymentmanager.types.get

deploymentmanager.types.list

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.quotas.get

serviceusage.services.get

(roles/deploymentmanager.viewer)

Provides read-only access to all Deployment Manager-related resources.

Lowest-level resources where you can grant this role:

  • Project

deploymentmanager.compositeTypes.get

deploymentmanager.compositeTypes.list

deploymentmanager.deployments.get

deploymentmanager.deployments.list

deploymentmanager.manifests.*

  • deploymentmanager.manifests.get
  • deploymentmanager.manifests.list

deploymentmanager.operations.*

  • deploymentmanager.operations.get
  • deploymentmanager.operations.list

deploymentmanager.resources.*

  • deploymentmanager.resources.get
  • deploymentmanager.resources.list

deploymentmanager.typeProviders.get

deploymentmanager.typeProviders.getType

deploymentmanager.typeProviders.list

deploymentmanager.typeProviders.listTypes

deploymentmanager.types.get

deploymentmanager.types.list

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.quotas.get

serviceusage.services.get

serviceusage.services.list

Deployment Manager 액세스 제어

다른 Google Cloud 리소스를 만들기 위해 Deployment Manager는 Google API 서비스 에이전트의 사용자 인증 정보를 사용하여 다른 API를 인증합니다. Google API 서비스 에이전트는 특히 내부 Google 프로세스를 자동으로 실행하도록 설계되었습니다. 이 서비스 계정은 이메일을 사용하여 식별할 수 있습니다.

[PROJECT_NUMBER]@cloudservices.gserviceaccount.com

Google API 서비스 에이전트에는 프로젝트 수준에서 편집자 역할이 자동으로 부여되며, Google Cloud 콘솔의 IAM 섹션에 나열됩니다. 이 서비스 계정은 프로젝트와 함께 무기한 존재하며, 프로젝트가 삭제될 때만 삭제됩니다. Deployment Manager 및 관리형 인스턴스 그룹과 같은 기타 서비스는 이 서비스 계정을 사용하여 리소스를 생성, 삭제, 관리하므로 이 계정의 권한을 수정하지 않는 것이 좋습니다.

다음 단계