gcloud CLI の認証

このドキュメントでは、Google Cloud リソースにアクセスするための Google Cloud CLI の認証についてのみ説明します。Cloud クライアント ライブラリまたは Google API クライアント ライブラリを使用してワークロードを認証する必要がある場合は、アプリケーションのデフォルト認証情報の仕組みをご覧ください。

始める前に

Google Cloud を初めて使用し、ローカル開発環境で gcloud CLI コマンドの使用を開始する場合は、次のコマンドを使用して gcloud CLI を初期化できます。

gcloud init

初期化では、認証フローが実行され、gcloud CLI 構成が設定され、ユーザーに代わって操作する権限が gcloud CLI に付与されます。別途認証手順を行う必要はありません。

このドキュメントの残りの部分では、さまざまなプリンシパル タイプで gcloud CLI を使用する、さまざまな環境に適した認証方法、プリンシパルの切り替え、保存された認証情報の管理など、より複雑なシナリオについて説明します。

認証方法

すべての gcloud CLI コマンドは、 Google CloudAPI に対して認証を行う必要があります。認証は次の方法で行うことができます。

  • 認証情報を承認して保存する: ローカル開発環境で人間が使用するのに適しています。gcloud auth login コマンドを使用すると、プリンシパルの代わりに gcloud CLI が動作するように承認できます。初回認証後、このコマンドは gcloud CLI 構成ディレクトリに認証情報を保存します。gcloud CLI は、保存されたこれらの認証情報を使用して、セッションが期限切れになるか、認可を取り消すまで、後続のコマンドに対して自動的に認証を行います。

  • 認証情報ファイルで認証する: Google Cloudの外部で実行されているワークロードに適しています。環境変数または gcloud CLI 構成プロパティを使用して、自動認証用の認証情報ファイルを指定できます。このファイルは次のいずれかになります。

    • Workload Identity 連携の認証情報構成ファイル。

    • サービス アカウント キー。

  • アクセス トークンを提供する: 共有マシン上の高度に分離された自動ワークフローまたはステートレス セッションに適しています。アクセス トークンを gcloud CLI に直接指定することで、認証情報ストレージの保存をバイパスできます。これを行うには、特定の環境変数を未加工のアクセス トークン文字列に設定するか、アクセス トークンを含むファイルを指すように gcloud CLI を設定します。

認証後、サービス アカウントのメールアドレスを指定して、gcloud CLI にサービス アカウントの権限を借用させることもできます。

1 つの環境で複数の認証方法を使用できます。ただし、特定の gcloud コマンドに使用されるプリンシパルは 1 つだけです。使用するプリンシパルを決定するために、gcloud CLI は優先順位に従います。

認証が不要な場合

次のような場合は、gcloud CLI の認証は必要ありません。

  • gcloud CLI を初期化した直後。初期化プロセスには、認証と、ユーザーに代わって操作を行うための gcloud CLI の承認が含まれています。別のプリンシパルを使用して別のリソースにアクセスする必要がある場合や、プリンシパルを再認証する必要がある場合は、再度認証が必要になることがあります。
  • Compute Engine メタデータ サーバーを公開するリソースから gcloud CLI を使用する場合。これには、Compute Engine VM インスタンス、Cloud Run サービス、Cloud Build ビルドなどのリソースが含まれます。gcloud CLI は、VM に関連付けられたサービス アカウントを使用して認証を行い、適用された アクセス スコープの範囲内で、そのサービス アカウントと同じリソースにアクセスできます。

タスクに適したプリンシパルを選択する

人間が使用するプリンシパルと自動化されたワークロード用のプリンシパルには、さまざまなタイプがあります。使用する必要があるプリンシパル タイプによって、認証方法が異なります。

  • サービス アカウント: ワークロードがサービスやリソースにアクセスするために使用できる、 Google Cloud に固有のアカウントです。通常、サービス アカウントとして直接認証することはありません。代わりに、サービス アカウントを Compute Engine VM などのリソースにアタッチするか、サービス アカウントの権限借用を使用します。

  • フェデレーション プリンシパル: 外部 ID プロバイダのユーザー アカウントまたはサービス アカウントを参照する ID です。 Google Cloudでサポートされているフェデレーション プリンシパルには、次の 2 つのタイプがあります。これらは名前が似ています。

人間として gcloud CLI を使用する

外部 ID プロバイダ(IdP)で管理されている連携ユーザー ID を使用して、gcloud CLI を使用できます。これは、Workforce Identity 連携を使用して行います。

