Cloud SDK ツールの承認

Google Cloud Platform(GCP)にアクセスするには、一般的に Google Cloud SDK ツールを承認する必要があります。ここでは使用可能な承認オプションを示すとともに、承認に使用するアカウントを管理する方法についても説明します。Google Compute Engine のインスタンスまたは Google Cloud Shell を使用している場合は、Cloud SDK ツールを承認する必要はありません。

アカウントのタイプ

ユーザー アカウントまたはサービス アカウントを使用して、Cloud SDK ツールに GCP へアクセスする権限を付与できます。

ユーザー アカウントはエンドユーザーが自分のアプリケーションに対し直接認証するための Google アカウントです。最も一般的な使用例、特にコマンドラインでインタラクティブに Cloud SDK ツールを使用する場合にはユーザー アカウントを使用することをおすすめします。

サービス アカウントは GCP プロジェクトに関連付けられている Googe アカウントであり、特定のユーザーではありません。サービス アカウントはアプリケーションにサービス アカウントキーを提供することによって使用できます。または、Google Cloud Functions、Google App Engine、Google Compute Engine、または Google Kubernetes Engine を使用している場合に使用可能な組み込みサービス アカウントを使用できます。複数のマシンで使用するために Cloud SDK ツールをスクリプト化するには、サービス アカウントをおすすめします。

承認タイプを選択する

Cloud SDK で gcloud CLI やその他のツールを使用してプラットフォーム リソースを管理する際は、事前にこれらのツールを承認しておく必要があります。Cloud SDK と Cloud Platform は、認証と承認に OAuth2 を使用します。

次のいずれかの承認タイプを選択します。

タイプ 説明
ユーザー アカウント Cloud SDK ツールをコマンドラインで使用する場合や、スクリプト化して 1 台のマシンで使用する場合におすすめします。
サービス アカウント Cloud SDK を本番環境へのマシンのデプロイの一環としてインストールして設定する場合や、すべてのユーザーが root にアクセスできる Google Compute Engine 仮想マシン インスタンスで使用する場合におすすめします。

承認と Cloud Platform について詳しくは、Cloud Platform Auth ガイドをご覧ください。

ユーザー アカウントを使用して承認する

ユーザー アカウントでのアクセスを許可するには、以下の gcloud CLI コマンドを使用できます。

コマンド 説明
gcloud init アクセスを承認し、Cloud SDK のその他の一般的な設定手順を実行します。
gcloud auth login アクセスの承認のみを行います。

これらのコマンドは、承認時に Cloud Platform からアカウントの認証情報を取得して、ローカル システムに保存します。指定したアカウントが、Cloud SDK 構成のアクティブ アカウントになります。gcloud CLI とその他の Cloud SDK ツールは、保存されている認証情報を使用して Cloud Platform にアクセスします。1 つの Cloud SDK 環境で認証情報を保存できるアカウントの数に制限はありませんが、有効なアカウントは常に 1 つだけです。

gcloud init を実行する

gcloud init は、アクセスを承認し、Cloud SDK のその他の一般的な設定手順を実行します。ウェブベースの承認フローを使用してユーザー アカウントを認証し、アクセス権限を付与します。

アクセスを承認し、Cloud SDK のその他の一般的な設定手順を実行するには、次の手順に従います。

  1. gcloud init を実行します。

    gcloud init
    

    ウェブブラウザが自動的に開かないようにするには、代わりに次のコマンドを実行します。

    gcloud init --console-only
    

    ssh を使用してリモート システムでこのコマンドを実行する場合は、そのシステムのブラウザを使用できないため、--console-only フラグを使用すると便利です。この場合、指定された URL をローカル システムのブラウザで開いて、承認プロセスを完了する必要があります。

  2. ブラウザベースの承認フローに従ってアカウントを認証し、アクセス権限を付与します。

このコマンドと Cloud SDK の初期化について詳しくは、Cloud SDK の初期化をご覧ください。

