アクセス制御

このページでは、Cloud Composer API で利用可能なアクセス制御オプションについて説明します。

概要

Cloud Composer API は、アクセス制御に Cloud Identity and Access Management(Cloud IAM)を使用します。

Cloud Composer API では、プロジェクト レベルでアクセス制御を構成できます。たとえば、プロジェクト内のすべての Cloud Composer API リソースへのアクセス権をデベロッパーのグループに付与できます。

Google Cloud IAM とその機能の詳細については、Cloud IAM デベロッパー ガイドをご覧ください。特に、Cloud IAM ポリシーの管理セクションをご覧ください。

すべての Cloud Composer API メソッドで、呼び出し元が必要な権限を持っている必要があります。詳細については、権限と役割をご覧ください。

必要な権限

次の表では、Cloud Composer API の各 API メソッドを呼び出すため、または API を使用する GCP ツール(Google Cloud Platform Console や Cloud SDK など)を使用してタスクを実行するために、呼び出し元が必要とする権限を示しています。

メソッド 権限
environments.create composer.environments.create
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

役割

Cloud Composer の役割

役割 タイトル 説明 権限 最下位のリソース
roles/
composer.admin
Composer 管理者 Cloud Composer リソースを完全に制御する権限を付与します。 composer.*
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
プロジェクト
roles/
composer.environmentAndStorageObjectAdmin
環境とストレージ オブジェクトの管理者 Cloud Composer のリソースとすべてのプロジェクト バケット内のオブジェクトを完全に制御する権限を付与します。 composer.*
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
storage.objects.*
プロジェクト
roles/
composer.environmentAndStorageObjectViewer
環境ユーザーとストレージ オブジェクトの閲覧者 Cloud Composer の環境とオペレーションを一覧表示および取得するために必要な権限を付与します。 すべてのプロジェクト バケット内のオブジェクトへの読み取り専用アクセス権を付与します。 composer.environments.get
composer.environments.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
プロジェクト
roles/
composer.user
Composer ユーザー Cloud Composer の環境とオペレーションを一覧表示および取得するために必要な権限を付与します。 composer.environments.get
composer.environments.list
composer.operations.get
composer.operations.list
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
プロジェクト
roles/
composer.worker
Composer ワーカー Cloud Composer 環境 VM の実行に必要な権限を付与します(サービス アカウント向け)。 cloudbuild.*
container.*
logging.logEntries.create
monitoring.metricDescriptors.create
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.*
monitoring.timeSeries.create
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.get
pubsub.topics.list
pubsub.topics.publish
pubsub.topics.update
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.objects.*
プロジェクト

基本の役割

役割 タイトル 説明 権限 最下位のリソース
roles/owner オーナー Cloud Composer リソースを完全に制御できるようにするための基本の役割。 composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
プロジェクト
roles/writer 編集者 Cloud Composer リソースを完全に制御できるようにするための基本の役割。 composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
プロジェクト
roles/reader 閲覧者 ユーザーが Cloud Composer リソースを一覧表示、取得できるようにするための基本の役割。 composer.operations.list
composer.operations.get
composer.environments.list
composer.environments.get
プロジェクト

一般的なタスクに対する権限

役割は権限の集まりです。このセクションでは、一般的なタスクに対して必要な役割または権限をリストしています。

タスク 権限または役割
Cloud IAP で保護された Airflow ウェブ インターフェースにアクセスする composer.environments.get
gcloud コマンドライン ツールを使って Airflow CLI を実行する composer.environments.get
container.clusters.get
container.clusters.list
container.clusters.getCredentials
GCP Console で [環境] ページを表示する composer.environments.list
servicemanagement.projectSettings.get
Stackdriver のログと指標を表示する roles/logging.viewer

環境を作成する composer.environments.create
環境の更新と削除(環境変数の設定や Python パッケージのインストール、更新を含む) environments.delete
environments.update
ファイルを DAG と Plugins フォルダにアップロードし、ログフォルダの Airflow ログにアクセスする バケットまたはプロジェクト レベルで割り当てられた storage.objectAdmin

DAG 宛先バケットを検索する composer.environments.get

gcloud を使用したアクセス制御

定義済みの役割を割り当てるには、gcloud projects get-iam-policy コマンドを実行して現在のポリシーを取得し、roles/composer.admin(Composer 管理者)役割か roles/composer.user(Composer ユーザー)役割のいずれかでポリシー バインディングを更新してから、gcloud projects set-iam-policy コマンドを実行します。gcloud を使用した役割の割り当てに関する詳細については、Cloud IAM ドキュメントのリソースへのアクセス権の付与、変更、取り消しのページをご覧ください。

Cloud Composer の権限をカスタム役割に構成するには、役割テーブルから権限の必要なリストを含めて、gcloud iam roles create コマンドを実行します。新しく構成したカスタム役割とともに Cloud IAM ポリシーを更新します。詳細については、Cloud IAM ドキュメントのカスタム役割の作成のページをご覧ください。

GCP Console を使用したアクセス制御

GCP Console を使用して、環境とプロジェクトのアクセス制御を管理できます。

プロジェクト レベルでアクセス制御を設定するには:

  1. Google Cloud Platform Console で IAM ページを開きます。
  2. プロジェクトを選択し、[続行] をクリックします。
  3. [メンバーを追加] をクリックします。
  4. まだ Cloud IAM の役割を付与していない新しいメンバーのメールアドレスを入力します。
  5. プルダウン メニューから目的の役割を選択します。
  6. [追加] をクリックします。
  7. 権限を付与した役割の下に、そのメンバーがリストされていることを確認します。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...