次の手順では、IdP と連携するように Workforce Identity 連携プールとプロバイダがすでに設定されていることを前提としています。

フェデレーション ユーザー ID で gcloud CLI を使用するには、ログイン構成ファイルを作成し、ブラウザベースのフローを使用してログインします。

  1. 次のコマンドを実行して、ログイン構成ファイルを作成します。

    Linux / macOS

    gcloud iam workforce-pools create-login-config \
        locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \
        --output-file=LOGIN_CONFIG_PATH

    Windows(PowerShell)

    gcloud iam workforce-pools create-login-config `
        locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID `
        --output-file=LOGIN_CONFIG_PATH

    次のように置き換えます。

    • WORKFORCE_POOL_ID: Workforce Identity 連携プール ID。
    • WORKFORCE_PROVIDER_ID: Workforce Identity 連携プロバイダ ID。
    • LOGIN_CONFIG_PATH: ログイン構成ファイルを書き込むパス。例: login-config.json

    ログイン構成ファイルには、gcloud CLI でブラウザベースの認証フローを有効にし、Workforce Identity プール プロバイダで構成された IdP にオーディエンスを設定するために使用するエンドポイントが含まれています。ファイルに機密情報は含まれていません。

    ログイン構成ファイルの内容は次のようになります。

    {
      "universe_domain": "",
      "universe_cloud_web_domain": "",
      "type": "external_account_authorized_user_login_config",
      "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID",
      "auth_url": "https://auth./authorize",
      "token_url": "https://sts./v1/oauthtoken",
      "token_info_url": "https://sts./v1/introspect"
    }

  2. 環境変数、アクティブな gcloud CLI 構成のプロパティを使用してログイン構成ファイルを指定するか、gcloud auth login コマンドで直接使用します。

    環境変数

    環境変数でログイン構成ファイルを使用するには、次の手順を行います。

    1. CLOUDSDK_AUTH_LOGIN_CONFIG_FILE 環境変数をログイン構成ファイルのパスに設定します。
    2. 次のコマンドを実行します。

      gcloud auth login
    3. gcloud CLI は、環境変数を参照してログイン構成ファイルを見つけ、認証プロセスを開始します。ブラウザベースのフローに沿って、gcloud CLI を認証し、今後のコマンドでユーザーに代わってリソースにアクセスできるように承認します。

    gcloud auth login コマンドでログイン構成ファイルの使用を停止するには、CLOUDSDK_AUTH_LOGIN_CONFIG_FILE 環境変数をクリアします。

    gcloud CLI の構成

    gcloud CLI 構成プロパティでログイン構成ファイルを使用するには、次の手順を行います。

    1. 次のコマンドを使用して、アクティブな gcloud CLI 構成の auth/login_config_file プロパティをログイン構成ファイルのパスに設定します。

      gcloud config set auth/login_config_file LOGIN_CONFIG_PATH
    2. 次のコマンドを実行します。

      gcloud auth login
    3. gcloud CLI は、構成プロパティを参照してログイン構成ファイルを見つけ、認証プロセスを開始します。ブラウザベースのフローに沿って、gcloud CLI を認証し、今後のコマンドでユーザーに代わってリソースにアクセスできるように承認します。

    gcloud auth login コマンドでログイン構成ファイルの使用を停止するには、次のコマンドを使用してプロパティの設定を解除します。

    gcloud config unset auth/login_config_file

    gcloud auth login

    gcloud auth login コマンドでログイン構成ファイルを直接使用するには、次の手順を行います。

    • ログイン構成ファイルの作成時に --activate フラグを使用した場合は、次のコマンドを実行します。

      gcloud auth login
    • ログイン構成ファイルの作成時に --activate フラグを使用しなかった場合は、次のコマンドを実行します。

      Linux / macOS

      gcloud auth login \
          --login-config=LOGIN_CONFIG_PATH

      Windows(PowerShell)

      gcloud auth login `
          --login-config=LOGIN_CONFIG_PATH

      LOGIN_CONFIG_PATH は、ログイン構成ファイルのパスに置き換えます。

    gcloud auth login コマンドは、アクセス認証情報をホーム ディレクトリに保存します。認証されたプリンシパルは、アクティブな gcloud CLI 構成のアクティブなプリンシパルになります。オーバーライドされない限り、gcloud CLI はこれらの保存された認証情報を使用して Google Cloudにアクセスします。

ワークロードで gcloud CLI を使用する

自動化されたワークロードの場合、通常は次のいずれかで認証します。

  • Workload Identity 連携を使用するフェデレーション ワークロード ID

  • 権限借用を使用するサービス アカウント

連携ワークロード ID

連携ワークロード ID で gcloud CLI を使用できます。これは、Workload Identity 連携を使用して行います。

ワークロードは、Workload Identity プールで定義されたプリンシパルとして機能して Google Cloud リソースに直接アクセスするか、Workload Identity プールに接続されたサービス アカウントの権限を借用できます。

権限が過剰なサービス アカウントを回避し、連携プリンシパルの ID を使用してリソース アクセスをロギングするには、直接アクセス方式を使用することをおすすめします。Google Cloud API が Workload Identity 連携をサポートしていない場合にのみ、サービス アカウントの権限借用を使用します。

次の手順では、IdP と連携するように Workload Identity 連携プールとプロバイダがすでに設定されていることを前提としています。

  1. サポートされている ID プロバイダの手順に沿って、Workload Identity 連携の認証情報構成ファイルを作成します。

  2. 認証情報構成ファイルのパスは、環境変数、アクティブな gcloud CLI 構成のプロパティ、または gcloud auth login コマンドで定義します。

    環境変数

    CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE 環境変数を認証情報構成ファイルのパスに設定します。gcloud CLI は、コマンドを実行するたびにこのファイルを参照し、IdP から認証情報を取得します。この認証情報は、 Google Cloudのアクセス トークンと交換されます。

    認証情報構成ファイルの使用を停止するには、CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE 環境変数をクリアします。

    gcloud CLI の構成

    次のコマンドを使用して、アクティブな gcloud CLI 構成の auth/credential_file_override プロパティを認証情報構成ファイルのパスに設定します。

    gcloud config set auth/credential_file_override CONFIGURATION_PATH
    

    CONFIGURATION_PATH は、認証情報の構成ファイルのパスに置き換えます。

    gcloud コマンドで認証情報構成ファイルがデフォルトで使用されないようにするには、次のコマンドを使用してプロパティの設定を解除します。

    gcloud config unset auth/credential_file_override
    

    gcloud auth login

    --cred-file フラグを使用して、次のコマンドを実行します。

    Linux / macOS

    gcloud auth login \
        --cred-file=CONFIGURATION_PATH
    

    Windows(PowerShell)

    gcloud auth login `
        --cred-file=CONFIGURATION_PATH
    

    CONFIGURATION_PATH は、認証情報の構成ファイルのパスに置き換えます。

    gcloud auth login コマンドは、アクセス認証情報をホーム ディレクトリに保存します。認証されたプリンシパルは、アクティブな gcloud CLI 構成のアクティブなプリンシパルになります。オーバーライドされない限り、gcloud CLI はこれらの保存された認証情報を使用して Google Cloudにアクセスします。

