OSS ソリューションの成功とお客様の嗜好の高まりをより強く受け入れるため、Cloud Composer は Managed Service for Apache Airflow に進化します。この名称変更により、ポートフォリオに対するお客様の理解が深まり、最もオープンなクラウド エコシステムを目指す Google の取り組みが強化されます。
Managed Airflow(第 3 世代) | Managed Airflow(第 2 世代) | Managed Airflow(以前の第 1 世代)
このページでは、Managed Airflow で使用可能なアクセス制御オプションと、ロールを付与する方法について説明します。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理する をご覧ください。
Airflow UI のアクセス制御 を使用すると、Airflow UI や DAG UI へのアクセスを制御できます。
Workforce Identity 連携 を使用して外部 ID のアクセス権を設定する場合は、Workforce Identity 連携を使用した環境へのアクセス をご覧ください。
Managed Airflow の Identity and Access Management について
Managed Airflow は、アクセス制御に Identity and Access Management(IAM) を使用します。
Managed Airflow のさまざまな機能へのアクセスを制御するには、IAM サービス アカウント と Google Cloud プロジェクトのユーザー アカウントの両方にロールと権限を付与します。
Managed Airflow では、次の 2 種類の IAM サービス アカウントを使用します。
この 2 種類のサービス アカウントに加えて、Google API サービス エージェント がユーザーに代わって内部の Google プロセスを実行します。
Managed Airflow サービス エージェント アカウントにロールを付与する
Managed Airflow サービスは、Managed Airflow に関連するリソースを管理するために、 Google Cloud プロジェクトにサービス エージェント(Managed Airflow サービス エージェント )を作成します。
マネージド Airflow サービス エージェントは、プロジェクト内のすべての環境で使用されます。デフォルトでは、Managed Airflow サービス エージェント アカウントには Cloud Composer API サービス エージェント のロールのみが付与されています。このサービス アカウントでは、このロールを保持してください。
注: Google API サービス エージェント アカウント(別名: Cloud サービスのサービス アカウント)は、ユーザーに代わって内部の Google プロセスを実行します。プロジェクト編集者のロールであるこのサービス エージェント アカウントでは、デフォルトの権限を保持することをおすすめ します。
Managed Airflow(第 2 世代)は GKE Autopilot を使用します。これには Workload Identity が必要です。Workload Identity をサポートするには、環境のサービス アカウント に、環境のクラスタを実行する Kubernetes サービス アカウントに対するバインディングが必要です。これらのバインディングは、環境クラスタの Pod が Google Cloud プロジェクトのリソースにアクセスできるようにするために必要です。たとえば、環境のバケットから DAG 定義ファイルを読み取ることができます。
環境のサービス アカウントと環境のクラスタの Kubernetes サービス アカウントとの間のバインディングを作成するには、Composer サービス エージェント アカウントに、そうするための十分な権限が必要です。それには、Cloud Composer v2 API サービス エージェント拡張機能 (roles/composer.ServiceAgentV2Ext)ロールで提供される iam.serviceAccounts.getIamPolicy 権限と iam.serviceAccounts.setIamPolicy 権限が必要です。
このロールは自動的には付与されません 。手動で付与する必要があります。このロールを付与する手順については、Managed Airflow サービス アカウントに必要な権限を付与する をご覧ください。
警告: このロールを付与すると、Composer サービス エージェント アカウントで、環境のサービス アカウントの IAM ポリシーを変更できます 。Managed Airflow は、これらの権限を使用して、環境のサービス アカウントと環境のクラスタの Kubernetes サービス アカウントとの間のバインディングを作成します。 環境のサービス アカウントにロールを付与する
環境を作成するときに、サービス アカウントを指定します。このサービス アカウントは、環境のサービス アカウント と呼ばれます。環境の作成後に指定したサービス アカウントを変更することはできません。
環境では、このサービス アカウントを使用してほとんどのオペレーションを実行します。次に例を示します。
環境のクラスタで、Airflow ワーカーやスケジューラなど、さまざまな環境コンポーネント を含む Pod を実行する。
このサービス アカウントに代わって DAG を実行する。たとえば、DAG が別の Google サービスにアクセスする場合、このアクセスはサービス アカウントに代わって行われます。
環境にカスタム PyPI パッケージがインストールされている場合に、Airflow コンポーネントのイメージをビルドする。
環境のバケット内のオブジェクトの読み取りと書き込み。たとえば、環境のバケットと Airflow コンポーネント間でファイルを同期する場合などです。
KubernetesPodOperator と GKEStartPodOperator で起動された Pod の実行。
Managed Airflow は、このサービス アカウントを環境の Kubernetes サービス アカウントにバインドします。環境のクラスタ内のノードは Kubernetes サービス アカウントとして実行され、バインディングを使用して、環境バケット内の DAG ファイルなどのGoogle Cloud プロジェクト内のリソースにアクセスします。したがって、環境がGoogle Cloud プロジェクト内の他のリソースにアクセスできるようにするには、Kubernetes サービス アカウントではなく、環境のサービス アカウント(IAM サービス アカウント)に権限を付与します。
注意: 環境のサービス アカウントを削除すると、それを使用するすべての環境が機能しなくなり、復元できなくなります。同じ名前のサービス アカウントを再作成しても、影響を受ける環境を復元することはできません。影響を受ける環境のバケットに保存されているデータには引き続きアクセスできます。 環境の既存のサービス アカウントとカスタム サービス アカウント
ユーザー管理のサービス アカウント を設定して、Managed Airflow 環境でこれを使用することを強くおすすめします。手順は次のとおりです。
Identity and Access Management のドキュメントの説明に沿って、新しいサービス アカウントを作成します 。
Composer ワーカー (composer.worker)ロールを付与します。
お使いの環境でリソース ロケーションの制限を使用 している場合、または Artifact Registry リポジトリ または限定公開リポジトリ から PyPI パッケージをインストールする場合は、環境を自身で実行するユーザー管理のサービス アカウント にサービス アカウント ユーザー (iam.serviceAccountUser)ロールを付与します(プリンシパルとリソースの両方が同じサービス アカウントです)。
Google Cloud プロジェクト内の他のリソースにアクセスするには、このサービスアカウントにこれらのリソースにアクセスするための追加の権限を付与します。ほとんどの場合、Composer ワーカー (composer.worker)ロールには、この必要な権限セットが含まれています。DAG の運用に必要な場合のみ、このサービス アカウントに追加の権限を追加してください。
環境サービス アカウントのセキュリティに関する考慮事項
警告: 環境のサービス アカウントで、プロジェクトに対する権限が過度に広範 になっている可能性があります。環境は環境のサービス アカウントに代わって DAG を実行するため、環境のバケットで DAG やその他のファイルを追加および変更できるユーザー、またはプロジェクトで Artifact Registry リポジトリを変更できるユーザーは、環境のサービス アカウントに代わってコードを実行すること 、および、このアカウントのすべての権限を行使すること が可能です。
Managed Airflow 環境に対しては、環境の実行と DAG で定義されたオペレーションの実行に必要な権限セットのみを持つユーザー管理のサービス アカウントを設定する ことを強くおすすめします。ほとんどの場合、Composer ワーカー (composer.worker)ロールには、この必要な権限セットが含まれています。DAG の運用に必要な場合のみ、このサービス アカウントに追加の権限を追加してください。
デフォルトの Compute Engine サービス アカウント を使用する Managed Airflow 環境を作成できます。このアカウントには通常、Managed Airflow 環境や DAG の実行に必要な権限よりも多くの権限が付与されています。環境はサービス アカウントに代わって DAG を実行するため、DAG が意図したよりも広範な権限を使用するリスクがあります。同時に、プロジェクトでこのサービス アカウントを使用する可能性のある他のサービスに影響を与えることなく、このサービス アカウントの権限を削減することはほとんどの場合でできません。代わりに、ユーザー管理のサービス アカウントを設定 します。
環境のバケットへの読み取り / 書き込みアクセス は、信頼できるユーザーにのみ許可するようにしてください。
DAG の実行には環境のサービス アカウントが使用されるため、環境のバケットに DAG(または Python 依存関係などの他のオブジェクト)を追加および変更できるユーザーは、環境のサービス アカウントに代わってコードを実行することが可能で、また、独自のバージョンの DAG をデプロイしてすべての権限にアクセスすることができます。これは、ユーザー アカウントに、このようなアクションを許可する明示的な Managed Airflow 関連のロールと権限がない場合でも発生する可能性があります。
プロジェクトの Artifact Registry リポジトリへのアクセス権は、信頼できるユーザーにのみ付与するようにしてください。
環境の Airflow コンポーネントは、これらのリポジトリに保存されているコンテナ イメージを使用します。DAG の KubernetesPodOperator、GKEPodOperator、GKEStartPodOperator でカスタム コンテナ イメージを使用することもできます。これらのユーザーは、環境の Airflow コンポーネント(Airflow ワーカーなど)用の独自のバージョンのコンテナ イメージをデプロイするか、リストされているオペレーターのいずれかを使用してアップロードされたコンテナ イメージを実行する DAG を実行できます。そのため、これらのユーザーは環境のサービス アカウントに代わってコードを実行し、そのすべての権限にアクセスできます。
信頼できるユーザーのみがプロジェクト内の環境を更新できるようにしてください。
composer.environments.update 権限 は、構成変更の適用以外にも使用できます。これは、環境のサービス アカウントに代わるコード実行など、Managed Airflow リソースを幅広く制御できるものであり、このサービス アカウントが持つすべての権限を行使できます。たとえば、PyPI パッケージのインストールでは、パッケージから Python コードを実行します。別の例として、環境変数を使用して DAG によって実行されるコードを保存したり、そのようなコードを含むロケーションを参照したりできます。
プロジェクトで、信頼できるユーザーのみが Airflow CLI コマンドを実行 できるようにしてください。
composer.environments.executeairflowcommand 権限 を使用すると、環境のサービス アカウントに代わって、Airflow コンポーネントで使用可能な Python コードを実行できます。
ユーザーにロールを付与する
環境オペレーションをトリガーするには、ユーザーに十分な権限が必要です。たとえば、新しい環境を作成するには、composer.environments.create 権限が必要です。
Managed Airflow では、個々の権限は事前定義されたロールにグループ化されます。これらのロールは、プリンシパルに割り当てることができます。
注: Managed Airflow の事前定義ロールの権限の一覧については、ロール をご覧ください。 ユーザー アカウントにプロジェクト編集者 のロールが付与されている場合は、すべての環境オペレーションを実行できます。ただし、このロールには幅広い権限があります。環境を扱うユーザーの場合、Managed Airflow に固有のロールを使用することをおすすめします。これにより、権限の範囲を限定し、異なるプリンシパルに異なるアクセスレベルを提供できます。たとえば、あるユーザーは環境の作成、更新、アップグレード、削除の権限を持ち、別のユーザーは環境の表示と Airflow ウェブ インターフェースへのアクセスのみを行うことができます。
Managed Airflow 環境に提供するアクセスレベルに応じて、プリンシパルに次の権限を付与します。
環境と環境バケットを管理する
環境の表示、作成、更新、アップグレード、削除、環境バケット内のオブジェクト(DAG ファイルなど)の管理、Airflow ウェブ インターフェースへのアクセス、Airflow CLI コマンドの実行、DAG UI からの DAG の表示とトリガーが可能なユーザーの場合:
環境とストレージ オブジェクト管理者 (composer.environmentAndStorageObjectAdmin)ロールを付与します。
サービス アカウント ユーザー (iam.serviceAccountUser) ロールを付与する
ユーザーの権限を絞り込むには、環境のサービス アカウント にのみこのロールを付与します。詳細については、単一のロールの付与または取り消し をご覧ください。
ご使用の環境のサービス アカウント に iam.serviceAccounts.actAs 権限を付与します。
環境の管理
環境の表示、作成、更新、アップグレード、削除、Airflow ウェブ インターフェースへのアクセス、Airflow CLI コマンドの実行、DAG UI からの DAG の表示とトリガーが可能なユーザーの場合:
Composer 管理者 (composer.admin)ロールを付与します。
サービス アカウント ユーザー (iam.serviceAccountUser) ロールを付与する
ユーザーの権限を絞り込むには、環境のサービス アカウント にのみこのロールを付与します。詳細については、単一のロールの付与または取り消し をご覧ください。
ご使用の環境のサービス アカウント に iam.serviceAccounts.actAs 権限を付与します。
環境を表示し環境バケットを管理する
環境の表示、Airflow ウェブ インターフェースへのアクセス、DAG UI からの DAG の表示とトリガー、環境バケット内のオブジェクトの管理(新しい DAG ファイルのアップロードなど)が可能なユーザーの場合。
環境ユーザーとストレージ オブジェクトの閲覧者 (composer.environmentAndStorageObjectViewer)のロールを付与します。
ストレージ オブジェクト管理者 (storage.objectAdmin)ロールを付与します。
環境と環境バケットを表示する
環境の表示、Airflow ウェブ インターフェースへのアクセス、DAG UI からの DAG の表示とトリガー、環境バケット内のオブジェクトの表示が可能なユーザーの場合は、環境ユーザーとストレージ オブジェクトの閲覧者 (composer.environmentAndStorageObjectViewer)のロールを付与します。
環境を表示する
環境の表示、DAG UI からの DAG の表示とトリガー、Airflow ウェブ インターフェースへのアクセスが可能なユーザーの場合は、Composer ユーザー (composer.user)のロールを付与します。
ロール
Role
Permissions
Composer Administrator
(roles/composer.admin )
Provides full control of Managed Airflow resources.
Lowest-level resources where you can grant this role:
cloudkms.keyHandles.*
cloudkms.keyHandles.create
cloudkms.keyHandles.get
cloudkms.keyHandles.list
cloudkms.operations.get
cloudkms.projects.showEffectiveAutokeyConfig
composer.*
composer.dags.execute
composer.dags.get
composer.dags.getSourceCode
composer.dags.list
composer.environments.create
composer.environments.createTagBinding
composer.environments.delete
composer.environments.deleteTagBinding
composer.environments.executeAirflowCommand
composer.environments.get
composer.environments.list
composer.environments.listEffectiveTags
composer.environments.listTagBindings
composer.environments.update
composer.imageversions.list
composer.operations.delete
composer.operations.get
composer.operations.list
composer.userworkloadsconfigmaps.create
composer.userworkloadsconfigmaps.delete
composer.userworkloadsconfigmaps.get
composer.userworkloadsconfigmaps.list
composer.userworkloadsconfigmaps.update
composer.userworkloadssecrets.create
composer.userworkloadssecrets.delete
composer.userworkloadssecrets.get
composer.userworkloadssecrets.list
composer.userworkloadssecrets.update
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
serviceusage.values.test
Composer Editor
(roles/composer.editor )
Editor role for Composer
composer.dags.*
composer.dags.execute
composer.dags.get
composer.dags.getSourceCode
composer.dags.list
composer.environments.create
composer.environments.delete
composer.environments.executeAirflowCommand
composer.environments.get
composer.environments.list
composer.environments.listEffectiveTags
composer.environments.listTagBindings
composer.environments.update
composer.imageversions.list
composer.operations.*
composer.operations.delete
composer.operations.get
composer.operations.list
composer.userworkloadsconfigmaps.*
composer.userworkloadsconfigmaps.create
composer.userworkloadsconfigmaps.delete
composer.userworkloadsconfigmaps.get
composer.userworkloadsconfigmaps.list
composer.userworkloadsconfigmaps.update
composer.userworkloadssecrets.*
composer.userworkloadssecrets.create
composer.userworkloadssecrets.delete
composer.userworkloadssecrets.get
composer.userworkloadssecrets.list
composer.userworkloadssecrets.update
resourcemanager.projects.get
resourcemanager.projects.list
Composer User
(roles/composer.user )
Provides the permissions necessary to list and get Managed Airflow environments and operations.
Lowest-level resources where you can grant this role:
composer.dags.*
composer.dags.execute
composer.dags.get
composer.dags.getSourceCode
composer.dags.list
composer.environments.get
composer.environments.list
composer.imageversions.list
composer.operations.get
composer.operations.list
composer.userworkloadsconfigmaps.get
composer.userworkloadsconfigmaps.list
composer.userworkloadssecrets.get
composer.userworkloadssecrets.list
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
serviceusage.values.test
Composer Viewer
(roles/composer.viewer )
Viewer role for Composer
composer.dags.get
composer.dags.getSourceCode
composer.dags.list
composer.environments.get
composer.environments.list
composer.environments.listEffectiveTags
composer.environments.listTagBindings
composer.imageversions.list
composer.operations.get
composer.operations.list
composer.userworkloadsconfigmaps.get
composer.userworkloadsconfigmaps.list
composer.userworkloadssecrets.get
composer.userworkloadssecrets.list
resourcemanager.projects.get
resourcemanager.projects.list
Cloud Composer v2 API Service Agent Extension
(roles/composer.ServiceAgentV2Ext )
Cloud Composer v2 API Service Agent Extension is a supplementary role required to manage Composer v2 environments.
iam.serviceAccounts.getIamPolicy
iam.serviceAccounts.setIamPolicy
Environment and Storage Object Administrator
(roles/composer.environmentAndStorageObjectAdmin )
Provides full control of Managed Airflow resources and of the objects in all project buckets.
Lowest-level resources where you can grant this role:
cloudkms.keyHandles.*
cloudkms.keyHandles.create
cloudkms.keyHandles.get
cloudkms.keyHandles.list
cloudkms.operations.get
cloudkms.projects.showEffectiveAutokeyConfig
composer.*
composer.dags.execute
composer.dags.get
composer.dags.getSourceCode
composer.dags.list
composer.environments.create
composer.environments.createTagBinding
composer.environments.delete
composer.environments.deleteTagBinding
composer.environments.executeAirflowCommand
composer.environments.get
composer.environments.list
composer.environments.listEffectiveTags
composer.environments.listTagBindings
composer.environments.update
composer.imageversions.list
composer.operations.delete
composer.operations.get
composer.operations.list
composer.userworkloadsconfigmaps.create
composer.userworkloadsconfigmaps.delete
composer.userworkloadsconfigmaps.get
composer.userworkloadsconfigmaps.list
composer.userworkloadsconfigmaps.update
composer.userworkloadssecrets.create
composer.userworkloadssecrets.delete
composer.userworkloadssecrets.get
composer.userworkloadssecrets.list
composer.userworkloadssecrets.update
monitoring.timeSeries.create
orgpolicy.policy.get
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
serviceusage.values.test
storage.folders.*
storage.folders.create
storage.folders.delete
storage.folders.get
storage.folders.list
storage.folders.rename
storage.managedFolders.create
storage.managedFolders.delete
storage.managedFolders.get
storage.managedFolders.list
storage.managedFolders.update
storage.multipartUploads.*
storage.multipartUploads.abort
storage.multipartUploads.create
storage.multipartUploads.list
storage.multipartUploads.listParts
storage.objects.*
storage.objects.create
storage.objects.createContext
storage.objects.delete
storage.objects.deleteContext
storage.objects.get
storage.objects.getIamPolicy
storage.objects.list
storage.objects.move
storage.objects.overrideUnlockedRetention
storage.objects.restore
storage.objects.setIamPolicy
storage.objects.setRetention
storage.objects.update
storage.objects.updateContext
Environment and Storage Object User
(roles/composer.environmentAndStorageObjectUser )
Read and use access to Cloud Composer resources and read access to Cloud Storage objects.
composer.dags.*
composer.dags.execute
composer.dags.get
composer.dags.getSourceCode
composer.dags.list
composer.environments.get
composer.environments.list
composer.imageversions.list
composer.operations.get
composer.operations.list
composer.userworkloadsconfigmaps.get
composer.userworkloadsconfigmaps.list
composer.userworkloadssecrets.get
composer.userworkloadssecrets.list
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
serviceusage.values.test
storage.folders.get
storage.folders.list
storage.managedFolders.get
storage.managedFolders.list
storage.objects.get
storage.objects.list
Environment and Storage Object Viewer
(roles/composer.environmentAndStorageObjectViewer )
Provides the permissions necessary to list and get Managed Airflow environments and operations.
Provides read-only access to objects in all project buckets.
Lowest-level resources where you can grant this role:
composer.dags.*
composer.dags.execute
composer.dags.get
composer.dags.getSourceCode
composer.dags.list
composer.environments.get
composer.environments.list
composer.imageversions.list
composer.operations.get
composer.operations.list
composer.userworkloadsconfigmaps.get
composer.userworkloadsconfigmaps.list
composer.userworkloadssecrets.get
composer.userworkloadssecrets.list
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
serviceusage.values.test
storage.folders.get
storage.folders.list
storage.managedFolders.get
storage.managedFolders.list
storage.objects.get
storage.objects.list
Composer Shared VPC Agent
(roles/composer.sharedVpcAgent )
Role that should be assigned to Composer Agent service account in Shared VPC host project
compute.networkAttachments.create
compute.networkAttachments.delete
compute.networkAttachments.get
compute.networkAttachments.update
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.regions.get
compute.regions.list
compute.subnetworks.get
compute.subnetworks.list
compute.subnetworks.use
compute.subnetworks.useExternalIp
compute.zones.*
compute.zones.get
compute.zones.list
dns.managedZones.get
dns.managedZones.list
dns.networks.targetWithPeeringZone
Composer Worker
(roles/composer.worker )
Provides the permissions necessary to run a Managed Airflow environment VM. Intended for service accounts.
Lowest-level resources where you can grant this role:
artifactregistry.*
artifactregistry.aptartifacts.create
artifactregistry.attachments.create
artifactregistry.attachments.delete
artifactregistry.attachments.get
artifactregistry.attachments.list
artifactregistry.dockerimages.get
artifactregistry.dockerimages.list
artifactregistry.files.delete
artifactregistry.files.download
artifactregistry.files.get
artifactregistry.files.list
artifactregistry.files.update
artifactregistry.files.upload
artifactregistry.kfpartifacts.create
artifactregistry.locations.get
artifactregistry.locations.list
artifactregistry.mavenartifacts.get
artifactregistry.mavenartifacts.list
artifactregistry.npmpackages.get
artifactregistry.npmpackages.list
artifactregistry.packages.delete
artifactregistry.packages.get
artifactregistry.packages.list
artifactregistry.packages.update
artifactregistry.projectconfigs.get
artifactregistry.projectconfigs.update
artifactregistry.projectsettings.get
artifactregistry.projectsettings.update
artifactregistry.pythonpackages.get
artifactregistry.pythonpackages.list
artifactregistry.repositories.create
artifactregistry.repositories.createOnPush
artifactregistry.repositories.createTagBinding
artifactregistry.repositories.delete
artifactregistry.repositories.deleteArtifacts
artifactregistry.repositories.deleteTagBinding
artifactregistry.repositories.downloadArtifacts
artifactregistry.repositories.exportArtifacts
artifactregistry.repositories.get
artifactregistry.repositories.getIamPolicy
artifactregistry.repositories.list
artifactregistry.repositories.listEffectiveTags
artifactregistry.repositories.listTagBindings
artifactregistry.repositories.readViaVirtualRepository
artifactregistry.repositories.setIamPolicy
artifactregistry.repositories.update
artifactregistry.repositories.uploadArtifacts
artifactregistry.rules.create
artifactregistry.rules.delete
artifactregistry.rules.get
artifactregistry.rules.list
artifactregistry.rules.update
artifactregistry.tags.create
artifactregistry.tags.delete
artifactregistry.tags.get
artifactregistry.tags.list
artifactregistry.tags.update
artifactregistry.versions.delete
artifactregistry.versions.get
artifactregistry.versions.list
artifactregistry.versions.update
artifactregistry.yumartifacts.create
cloudbuild.builds.create
cloudbuild.builds.get
cloudbuild.builds.list
cloudbuild.builds.update
cloudbuild.locations.*
cloudbuild.locations.get
cloudbuild.locations.list
cloudbuild.operations.*
cloudbuild.operations.get
cloudbuild.operations.list
cloudbuild.workerpools.use
cloudkms.keyHandles.*
cloudkms.keyHandles.create
cloudkms.keyHandles.get
cloudkms.keyHandles.list
cloudkms.operations.get
cloudkms.projects.showEffectiveAutokeyConfig
composer.environments.get
compute.images.create
container.*
container.apiServices.create
container.apiServices.delete
container.apiServices.get
container.apiServices.getStatus
container.apiServices.list
container.apiServices.update
container.apiServices.updateStatus
container.auditSinks.create
container.auditSinks.delete
container.auditSinks.get
container.auditSinks.list
container.auditSinks.update
container.backendConfigs.create
container.backendConfigs.delete
container.backendConfigs.get
container.backendConfigs.list
container.backendConfigs.update
container.bindings.create
container.bindings.delete
container.bindings.get
container.bindings.list
container.bindings.update
container.certificateSigningRequests.approve
container.certificateSigningRequests.create
container.certificateSigningRequests.delete
container.certificateSigningRequests.get
container.certificateSigningRequests.getStatus
container.certificateSigningRequests.list
container.certificateSigningRequests.update
container.certificateSigningRequests.updateStatus
container.clusterRoleBindings.create
container.clusterRoleBindings.delete
container.