IAM으로 액세스 제어

Cloud Composer 1 | Cloud Composer 2

이 페이지에서는 Cloud Composer에서 사용할 수 있는 액세스 제어 옵션을 설명하고, 역할을 할당하는 방법을 알려줍니다.

개요

역할 부여에 대한 상세 설명은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

또한 Airflow 웹 인터페이스에 대한 액세스를 사용 설정하거나 중지하는 것 이상으로 권한을 제어할 수 있습니다. 자세한 내용은 Airflow UI 액세스 제어를 참조하세요.

Cloud Composer의 Identity and Access Management 정보

Cloud Composer는 액세스 제어에 Identity and Access Management(IAM)를 사용합니다.

IAM 서비스 계정과 Google Cloud 프로젝트의 사용자 계정 모두에 역할과 권한을 할당하여 다양한 Cloud Composer 기능에 대한 액세스를 제어합니다.

Cloud Composer는 다음 두 가지 유형의 IAM 서비스 계정을 사용합니다.

Cloud Composer 서비스 에이전트 계정 정보

프로젝트에서 Cloud Composer 서비스는 특수한 Google 관리 서비스 계정을 사용하여 Cloud Composer와 관련된 리소스를 관리합니다. 이 계정을 Cloud Composer 서비스 에이전트라고 합니다.

Cloud Composer 서비스 에이전트는 프로젝트의 모든 환경에 사용됩니다.

Cloud Composer 환경의 서비스 계정 정보

사용자는 환경을 만들 때 서비스 계정을 지정합니다. 환경의 클러스터는 이 서비스 계정을 사용하여 Airflow 작업자 및 스케줄러와 같은 다른 환경 구성요소로 포드를 실행합니다.

기본적으로 Cloud Composer 환경은 기본 Compute Engine 서비스 계정을 통해 실행됩니다. 이 Google 관리 서비스 계정에는 Cloud Composer 환경을 실행하는 데 필요한 권한(일반적으로 편집자 기본 역할)보다 많은 권한이 있습니다.

Cloud Composer 환경의 사용자 관리형 서비스 계정을 설정하는 것이 좋습니다. 이 계정에 Cloud Composer 전용 역할을 할당하세요. 그 후에 새 환경을 만들 때 이 서비스 계정을 지정하세요.

Cloud Composer 사용자의 역할 정보

환경 작업을 트리거하려면 사용자에게 충분한 권한이 있어야 합니다. 예를 들어 새 환경을 만들려면 composer.environments.create 권한이 있어야 합니다.

Cloud Composer의 경우 개별 권한이 역할로 그룹화됩니다. 이러한 역할을 주 구성원에게 할당할 수 있습니다.

서비스 계정에 프로젝트 편집자 역할이 있으면 모든 환경 작업을 실행할 수 있습니다. 하지만 이 역할에는 광범위한 권한이 있습니다. 환경에서 작업하는 사용자의 경우 Cloud Composer와 관련된 역할을 사용하는 것이 좋습니다. 이렇게 하면 권한 범위를 좁히고 주 구성원마다 다른 액세스 수준을 제공할 수 있습니다. 예를 들어 사용자 한 명에게는 환경을 생성, 업데이트, 업그레이드, 삭제할 수 있는 권한이 있지만 다른 사용자는 환경을 보고 Airflow 웹 인터페이스에만 액세스할 수 있습니다.

Cloud Composer 서비스 에이전트 계정에 역할 할당

프로젝트에서 Cloud Composer API를 사용 설정하면 프로젝트에 Composer 서비스 에이전트 계정이 생성됩니다. Cloud Composer는 이 계정을 사용하여 Google Cloud 프로젝트에서 작업을 수행합니다.

기본적으로 Composer 서비스 에이전트 계정에는 Cloud Composer API 서비스 에이전트 역할이 포함됩니다.

사용자 관리 서비스 계정에 역할 할당

