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 の認証と認可に使用する認証情報への影響を示しています。

認証情報の種類 認証コマンド 詳細
ユーザー認証情報

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

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

gcloud auth login --login-file=WORKFORCE_IDENTITY_FEDERATION_LOGIN_CONFIGURATION_FILE 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 の Google ツールを使用する前にアカウントの使用を認可する必要があります。その後、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 は、それを使用して Google Cloud のリソースとサービスを管理するための認証と認可を行いますこれらの認証情報は、gcloud CLI の認証情報です。

gcloud CLI を使用して ADC に認証情報を提供する場合、gcloud auth application-default login コマンドを使用します。このコマンドは、認証情報を既知の場所に配置し、ローカル環境の ADC で使用できるようにします。これらはローカルの ADC 認証情報です。

ローカル ADC 認証情報と gcloud CLI 認証情報は、2 つの異なる認証情報セットです。gcloud CLI は、ADC を使用して認証情報を取得しません。

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

コマンド 説明
gcloud auth login

Google Cloud サービスへのアクセスの認証と認可に使用されるユーザー認証情報を生成します。

gcloud auth application-default login

ローカル開発環境で使用するためにアプリケーションのデフォルト認証情報に提供されたユーザー認証情報を生成します。

通常は、同じアカウントで gcloud CLI にログインして、ADC にユーザー認証情報を提供しますが、別のアカウントを使用することもできます。

次のステップ