サービス アカウント

gcloud CLI は、サービス アカウントで次の方法で使用できます。

  • Compute Engine メタデータ サーバーを公開するリソース(Compute Engine VM インスタンスや Cloud Run サービスなど)。gcloud CLI は、デフォルトでリソースに関連付けられているサービス アカウントを使用して認証を行います。

  • 別のプリンシパルを使用してサービス アカウントの権限を借用する。

  • サービス アカウント キーを使用する。

サービス アカウントの権限借用

次の手順に沿って、サービス アカウントで gcloud CLI を使用します。

  1. サービス アカウントの権限を借用するには、プロジェクトで Service Account Credentials API が有効になっていることを確認します。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。

    API の有効化

  2. サービス アカウントの権限を借用するために使用するプリンシパルを選択します。

  3. サービス アカウントの権限を借用するために必要な権限をプリンシパルに持たせるには、サービス アカウントに対するサービス アカウント トークン作成者 roles/iam.serviceAccountTokenCreator)の IAM ロールをプリンシパルに付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

    この事前定義ロールには、サービス アカウントの権限を借用するために必要な iam.serviceAccounts.getAccessToken 権限が含まれています。

    管理者は、カスタムロールや他の事前定義ロールを使用して、この権限をプリンシパルに付与することもできます。

  4. フェデレーション ユーザー IDフェデレーション ワークロード ID、別のサービス アカウントなど、選択したプリンシパルを使用して gcloud CLI の認証を行います。

  5. 権限を借用するサービス アカウントを選択します。既存のサービス アカウントを見つけるか、新しいサービス アカウントを作成します。

  6. サービス アカウントのメールアドレスをコピーします。

  7. すべてのコマンドでサービス アカウントを偽装するか、単一のコマンドでのみ偽装するかを選択します。

    すべてのコマンド

    以降のコマンドで gcloud CLI でサービス アカウントの権限借用を使用するには、環境変数を設定するか、アクティブな gcloud CLI 構成でプロパティを設定します。

    • 環境変数: CLOUDSDK_AUTH_IMPERSONATE_SERVICE_ACCOUNT 環境変数をサービス アカウントのメールアドレスに設定します。

      サービス アカウントの使用を停止するには、CLOUDSDK_AUTH_IMPERSONATE_SERVICE_ACCOUNT 環境変数をクリアします。

    • gcloud CLI の構成: 次のコマンドを使用して、アクティブな gcloud CLI 構成の auth/impersonate_service_account プロパティを設定します。

      gcloud config set auth/impersonate_service_account SERVICE_ACCOUNT_EMAIL
      

      SERVICE_ACCOUNT_EMAIL は、サービス アカウントのメールアドレスに置き換えます。

      gcloud コマンドでデフォルトでサービス アカウントの権限借用を使用しないようにするには、次のコマンドでプロパティを設定解除します。

      gcloud config unset auth/impersonate_service_account
      

    単一コマンド

    1 つのコマンドで gcloud CLI でサービス アカウントの権限借用を使用するには、gcloud CLI サービス コマンドに --impersonate-service-account フラグを追加します。

    たとえば、サービス アカウントの権限借用を使用して Compute Engine VM インスタンスを一覧表示するには、次のコマンドを実行します。

    Linux / macOS

    gcloud compute instances list \
        --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
    

    Windows(PowerShell)

    gcloud compute instances list `
        --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
    

    SERVICE_ACCOUNT_EMAIL は、サービス アカウントのメールアドレスに置き換えます。

サービス アカウント キー

Google Cloudの外部で実行されるほとんどのワークロードには、Workload Identity 連携を使用することをおすすめします。サービス アカウント キーは、Workload Identity 連携をサポートしていない分離された外部環境でワークロードが実行されている場合にのみ使用します。

Workload Identity 連携には次のメリットがあります。

  • リソースへのアクセスは Identity and Access Management(IAM)によって付与され、ワークロードは個々のプリンシパルとして扱われます。つまり、複数のユースケースに対してサービス アカウントに過剰な権限を付与する必要がなくなります。

  • どのワークロードがどのタスクを実行しているかを監査できます。アクションはサービス アカウントのメールアドレスの背後に隠されていません。

  • Workload Identity 連携は、有効期間の短いアクセス トークンを使用して、データ漏洩のリスクを軽減します。サービス アカウント キーは、手動で取り消されない限り有効期限が切れません。

以降のコマンドで gcloud CLI でサービス アカウントを使用するには、次の操作を行います。

  1. サービス アカウント キーを作成し、環境内の安全な場所にファイルとして保存します。

  2. サービス アカウント キーファイルのパスを環境変数、アクティブな gcloud CLI 構成のプロパティ、または gcloud auth login コマンドで定義します。

    • 環境変数: CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE 環境変数をサービス アカウント キーファイルのパスに設定します。

      サービス アカウント キーの使用を停止するには、CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE 環境変数をクリアします。

    • gcloud CLI 構成: 次のコマンドを使用して、アクティブな gcloud CLI 構成の auth/credential_file_override プロパティをサービス アカウント キーのパスに設定します。

      gcloud config set auth/credential_file_override KEY_PATH
      

      KEY_PATH は、サービス アカウント キーファイルのパスに置き換えます。

      gcloud コマンドでデフォルトでサービス アカウント キーを使用しないようにするには、次のコマンドでプロパティを設定解除します。

      gcloud config unset auth/credential_file_override
      
    • gcloud auth login: --cred-file フラグを使用して、次のコマンドを実行します。

      Linux / macOS

      gcloud auth login \
          --cred-file=KEY_PATH
      

      Windows(PowerShell)

      gcloud auth login `
          --cred-file=KEY_PATH
      

      KEY_PATH は、サービス アカウント キーファイルのパスに置き換えます。

      gcloud auth login コマンドは、アクセス認証情報をホーム ディレクトリに保存します。認証されたプリンシパルは、アクティブな gcloud CLI 構成のアクティブなプリンシパルになります。オーバーライドされない限り、gcloud CLI はこれらの保存された認証情報を使用して Google Cloudにアクセスします。