Cloud Composer 환경을 실행하는 사용자 관리 서비스 계정의 경우:

  • 공개 IP 구성에 Composer 작업자(composer.worker) 역할을 할당합니다.
  • 비공개 IP 구성의 경우:
    1. Composer 작업자(composer.worker) 역할을 할당합니다.
    2. 서비스 계정 사용자(iam.serviceAccountUser) 역할을 할당합니다.

사용자에게 역할 지정

Cloud Composer 환경에 제공하려는 액세스 수준에 따라 주 구성원에게 다음 권한을 부여합니다.

환경 및 환경 버킷 관리

환경을 보고 만들고 업데이트하고 업그레이드하고 삭제할 수 있는 사용자의 경우 환경 버킷에서 객체(예: DAG 파일)를 관리하고 Airflow 웹 인터페이스에 액세스하고 DAG UI에서 DAG를 보고 트리거합니다.

  1. 환경 및 스토리지 객체 관리자(composer.environmentAndStorageObjectAdmin) 역할을 할당합니다.
  2. 서비스 계정 사용자(iam.serviceAccountUser) 역할을 할당합니다.

    사용자의 권한 범위를 좁히려면 사용자 환경의 서비스 계정에 이 역할만 부여합니다. 자세한 내용은 단일 역할 부여 또는 취소를 참조하세요.

환경 관리

환경을 보고 만들고 업데이트하고 업그레이드하고 삭제할 수 있는 사용자의 경우 Airflow 웹 인터페이스에 액세스하고 DAG UI에서 DAG를 보고 트리거할 수 있습니다.

  1. Composer 관리자(composer.admin) 역할을 할당합니다.
  2. 서비스 계정 사용자(iam.serviceAccountUser) 역할을 할당합니다.

    사용자의 권한 범위를 좁히려면 사용자 환경의 서비스 계정에 이 역할만 부여합니다. 자세한 내용은 단일 역할 부여 또는 취소를 참조하세요.

환경 보기 및 환경 버킷 관리

환경을 볼 수 있는 사용자의 경우 Airflow 웹 인터페이스에 액세스하고 DAG UI에서 DAG를 보고 트리거하며 환경 버킷의 객체를 관리합니다(예: 새 DAG 파일 업로드).

  1. 환경 사용자 및 스토리지 객체 뷰어(composer.environmentAndStorageObjectViewer) 역할을 할당합니다.
  2. 스토리지 객체 관리자(storage.objectAdmin) 역할을 할당합니다.

환경 및 환경 버킷 보기

환경을 볼 수 있는 사용자의 경우 Airflow 웹 인터페이스에 액세스하고 DAG UI에서 DAG를 보고 트리거하고 환경 버킷에서 객체를 보고 환경 사용자 및 스토리지 객체 뷰어(composer.environmentAndStorageObjectViewer) 역할을 할당합니다.

환경 보기

환경을 볼 수 있는 사용자의 경우 DAG UI에서 DAG를 보고 트리거하고 Airflow 웹 인터페이스에 액세스하고 Composer 사용자(composer.user) 역할을 할당합니다.

환경에서 gcloud를 사용할 권한 할당

Cloud Composer 환경에서 gcloud를 사용하려면 다음 권한이 필요합니다.

  • composer.environments.get
  • container.clusters.get
  • container.clusters.list
  • container.clusters.getCredentials

gcloud composer 명령어로 환경 또는 환경 버킷을 관리하려는 경우, 이렇게 할 충분한 권한이 있는 역할도 있어야 합니다.

Airflow CLI 명령어를 실행하려면 다음 추가 권한이 필요합니다.

  • container.namespaces.list
  • container.pods.exec
  • container.pods.get
  • container.pods.list

역할

역할 권한

Cloud Composer v2 API 서비스 에이전트 확장 프로그램
(roles/composer.ServiceAgentV2Ext)

Cloud Composer v2 API 서비스 에이전트 확장 프로그램은 Composer v2 환경을 관리하는 데 필요한 보조 역할을 합니다.

  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.setIamPolicy

Composer 관리자
(roles/composer.admin)

Cloud Composer 리소스를 관리할 수 있는 전체 권한을 제공합니다.