gcloud auth login を実行する

gcloud auth login は、ユーザー アカウントの承認のみを行います。

その他の設定手順を実行せずにアクセスを承認するには、次の手順に従います。

  1. gcloud auth login を実行します。

    gcloud auth login
    

    または

    gcloud auth login --no-launch-browser
    

    --no-launch-browser フラグを使用すると、ウェブブラウザが自動的に開かないようにすることができます。この場合、指定された URL をローカル システムのブラウザで開いて、承認プロセスを完了する必要があります。

  2. ブラウザベースの承認フローに従ってアカウントを認証し、アクセス権限を付与します。

サービス アカウントを使用して承認する

gcloud auth activate-service-account では、サービス アカウントを使用してアクセスが承認されます。正常に完了すると、gcloud initgcloud auth login と同様に、サービス アカウントの認証情報がローカル システムに保存され、指定したアカウントが Cloud SDK の構成のアクティブなアカウントに設定されます。

サービス アカウントを使用して承認するには、次の手順に従います。

  1. Google Cloud Platform Console の [サービス アカウント] ページに移動します。

    [サービス アカウント] ページに移動

  2. [サービス アカウントを作成] をクリックするか、既存のアカウントを選択します。

  3. サービス アカウントの表の [オプション] 列にあるその他アイコン 鍵ファイルを作成する をクリックし、[キーを作成] を選択して、JSON 形式の鍵ファイルを作成してダウンロードします。

    鍵ファイルを作成する

  4. 必要に応じて、Cloud SDK ツールを承認するシステム上の場所に鍵ファイルを移動します。

    あるいは、ステップ 1~4 を使用せずに、gcloud iam service-accounts keys create を介して、既存のサービス アカウント用の鍵を調達できます。

  5. gcloud auth activate-service-account を実行します。

    gcloud auth activate-service-account --key-file [KEY_FILE]
    
  6. システムから鍵ファイルを削除します。gcloud CLI には鍵が保存され、その鍵の gcloud CLI コピーはそのまま残ります。

アカウントの一覧を表示する

認証情報がローカル システムに保存されているアカウントの一覧を表示するには、gcloud auth list を実行します。

gcloud auth list

gcloud CLI により、アカウントが一覧表示され、どのアカウントが現在有効かが示されます。

Credentialed accounts:
 - user-1@gmail.com (active)
 - user-2@gmail.com

有効なアカウントを切り替える

有効なアカウントを切り替えるには、gcloud config set を実行します。

gcloud config set account [ACCOUNT]

ここで、[ACCOUNT] はアカウントの完全なメールアドレスです。

アカウントを切り替えるには、別のアカウントを指定する構成を別途作成して、構成を切り替える方法もあります。

gcloud config configurations activate [CONFIGURATION]

gcloud CLI で使用するアカウントを、呼び出しのたびに切り替えるには、--account フラグを使用して、有効なアカウントをオーバーライドします。

アカウントの認証情報を取り消す

特定のアカウントでの gcloud CLI および他の Cloud SDK ツールによるアクセスを禁止したい場合、認証情報を取り消すことができます。アカウントを切り替えるために、認証情報を取り消す必要はありません。

認証情報を取り消すには、gcloud auth revoke を実行します。

gcloud auth revoke [ACCOUNT]

すべてのマシンに対し、Cloud SDK へのアクセス権を完全に取り消すには、アカウントにアクセスできるアプリケーションのリストから Cloud SDK を削除します

認証情報ファイルを見つける

認証情報ファイルの場所を確認するには、gcloud info を実行します。

gcloud info

gcloud CLI により、Cloud SDK 環境に関する情報が表示されます。認証情報ファイルはユーザーの構成ディレクトリに保存されます。

User Config Directory: [/home/username/.config/gcloud]

次のステップ

このページは役立ちましたか?評価をお願いいたします。

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

Cloud SDK のドキュメント