アクセス トークンで gcloud CLI を使用する

別のデバイスで gcloud CLI の認証をすでに済ませている場合は、次のコマンドを使用して、そのデバイスのアクティブ プリンシパルのアクセス トークンを取得できます。

gcloud auth print-access-token

このアクセス トークンを別のデバイスで使用して、 Google Cloudリソースにアクセスできます。アクセス トークンを使用すると、アクティブ プリンシパルを設定する必要がなくなり、アクティブな gcloud CLI 構成で設定されているアクティブ プリンシパルがオーバーライドされます。

ユーザー アカウントのアクセス トークンのデフォルトの有効期間は 1 時間です。

アクセス トークンは、gcloud CLI で今後のコマンドに使用することも、単一のコマンドでのみ使用することもできます。

すべてのコマンド

今後のコマンドで gcloud CLI でアクセス トークンを使用するには、環境変数を設定するか、アクティブな gcloud CLI 構成でプロパティを設定します。

  • 環境変数: CLOUDSDK_AUTH_ACCESS_TOKEN 環境変数をアクセス トークン文字列に設定します。

    アクセス トークンの使用を停止するには、CLOUDSDK_AUTH_ACCESS_TOKEN 環境変数をクリアします。

  • gcloud CLI 構成: アクセス トークンをファイルに保存し、次のコマンドを使用して、アクティブな gcloud CLI 構成の auth/access_token_file プロパティをファイルのパスに設定します。

    gcloud config set auth/access_token_file ACCESS_TOKEN_PATH
    

    ACCESS_TOKEN_PATH は、アクセス トークン ファイルのパスに置き換えます。

    gcloud コマンドでデフォルトでアクセス トークンを使用しないようにするには、次のコマンドでプロパティの設定を解除します。

    gcloud config unset auth/access_token_file
    