이 역할을 부여할 수 있는 최하위 수준 리소스:

  • 프로젝트
  • composer.*
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

환경 및 저장소 객체 관리자
(roles/composer.environmentAndStorageObjectAdmin)

Cloud Composer 리소스와 모든 프로젝트 버킷에 있는 객체를 관리할 수 있는 전체 권한을 제공합니다.

이 역할을 부여할 수 있는 최하위 수준 리소스:

  • 프로젝트
  • composer.*
  • orgpolicy.policy.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • storage.multipartUploads.*
  • storage.objects.*

환경 사용자 및 스토리지 객체 뷰어
(roles/composer.environmentAndStorageObjectViewer)

Cloud Composer 환경 및 작업을 나열하고 가져오는 데 필요한 권한을 제공합니다. 모든 프로젝트 버킷에 있는 객체에 대한 읽기 전용 액세스 권한을 제공합니다.

이 역할을 부여할 수 있는 최하위 수준 리소스:

  • 프로젝트
  • composer.dags.*
  • composer.environments.get
  • composer.environments.list
  • composer.imageversions.list
  • composer.operations.get
  • composer.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • storage.objects.get
  • storage.objects.list

Composer 공유 VPC 에이전트
(roles/composer.sharedVpcAgent)

공유 VPC 호스트 프로젝트의 Composer 에이전트 서비스 계정에 할당되어야 하는 역할입니다.

  • compute.networks.access
  • compute.networks.addPeering
  • compute.networks.get
  • compute.networks.list
  • compute.networks.listPeeringRoutes
  • compute.networks.removePeering
  • compute.networks.updatePeering
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.projects.get
  • compute.regions.*
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.zones.*

Composer 사용자
(roles/composer.user)

Cloud Composer 환경 및 작업을 나열하고 가져오는 데 필요한 권한을 제공합니다.

이 역할을 부여할 수 있는 최하위 수준 리소스:

  • 프로젝트
  • composer.dags.*
  • composer.environments.get
  • composer.environments.list
  • composer.imageversions.list
  • composer.operations.get
  • composer.operations.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Composer 작업자
(roles/composer.worker)

Cloud Composer 환경 VM을 실행하는 데 필요한 권한을 제공합니다. 서비스 계정용입니다.

이 역할을 부여할 수 있는 최하위 수준 리소스:

  • 프로젝트
  • artifactregistry.*
  • cloudbuild.builds.create
  • cloudbuild.builds.get
  • cloudbuild.builds.list
  • cloudbuild.builds.update
  • cloudbuild.workerpools.use
  • composer.environments.get
  • container.*
  • containeranalysis.occurrences.create
  • containeranalysis.occurrences.delete
  • containeranalysis.occurrences.get
  • containeranalysis.occurrences.list
  • containeranalysis.occurrences.update
  • logging.logEntries.create
  • logging.logEntries.list
  • logging.privateLogEntries.list
  • logging.views.access
  • monitoring.metricDescriptors.create
  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.monitoredResourceDescriptors.*
  • monitoring.timeSeries.*
  • orgpolicy.policy.get
  • pubsub.schemas.attach
  • pubsub.schemas.create
  • pubsub.schemas.delete
  • pubsub.schemas.get
  • pubsub.schemas.list
  • pubsub.schemas.validate
  • pubsub.snapshots.create
  • pubsub.snapshots.delete
  • pubsub.snapshots.get
  • pubsub.snapshots.list
  • pubsub.snapshots.seek
  • pubsub.snapshots.update
  • pubsub.subscriptions.consume
  • pubsub.subscriptions.create
  • pubsub.subscriptions.delete
  • pubsub.subscriptions.get
  • pubsub.subscriptions.list
  • pubsub.subscriptions.update
  • pubsub.topics.attachSubscription
  • pubsub.topics.create
  • pubsub.topics.delete
  • pubsub.topics.detachSubscription
  • pubsub.topics.get
  • pubsub.topics.list
  • pubsub.topics.publish
  • pubsub.topics.update
  • pubsub.topics.updateTag
  • remotebuildexecution.blobs.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • source.repos.get
  • source.repos.list
  • storage.buckets.create
  • storage.buckets.get
  • storage.buckets.list
  • storage.multipartUploads.*
  • storage.objects.*

