Cloud Build リソースへのアクセスを構成する

デフォルトでは、プロジェクトとそのリソースにアクセスできるのは Google Cloud プロジェクトの作成者のみです。他のユーザーにアクセス権を付与するには、プロジェクトまたは特定の Cloud Build リソースに Identity and Access Management(IAM)ロールを付与します。

このページでは、Cloud Build リソースにアクセス制御を設定する方法について説明します。

始める前に

プロジェクトに対するロールの付与

Console

  1. Cloud Console で IAM ページを開きます。

    [IAM] ページを開く

  2. プロジェクトを選択し、[続行] をクリックします。

  3. [Add] をクリックします。

  4. ユーザーまたはサービス アカウントのメールアドレスを入力します。

  5. プルダウン メニューから必要な役割を選択します。Cloud Build のロールは [Cloud Build] に表示されます。

  6. [保存] をクリックします。

gcloud

プリンシパルにロールを付与するには、add-iam-policy-binding コマンドを実行します。

gcloud group add-iam-policy-binding resource \
    --member=principal --role=role-id

ここで

  • group: 更新するリソースの gcloud ツールグループ。たとえば、プロジェクトや組織を使用できます。

  • resource: リソースの名前。

  • principal: プリンシパルの識別子。通常、プリンシパルのタイプ: id の形式です。例: user:my-user@example.com。 プリンシパルまたはメンバータイプの完全なリストについては、ポリシー バインディングのリファレンスをご覧ください。

  • role-id: 役割の名前。

たとえば、プロジェクト my-project のユーザー my-user@example.com に Cloud Build 閲覧者のロールを付与するには:

gcloud projects add-iam-policy-binding my-project \
    --member=user:my-user@example.com --role=roles/cloudbuild.builds.viewer

gcloud コマンドの実行権限の付与

gcloud builds コマンドを実行するには、cloudbuild.builds.viewer ロールまたは cloudbuild.builds.editor ロールのみを持つユーザーには serviceusage.services.use 権限も必要です。この権限をユーザーに付与するには、ユーザーに serviceusage.serviceUsageConsumer ロールを付与します。

ロール / 編集者とロール / オーナーのロールを持つユーザーは、追加の serviceusage.services.use 権限なしで gcloud builds コマンドを実行できます。

プロジェクトに対するロールの取り消し

Console

  1. Cloud Console で IAM ページを開きます。

    [IAM] ページを開く

  2. プロジェクトを選択し、[続行] をクリックします。

  3. 権限の表でプリンシパルのメール ID を探し、鉛筆アイコンをクリックします。

  4. 取り消すロールを削除します。

  5. [保存] をクリックします。

gcloud

ユーザーからロールを取り消すには、remove-iam-policy-binding コマンドを実行します。

gcloud group remove-iam-policy-binding resource \
    --member=principal --role=role-id

ここで

  • group: 更新するリソースの gcloud ツールグループ。たとえば、プロジェクトや組織を使用できます。

  • resource: リソースの名前。

  • principal: プリンシパルの識別子。通常、プリンシパルのタイプ: id の形式です。例: user:my-user@example.com。 プリンシパルまたはメンバータイプの完全なリストについては、ポリシー バインディングのリファレンスをご覧ください。

  • role-id: 役割の名前。

たとえば、プロジェクト my-project のユーザー my-user@example.com から Cloud Build 閲覧者のロールを取り消すには、次のコマンドを使用します。

gcloud projects remove-iam-policy-binding my-project \
    --member=user:my-user@example.com --role=roles/cloudbuild.builds.viewer

プロジェクトのロールの表示

Console

  1. Cloud Console で IAM ページを開きます。

    [IAM] ページを開く

  2. プロジェクトを選択し、[続行] をクリックします。

  3. [表示] で [ロール] をクリックします。

  4. 特定のロールを持つプリンシパルを表示するには、ロール名を展開します。

gcloud

Cloud プロジェクトで特定のロールを付与されたすべてのユーザーを表示するには、次のコマンドを実行します。

gcloud projects get-iam-policy project-id \
    --flatten="bindings[].members" \
    --format="table(bindings.members)" \
    --filter="bindings.role:role-id"

ここで

  • project-id はプロジェクト ID です。

  • role-id は、プリンシパルを表示するロールの名前です。

たとえば、プロジェクトで Cloud プロジェクト閲覧者のロールが付与されたすべてのプリンシパルを表示するには、次のコマンドを実行します。

gcloud projects get-iam-policy my-project \
    --flatten="bindings[].members" \
    --format="table(bindings.members)" \
    --filter="bindings.role:roles/cloudbuild.builds.viewer"

IAM カスタム役割の作成

指定した権限のバンドルを含む独自のロールを定義する必要があるユーザーの向けに、IAM ではカスタムロールを用意しています。IAM カスタムロールの作成と使用の手順については、カスタムロールの作成と管理をご覧ください。

次のステップ