単一コマンド

1 つのコマンドで gcloud CLI でアクセス トークンを使用するには、gcloud CLI サービス コマンドに --access-token-file フラグを追加します。

  1. アクセス トークンをファイルに保存します。

  2. gcloud サービス コマンドで --access-token-file フラグを使用します。

    たとえば、アクセス トークンを使用して Compute Engine VM インスタンスを一覧表示するには、次のコマンドを実行します。

    Linux / macOS

    gcloud compute instances list \
        --access-token-file ACCESS_TOKEN_PATH
    

    Windows(PowerShell)

    gcloud compute instances list `
        --access-token-file ACCESS_TOKEN_PATH
    

    ACCESS_TOKEN_PATH は、アクセス トークン ファイルのパスに置き換えます。

認証情報の優先度

1 つの環境で複数の認証方法が使用される可能性があるため、gcloud CLI は特定の方法で認証方法を評価して、使用するプリンシパルを決定します。gcloud CLI は、指定された認証情報で起動し、サービス アカウントの権限借用がリクエストされているかどうかを評価します。

指定された認証情報の評価順序は次のとおりです。

  1. CLOUDSDK_AUTH_ACCESS_TOKEN 環境変数(アクセス トークン文字列に設定)。

  2. アクセス トークン ファイル。アクセス トークン ファイルパスの定義に使用されるメソッドは、次の順序で評価されます。

    1. --access-token-file コマンドライン フラグ。任意の gcloud CLI コマンドで使用されます。

    2. CLOUDSDK_AUTH_ACCESS_TOKEN_FILE 環境変数。

    3. アクティブな gcloud CLI 構成の auth/access_token_file プロパティ。

  3. 認証情報ファイル。認証情報ファイルのパスを定義するために使用されるメソッドは、次の順序で評価されます。

    1. CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE 環境変数。

    2. アクティブな gcloud CLI 構成の auth/credential_file_override プロパティ。

  4. gcloud auth login コマンドまたは core/account プロパティの設定によって設定されたアクティブ プリンシパル。

サービス アカウントの権限借用の優先度

サービス アカウントの権限借用がリクエストされた場合、gcloud CLI は、権限借用を行うプリンシパルに認証情報が提供されたに、権限借用するサービス アカウントを確認します。権限借用のサービス アカウントの定義に使用されるメソッドは、次の順序で評価されます。

  1. --impersonate-service-account コマンドライン フラグ。

  2. CLOUDSDK_AUTH_IMPERSONATE_SERVICE_ACCOUNT 環境変数。

  3. アクティブな構成の auth/impersonate_service_account プロパティで定義されたサービス アカウント。

gcloud CLI を認証ヘルパーとして Docker に追加する

Artifact Registry コンテナ レジストリから pull するには、Docker 構成に gcloud CLI を認証情報ヘルパーとして追加します。

それには、gcloud auth configure-docker コマンドを実行します。

gcloud auth configure-docker REGION-docker.pkg.dev

プリンシパルと認証情報を管理する

gcloud auth login コマンドを使用すると、同じ環境内の複数のプリンシパルを認証し、gcloud CLI がプリンシパルの代わりにリソースにアクセスすることを承認できます。ただし、一度に有効にできるプリンシパルは 1 つだけです。以降のセクションでは、gcloud CLI 構成でのプリンシパルの管理について説明します。プリンシパルのリスト表示、プリンシパルの切り替え、認証情報の取り消しなどについて説明します。

プリンシパルの一覧表示

アクセス認証情報がローカル システムに保存されているプリンシパル(つまり、gcloud auth login を使用して認証されたプリンシパル)を一覧表示するには、gcloud auth list コマンドを実行します。

gcloud auth list

gcloud CLI により、プリンシパルが一覧表示され、有効なプリンシパルが示されます。

Credentialed Accounts
ACTIVE  ACCOUNT
        alex@altostrat.com
*       bola@altostrat.com
        principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/cruz@cymbalgroup.com

アクティブなプリンシパルのオーバーライドはこのリストに含まれません。これには、次の環境変数が含まれます。

  • CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE
  • CLOUDSDK_AUTH_IMPERSONATE_SERVICE_ACCOUNT

これらの環境変数が設定されているかどうかを確認するには、オペレーティング システムに応じて次のコマンドを実行します。

Linux / macOS

echo "$ENVIRONMENT_VARIABLE"

Windows(PowerShell)

echo $env:ENVIRONMENT_VARIABLE

ENVIRONMENT_VARIABLE は、確認する環境変数に置き換えます。

アクティブ プリンシパルのオーバーライドには、次の構成プロパティも含まれます。

  • auth/credential_file_override
  • auth/impersonate_service_account

これらの構成プロパティが設定されているかどうかを確認するには、次のコマンドを実行します。

gcloud config list

アクティブ プリンシパルを切り替える

認証情報を保存しているアクティブなプリンシパル(以前に gcloud auth login フローを完了したプリンシパル)に切り替えるには、gcloud config set を実行します。

gcloud config set account PRINCIPAL_IDENTIFIER

PRINCIPAL_IDENTIFIER は、プリンシパルの完全な ID に置き換えます。

プリンシパルは次の方法で切り替えることもできます。

  • 異なるアクティブ プリンシパルを指定する別の構成を作成し、その構成を有効にします

  • --account コマンドライン フラグを使用して、単一のコマンドのプリンシパルを指定します。

  • コマンドライン フラグ、環境変数、構成プロパティなどのオーバーライドを使用します。

セッションの長さを設定する

管理者は、各ユーザーが再認証を行わずに gcloud CLI にアクセスできる時間を管理できます。たとえば、高度な権限を持つユーザーに、通常のユーザーよりも頻繁に再認証を行わせることができます。

詳細については、 Google Cloud サービスのセッション継続時間を設定するをご覧ください。

プリンシパルの認証情報を取り消す

gcloud auth login で認証されたプリンシパルの認証情報を取り消して、gcloud CLI がプリンシパルの代わりに行動できないようにすることができます。取り消しを行うと、Google の認可サーバーで認証情報が無効になり、プリンシパルがアクティブな gcloud CLI 構成から削除されます。

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

gcloud auth revoke PRINCIPAL_IDENTIFIER

PRINCIPAL_IDENTIFIER は、プリンシパルの完全な ID に置き換えます。

Google アカウントに関連付けられているすべてのデバイスで gcloud CLI のアクセス権を取り消すには、Google アカウントの設定の [サードパーティ製のアプリやサービス] に移動し、Google Cloud SDK とのすべての接続を削除します。

保存された認証情報を管理する

gcloud CLI は、使用する認証情報ファイルを gcloud CLI 構成ディレクトリに保存します。認証情報ファイルの場所を確認するには、gcloud info を実行します。

gcloud info

gcloud CLI により、インストールに関する情報が表示されます。認証情報ファイルは、出力で定義されているユーザー構成ディレクトリに保存されます。

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

Linux と macOS の場合、gcloud CLI 構成ディレクトリは通常 /home/USERNAME/.config/gcloud です。Windows の場合は %APPDATA%\gcloud です。

次のステップ