서비스 에이전트 역할

roles/composer.serviceAgent Cloud Composer API 서비스 에이전트

Cloud Composer API 서비스 에이전트는 환경을 관리할 수 있습니다.

  • appengine.applications.get
  • appengine.applications.update
  • appengine.instances.*
  • appengine.memcache.addKey
  • appengine.memcache.flush
  • appengine.memcache.get
  • appengine.memcache.update
  • appengine.operations.*
  • appengine.runtimes.*
  • appengine.services.*
  • appengine.versions.create
  • appengine.versions.delete
  • appengine.versions.get
  • appengine.versions.list
  • appengine.versions.update
  • artifactregistry.repositories.create
  • artifactregistry.repositories.delete
  • artifactregistry.repositories.get
  • artifactregistry.repositories.list
  • artifactregistry.repositories.update
  • cloudnotifications.*
  • cloudsql.*
  • compute.acceleratorTypes.*
  • compute.addresses.*
  • compute.autoscalers.*
  • compute.backendBuckets.*
  • compute.backendServices.*
  • compute.diskTypes.*
  • compute.disks.*
  • compute.externalVpnGateways.*
  • compute.firewallPolicies.get
  • compute.firewallPolicies.list
  • compute.firewallPolicies.use
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.*
  • compute.globalAddresses.*
  • compute.globalForwardingRules.*
  • compute.globalNetworkEndpointGroups.*
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.globalPublicDelegatedPrefixes.delete
  • compute.globalPublicDelegatedPrefixes.get
  • compute.globalPublicDelegatedPrefixes.list
  • compute.globalPublicDelegatedPrefixes.update
  • compute.globalPublicDelegatedPrefixes.updatePolicy
  • compute.healthChecks.*
  • compute.httpHealthChecks.*
  • compute.httpsHealthChecks.*
  • compute.images.*
  • compute.instanceGroupManagers.*
  • compute.instanceGroups.*
  • compute.instanceTemplates.*
  • compute.instances.*
  • compute.interconnectAttachments.*
  • compute.interconnectLocations.*
  • compute.interconnects.*
  • compute.licenseCodes.*
  • compute.licenses.*
  • compute.machineImages.*
  • compute.machineTypes.*
  • compute.networkEndpointGroups.*
  • compute.networks.*
  • compute.packetMirrorings.get
  • compute.packetMirrorings.list
  • compute.projects.get
  • compute.projects.setCommonInstanceMetadata
  • compute.publicDelegatedPrefixes.delete
  • compute.publicDelegatedPrefixes.get
  • compute.publicDelegatedPrefixes.list
  • compute.publicDelegatedPrefixes.update
  • compute.publicDelegatedPrefixes.updatePolicy
  • compute.regionBackendServices.*
  • compute.regionFirewallPolicies.get
  • compute.regionFirewallPolicies.list
  • compute.regionFirewallPolicies.use
  • compute.regionHealthCheckServices.*
  • compute.regionHealthChecks.*
  • compute.regionNetworkEndpointGroups.*
  • compute.regionNotificationEndpoints.*
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regionSslCertificates.get
  • compute.regionSslCertificates.list
  • compute.regionTargetHttpProxies.*
  • compute.regionTargetHttpsProxies.*
  • compute.regionUrlMaps.*
  • compute.regions.*
  • compute.reservations.get
  • compute.reservations.list
  • compute.resourcePolicies.*
  • compute.routers.*
  • compute.routes.*
  • compute.securityPolicies.get
  • compute.securityPolicies.list
  • compute.securityPolicies.use
  • compute.serviceAttachments.*
  • compute.snapshots.*
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.*
  • compute.subnetworks.*
  • compute.targetGrpcProxies.*
  • compute.targetHttpProxies.*
  • compute.targetHttpsProxies.*
  • compute.targetInstances.*
  • compute.targetPools.*
  • compute.targetSslProxies.*
  • compute.targetTcpProxies.*
  • compute.targetVpnGateways.*
  • compute.urlMaps.*
  • compute.vpnGateways.*
  • compute.vpnTunnels.*
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • container.*
  • deploymentmanager.compositeTypes.*
  • deploymentmanager.deployments.cancelPreview
  • deploymentmanager.deployments.create
  • deploymentmanager.deployments.delete
  • deploymentmanager.deployments.get
  • deploymentmanager.deployments.list
  • deploymentmanager.deployments.stop
  • deploymentmanager.deployments.update
  • deploymentmanager.manifests.*
  • deploymentmanager.operations.*
  • deploymentmanager.resources.*
  • deploymentmanager.typeProviders.*
  • deploymentmanager.types.*
  • firebase.projects.get
  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • logging.buckets.create
  • logging.buckets.delete
  • logging.buckets.get
  • logging.buckets.list
  • logging.buckets.undelete
  • logging.buckets.update
  • logging.cmekSettings.*
  • logging.exclusions.*
  • logging.locations.*
  • logging.logEntries.create
  • logging.logMetrics.*
  • logging.logServiceIndexes.*
  • logging.logServices.*
  • logging.logs.list
  • logging.notificationRules.*
  • logging.operations.*
  • logging.sinks.*
  • logging.views.create
  • logging.views.delete
  • logging.views.get
  • logging.views.list
  • logging.views.update
  • monitoring.alertPolicies.get
  • monitoring.alertPolicies.list
  • monitoring.dashboards.get
  • monitoring.dashboards.list
  • monitoring.groups.get
  • monitoring.groups.list
  • monitoring.metricDescriptors.create
  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.monitoredResourceDescriptors.*
  • monitoring.notificationChannelDescriptors.*
  • monitoring.notificationChannels.get
  • monitoring.notificationChannels.list
  • monitoring.publicWidgets.get
  • monitoring.publicWidgets.list
  • monitoring.services.get
  • monitoring.services.list
  • monitoring.slos.get
  • monitoring.slos.list
  • monitoring.timeSeries.*
  • monitoring.uptimeCheckConfigs.get
  • monitoring.uptimeCheckConfigs.list
  • networkconnectivity.locations.*
  • networkconnectivity.operations.*
  • networksecurity.*
  • networkservices.*
  • opsconfigmonitoring.resourceMetadata.list
  • orgpolicy.policy.get
  • pubsub.*
  • recommender.cloudsqlIdleInstanceRecommendations.*
  • recommender.cloudsqlInstanceActivityInsights.*
  • recommender.cloudsqlInstanceCpuUsageInsights.*
  • recommender.cloudsqlInstanceDiskUsageTrendInsights.*
  • recommender.cloudsqlInstanceMemoryUsageInsights.*
  • recommender.cloudsqlInstanceOutOfDiskRecommendations.*
  • recommender.cloudsqlOverprovisionedInstanceRecommendations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicedirectory.namespaces.create
  • servicedirectory.namespaces.delete
  • servicedirectory.services.create
  • servicedirectory.services.delete
  • servicenetworking.operations.get
  • servicenetworking.services.addPeering
  • servicenetworking.services.createPeeredDnsDomain
  • servicenetworking.services.deletePeeredDnsDomain
  • servicenetworking.services.get
  • servicenetworking.services.listPeeredDnsDomains
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • stackdriver.projects.get
  • storage.buckets.*
  • storage.multipartUploads.*
  • storage.objects.*
  • trafficdirector.*

