IAM によるアクセス制御

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 サービス エージェントのロールのみが付与されています。このサービス アカウントでは、このロールを保持してください。

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 サービス アカウントに必要な権限を付与するをご覧ください。

環境のサービス アカウントにロールを付与する

環境を作成するときに、サービス アカウントを指定します。このサービス アカウントは、環境のサービス アカウントと呼ばれます。環境の作成後に指定したサービス アカウントを変更することはできません。

環境では、このサービス アカウントを使用してほとんどのオペレーションを実行します。次に例を示します。

  • 環境のクラスタで、Airflow ワーカーやスケジューラなど、さまざまな環境コンポーネントを含む Pod を実行する。

  • このサービス アカウントに代わって DAG を実行する。たとえば、DAG が別の Google サービスにアクセスする場合、このアクセスはサービス アカウントに代わって行われます。

  • 環境にカスタム PyPI パッケージがインストールされている場合に、Airflow コンポーネントのイメージをビルドする。

  • 環境のバケット内のオブジェクトの読み取りと書き込み。たとえば、環境のバケットと Airflow コンポーネント間でファイルを同期する場合などです。

  • KubernetesPodOperator と GKEStartPodOperator で起動された Pod の実行。

Managed Airflow は、このサービス アカウントを環境の Kubernetes サービス アカウントにバインドします。環境のクラスタ内のノードは Kubernetes サービス アカウントとして実行され、バインディングを使用して、環境バケット内の DAG ファイルなどのGoogle Cloud プロジェクト内のリソースにアクセスします。したがって、環境がGoogle Cloud プロジェクト内の他のリソースにアクセスできるようにするには、Kubernetes サービス アカウントではなく、環境のサービス アカウント(IAM サービス アカウント)に権限を付与します。

環境の既存のサービス アカウントとカスタム サービス アカウント

ユーザー管理のサービス アカウントを設定して、Managed Airflow 環境でこれを使用することを強くおすすめします。手順は次のとおりです。

  1. Identity and Access Management のドキュメントの説明に沿って、新しいサービス アカウントを作成します

  2. Composer ワーカーcomposer.worker)ロールを付与します。

  3. お使いの環境でリソース ロケーションの制限を使用している場合、または Artifact Registry リポジトリまたは限定公開リポジトリから PyPI パッケージをインストールする場合は、環境を自身で実行するユーザー管理のサービス アカウントサービス アカウント ユーザーiam.serviceAccountUser)ロールを付与します(プリンシパルとリソースの両方が同じサービス アカウントです)。

  4. Google Cloud プロジェクト内の他のリソースにアクセスするには、このサービスアカウントにこれらのリソースにアクセスするための追加の権限を付与します。ほとんどの場合、Composer ワーカーcomposer.worker)ロールには、この必要な権限セットが含まれています。DAG の運用に必要な場合のみ、このサービス アカウントに追加の権限を追加してください。

環境サービス アカウントのセキュリティに関する考慮事項

  • 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 に固有のロールを使用することをおすすめします。これにより、権限の範囲を限定し、異なるプリンシパルに異なるアクセスレベルを提供できます。たとえば、あるユーザーは環境の作成、更新、アップグレード、削除の権限を持ち、別のユーザーは環境の表示と Airflow ウェブ インターフェースへのアクセスのみを行うことができます。

Managed Airflow 環境に提供するアクセスレベルに応じて、プリンシパルに次の権限を付与します。

環境と環境バケットを管理する

環境の表示、作成、更新、アップグレード、削除、環境バケット内のオブジェクト(DAG ファイルなど)の管理、Airflow ウェブ インターフェースへのアクセス、Airflow CLI コマンドの実行、DAG UI からの DAG の表示とトリガーが可能なユーザーの場合:

  1. 環境とストレージ オブジェクト管理者composer.environmentAndStorageObjectAdmin)ロールを付与します。

  2. サービス アカウント ユーザー (iam.serviceAccountUser) ロールを付与する

    ユーザーの権限を絞り込むには、環境のサービス アカウントにのみこのロールを付与します。詳細については、単一のロールの付与または取り消しをご覧ください。

  3. ご使用の環境のサービス アカウントiam.serviceAccounts.actAs 権限を付与します。

環境の管理

環境の表示、作成、更新、アップグレード、削除、Airflow ウェブ インターフェースへのアクセス、Airflow CLI コマンドの実行、DAG UI からの DAG の表示とトリガーが可能なユーザーの場合:

  1. Composer 管理者composer.admin)ロールを付与します。

  2. サービス アカウント ユーザー (iam.serviceAccountUser) ロールを付与する

    ユーザーの権限を絞り込むには、環境のサービス アカウントにのみこのロールを付与します。詳細については、単一のロールの付与または取り消しをご覧ください。

  3. ご使用の環境のサービス アカウントiam.serviceAccounts.actAs 権限を付与します。

環境を表示し環境バケットを管理する

環境の表示、Airflow ウェブ インターフェースへのアクセス、DAG UI からの DAG の表示とトリガー、環境バケット内のオブジェクトの管理(新しい DAG ファイルのアップロードなど)が可能なユーザーの場合。

  1. 環境ユーザーとストレージ オブジェクトの閲覧者composer.environmentAndStorageObjectViewer)のロールを付与します。

  2. ストレージ オブジェクト管理者storage.objectAdmin)ロールを付与します。

環境と環境バケットを表示する

環境の表示、Airflow ウェブ インターフェースへのアクセス、DAG UI からの DAG の表示とトリガー、環境バケット内のオブジェクトの表示が可能なユーザーの場合は、環境ユーザーとストレージ オブジェクトの閲覧者composer.environmentAndStorageObjectViewer)のロールを付与します。

環境を表示する

環境の表示、DAG UI からの DAG の表示とトリガー、Airflow ウェブ インターフェースへのアクセスが可能なユーザーの場合は、Composer ユーザーcomposer.user)のロールを付与します。

ロール

Role Permissions

(roles/composer.admin)

Provides full control of Managed Airflow resources.

Lowest-level resources where you can grant this role:

  • Project

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

(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

(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:

  • Project

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

(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

(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

(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:

  • Project

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

(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

(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:

  • Project

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

(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

(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:

  • Project

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.