gcloud CLI を使用して認証する

このページでは、gcloud CLI にログインするためのさまざまな方法について説明します。Google Cloud CLI は、Google Cloud の管理に使用できるコマンドライン ツールです。ほとんどのサービスは gcloud CLI をサポートしています。

ローカル開発環境でアプリケーションのデフォルト認証情報(ADC)をサポートするクライアント ライブラリまたはサードパーティ開発ツールを使用する場合は、ローカル環境で ADC を設定する必要があります。詳細については、ローカル開発環境用のアプリケーションのデフォルト認証情報を設定するをご覧ください。

gcloud CLI に対する認証方法と使用方法は、ツールの実行場所によって異なります。

ローカル環境

ほとんどのユースケースでは、ユーザー認証情報を使用して gcloud CLI にログインできますが、サービス アカウントを使用することもできます。

ローカル環境で gcloud CLI にログインすると、アクセス トークンと更新トークンがホーム ディレクトリに配置されます。ファイル システムにアクセスできるすべてのユーザーがこれらの認証情報を使用できます。詳細については、Google Cloud CLI の OAuth トークンの不正利用の回避をご覧ください。

次の表は、gcloud CLI へのログイン オプションと、ツールが Google API の認証と認可に使用する認証情報への影響を示しています。

認証情報の種類 認証コマンド 詳細
ユーザー認証情報
  1. gcloud init
  2. gcloud auth login

gcloud CLI は、すべての Google API の認証と認可にユーザーの認証情報を使用します。

Google API の認可にサービス アカウントを使用する場合は、サービス アカウントの権限借用を使用します。

  1. gcloud config set auth/login_config_file WORKFORCE_IDENTITY_FEDERATION_LOGIN_CONFIGURATION_FILE
  2. gcloud auth login
Workforce Identity 連携により、Google 以外の ID プロバイダによって管理されているユーザーは、Google Cloud リソースにアクセスできます。
ユーザー認証情報
  1. gcloud config set auth/login_config_file WORKFORCE_IDENTITY_FEDERATION_LOGIN_CONFIGURATION_FILE
  2. gcloud auth login
Workforce Identity 連携により、Google 以外の ID プロバイダによって管理されているユーザーは、Google Cloud リソースにアクセスできます。
サービス アカウント gcloud auth login --cred-file=WORKLOAD_IDENTITY_FEDERATION_CREDENTIAL_FILE Workload Identity 連携を使用すると、Google Cloud の外部で実行されているワークロードから Google Cloud リソースにアクセスできます。 ワークロードの認証を行う
gcloud auth login --cred-file=SERVICE_ACCT_KEY

サービス アカウント キーを使用するとリスクが高くなるため、この方法はおすすめしません。

Google API の認可にサービス アカウントを使用する場合は、ユーザー認証情報で gcloud CLI にログインし、サービス アカウントの権限借用を使用します。

Cloud Shell

Cloud Shell を使用する場合は gcloud CLI にログインする必要はありませんが、Cloud Shell のデベロッパー ツールを使用する前にアカウントの使用を認可する必要があります。その後、gcloud CLI はユーザー認証情報を使用して Google API にアクセスします。

詳細については、Cloud Shell での認可をご覧ください。

Google Cloud のコンピューティング リソース

Compute Engine 仮想マシンなどの Google Cloud コンピューティング リソースで gcloud CLI を使用する場合、メタデータ サーバーを使用して gcloud CLI の認証情報と構成情報がホスティング コンピューティング リソースから取得されるため、gcloud CLI の初期化やログインを行う必要はありません。

認証情報の種類 認証コマンド 詳細
サービス アカウント 該当なし gcloud CLI では、コンピューティング リソースに関連付けられたサービス アカウントが、すべての Google API の認証と認可に使用されます。 サービス アカウントの関連付けをサポートする Google Cloud サービス

gcloud CLI 認証構成と ADC 構成

gcloud CLI にログインするときは、gcloud auth login コマンドを使用して、gcloud CLI に対するプリンシパルを認証します。gcloud CLI は、そのプリンシパルを使用して、Google Cloud のリソースとサービスを管理するための認証と認可を行います。これが gcloud CLI 認証構成です。

gcloud CLI を使用して ADC を構成する場合は、gcloud auth application-default login コマンドを使用します。このコマンドは、指定したプリンシパルを使用して、ローカル環境の ADC を構成します。これが ADC 構成です。

gcloud CLI 認証構成は ADC 構成とは異なります。同じプリンシパル、または、異なるプリンシパルを使用することができます。gcloud CLI は、ADC を使用して Google Cloud リソースにアクセスしません。

次の表に、2 つのコマンドとその動作を示します。

コマンド 説明
gcloud auth login

Google Cloud サービスへのアクセスの認証と認可に使用される認証情報を受け入れます。

gcloud auth application-default login

コマンドに指定した認証情報に基づいて、ローカル ADC ファイルを生成します。

通常は、同じアカウントで gcloud CLI にログインして ADC を構成しますが、必要に応じて別のアカウントを使用することもできます。

次のステップ