기본 역할

역할 이름 설명 권한 최하위 리소스
roles/owner 소유자 Cloud Composer 리소스를 전체적으로 제어할 수 있는 기본 역할 composer.environments.create
composer.environments.delete
composer.environments.get
composer.environments.list
composer.environments.update
composer.imageversions.list
composer.operations.delete
composer.operations.get
composer.operations.list
composer.dags.list
composer.dags.get
composer.dags.execute
iam.serviceAccounts.actAs
프로젝트
roles/editor 편집기 Cloud Composer 리소스를 전체적으로 제어할 수 있는 기본 역할 composer.environments.create
composer.environments.delete
composer.environments.get
composer.environments.list
composer.environments.update
composer.imageversions.list
composer.operations.delete
composer.operations.get
composer.operations.list
composer.dags.list
composer.dags.get
composer.dags.execute
iam.serviceAccounts.actAs
프로젝트
roles/viewer 뷰어 사용자가 Cloud Composer 리소스를 나열하고 가져올 수 있게 해주는 기본 역할 composer.environments.get
composer.environments.list
composer.imageversions.list
composer.operations.get
composer.operations.list
composer.dags.list
composer.dags.get
프로젝트

API 메서드에 대한 권한

다음 표에는 호출자가 Cloud Composer API에서 각 API 메서드를 호출하거나 이 API를 사용하는 Google Cloud 도구(예: Google Cloud Console 또는 Cloud SDK)로 태스크를 수행하는 데 필요한 권한이 나와 있습니다.

메서드 권한
environments.create 환경의 서비스 계정에 대한 composer.environments.createiam.serviceAccounts.actAs 권한
environments.delete composer.environments.delete
environments.get composer.environments.get
environments.list composer.environments.list
environments.update composer.environments.update
operations.delete composer.operations.delete
operations.get composer.operations.get
operations.list composer.operations.list

Google Cloud Console의 DAG 작업 권한

다음 권한에는 DAG UI를 통해 Google Cloud Console에서 DAG를 사용하는 작업이 포함됩니다.

권한 설명
composer.dags.list 환경 세부정보 페이지에서 DAG 목록을 봅니다.
composer.dags.get DAG 세부정보 페이지에서 DAG, DAG 실행, 태스크에 대한 자세한 정보를 가져옵니다.
composer.dags.execute DAG 세부정보 페이지에서 DAG를 트리거합니다.

Airflow UI 액세스 제어를 사용하여 사용자 계정의 DAG 권한을 추가로 제어할 수 있습니다. DAG UI에서 특정 작업을 허용하려면 DAG UI에 IAM 및 Airflow UI 액세스 제어 권한이 모두 필요합니다. 동시에 Airflow UI는 Airflow UI 액세스 제어 권한에 대해서만 사용자 액세스 유효성을 검사하며 IAM 권한을 건너뜁니다.

예를 들어 composer.dags.execute 권한과 Viewer Airflow 역할이 있는 사용자는 Google Cloud 콘솔에서 DAG를 트리거할 수 없습니다. 반대로 composer.dags.list 권한이 없는 사용자는 Airflow UI에서 DAG 목록을 계속 볼 수 있습니다.

다른 프로젝트의 서비스 계정 사용

한 프로젝트의 Cloud Composer 환경에서 다른 프로젝트의 사용자 관리 서비스 계정을 사용하려면 프로젝트 간에 작동하도록 사용자 관리 서비스 계정을 구성해야 합니다.

SERVICE_PROJECT_NUMBER를 Cloud Composer가 있는 프로젝트의 프로젝트 번호로 바꿉니다.

  1. 사용자 관리 서비스 계정이 있는 프로젝트의 허용 정책을 수정합니다.

    1. 환경이 있는 프로젝트의 Compute Engine 기본 서비스 계정(SERVICE_PROJECT_NUMBER-compute@developer.gserviceaccount.com)에 서비스 계정 토큰 생성자 역할을 부여합니다.

    2. 환경이 있는 프로젝트의 Cloud Composer 서비스 에이전트(service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com)에 서비스 계정 토큰 생성자 역할을 부여합니다.

  2. 환경이 있는 프로젝트의 허용 정책을 수정합니다. 사용자 관리 서비스 계정에 역할 할당의 설명대로 사용자 관리 서비스 계정에 필요한 역할을 부여합니다. 예를 들어 공개 IP 구성에서 사용자 관리 서비스 계정을 사용하려면 Composer 작업자 역할이 필요합니다.

다음 단계