このページでは、Trusted Cloud コンソール、Google Cloud CLI、Identity and Access Management API、Google Cloud クライアント ライブラリのいずれかを使用して、サービス アカウント キーを一覧表示して取得する方法について説明します。
始める前に
Enable the IAM API.
認証を設定する。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
Google Cloud CLI をインストールし、フェデレーション ID を使用して gcloud CLI にログインします。 ログイン後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init
C#
ローカル開発環境でこのページの .NET サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールし、フェデレーション ID を使用して gcloud CLI にログインします。
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については、 Trusted Cloud 認証ドキュメントのローカル開発環境の ADC の設定をご覧ください。
C++
ローカル開発環境でこのページの C++ サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールし、フェデレーション ID を使用して gcloud CLI にログインします。
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については、 Trusted Cloud 認証ドキュメントのローカル開発環境の ADC の設定をご覧ください。
Go
ローカル開発環境でこのページの Go サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールし、フェデレーション ID を使用して gcloud CLI にログインします。
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については、 Trusted Cloud 認証ドキュメントのローカル開発環境の ADC の設定をご覧ください。
Java
ローカル開発環境でこのページの Java サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールし、フェデレーション ID を使用して gcloud CLI にログインします。
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については、 Trusted Cloud 認証ドキュメントのローカル開発環境の ADC の設定をご覧ください。
Python
ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールし、フェデレーション ID を使用して gcloud CLI にログインします。
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については、 Trusted Cloud 認証ドキュメントのローカル開発環境の ADC の設定をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールし、フェデレーション ID を使用して gcloud CLI にログインします。
詳細については、 Trusted Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
サービス アカウント認証情報について理解する。
必要なロール
サービス アカウント キーの一覧表示と取得に必要な権限を取得するには、鍵を管理するプロジェクトまたはサービス アカウントに対するサービス アカウントの表示(
roles/iam.serviceAccountViewer
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
詳しくは、サービス アカウントのロールをご覧ください。
IAM の基本ロールには、サービス アカウント キーを管理するための権限も含まれています。本番環境では基本ロールを付与すべきではありません。基本ロールは、開発環境またはテスト環境で付与してください。
サービス アカウント キーを一覧表示する
Trusted Cloud コンソール、gcloud CLI、
serviceAccount.keys.list()
メソッド、いずれかのクライアント ライブラリを使用して、サービス アカウントのサービス アカウント キーを一覧表示できます。serviceAccount.keys.list()
メソッドは、サービス アカウントと鍵の監査や、サービス アカウント管理用のカスタムツールの作成に広く使用されています。鍵の所属先プロジェクトを確認するには、鍵を JSON ファイルとしてダウンロードし、そのファイルの内容を確認します。
作成していない鍵が一覧表示されることがあります。これらは Google が作成したキーであり、Service Account Credentials API で使用されます。詳細については、Google Cloud-powered key ペアをご覧ください。
コンソール
- Trusted Cloud コンソールで、[サービス アカウント] ページに移動します。
- プロジェクトを選択します。
- [サービス アカウント] ページで、キーを一覧表示するサービス アカウントのメールアドレスをクリックします。
- [鍵] をクリックします。 Trusted Cloud コンソールに、サービス アカウント キーのリストが表示されます。
gcloud
gcloud iam service-accounts keys list
コマンドを実行して、サービス アカウント キーの一覧を取得します。次の値を置き換えます。
SA_NAME
: 鍵を一覧表示するサービス アカウントの名前。PROJECT_ID
: 実際の Trusted Cloud プロジェクト ID。
gcloud iam service-accounts keys list \ --iam-account=SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
出力:
KEY_ID CREATED_AT EXPIRES_AT DISABLED DISABLE_REASON EXTENDED_STATUS 8e6e3936d7024646f8ceb39792006c07f4a9760c 2021-01-01T21:01:42Z 9999-12-31T23:59:59Z 937c98f870f5c8db970af527aa3c12fd88b1c20a 2021-01-01T20:55:40Z 9999-12-31T23:59:59Z True USER INITIATED 937c98f870f5c8db970af527aa3c12fd88b1c20a 2021-01-01T20:55:40Z 9999-12-31T23:59:59Z True EXPOSED ['key':'SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED' 'value':'{exposure URL}'] C++
IAM のクライアント ライブラリをインストールして使用する方法については、IAM クライアント ライブラリをご覧ください。詳細については、IAM C++ API のリファレンス ドキュメントをご覧ください。
IAM で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、始める前にをご覧ください。
コードサンプルを実行する前に、
GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数をs3nsapis.fr
に設定します。C#
IAM のクライアント ライブラリをインストールして使用する方法については、IAM クライアント ライブラリをご覧ください。詳細については、IAM C# API のリファレンス ドキュメントをご覧ください。
IAM で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、始める前にをご覧ください。
コードサンプルを実行する前に、
GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数をs3nsapis.fr
に設定します。Go
IAM のクライアント ライブラリをインストールして使用する方法については、IAM クライアント ライブラリをご覧ください。詳細については、IAM Go API のリファレンス ドキュメントをご覧ください。
IAM で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、始める前にをご覧ください。
コードサンプルを実行する前に、
GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数をs3nsapis.fr
に設定します。Java
IAM のクライアント ライブラリをインストールして使用する方法については、IAM クライアント ライブラリをご覧ください。詳細については、IAM Java API のリファレンス ドキュメントをご覧ください。
IAM で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、始める前にをご覧ください。
コードサンプルを実行する前に、
GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数をs3nsapis.fr
に設定します。Python
IAM のクライアント ライブラリをインストールして使用する方法については、IAM クライアント ライブラリをご覧ください。詳細については、IAM Python API のリファレンス ドキュメントをご覧ください。
IAM で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、始める前にをご覧ください。
コードサンプルを実行する前に、
GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数をs3nsapis.fr
に設定します。REST
projects.serviceAccounts.keys.list
メソッドは、サービス アカウントのすべてのサービス アカウント キーを一覧表示します。リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: 実際の Trusted Cloud プロジェクト ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。SA_NAME
: キーを一覧表示するサービス アカウントの名前。KEY_TYPES
: 省略可。レスポンスに含めるキータイプのカンマ区切りのリスト。キータイプは、キーがユーザー管理(USER_MANAGED
)かシステム管理(SYSTEM_MANAGED
)かを示します。空白のままにすると、すべてのキーが返されます。
HTTP メソッドと URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "keys": [ { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.iam.gserviceaccount.com/keys/90c48f61c65cd56224a12ab18e6ee9ca9c3aee7c", "validAfterTime": "2020-03-04T17:39:47Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.iam.gserviceaccount.com/keys/e5e3800831ac1adc8a5849da7d827b4724b1fce8", "validAfterTime": "2020-03-31T23:50:09Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.iam.gserviceaccount.com/keys/b97699f042b8eee6a846f4f96259fbcd13e2682e", "validAfterTime": "2020-05-17T18:58:13Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED", "disabled": true "disable_reason": "SERVICE_ACCOUNT_KEY_DISABLE_REASON_EXPOSED" "extended_status": "SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED" "extended_status_message": "exposed at: https://www.github.com/SomePublicRepo" } ] }
サービス アカウント キーを取得する
gcloud CLI または REST API を使用して、サービス アカウント キーの公開鍵データを取得できます。さらに、 Trusted Cloud コンソール、gcloud CLI、または REST API を使用して、鍵のメタデータ(鍵が使用しているアルゴリズムや、鍵がユーザー管理か Google 管理かなど)を取得できます。
一部のアプリケーションやツールでは、監査や外部システムとの相互運用性などのために、サービス アカウント キーの公開鍵データまたはメタデータへのアクセスが必要になる場合があります。たとえば、Terraform では、 Trusted Cloud by S3NSのサービス アカウント キーの状態が Terraform 構成ファイルで定義されているものと一致する必要がある場合があります。
コンソール
サービス アカウント キーの公開鍵データを取得するには:
代わりに gcloud CLI または REST API を使用してください。このデータはTrusted Cloud コンソールでは使用できません。
サービス アカウント キーのメタデータを取得するには:
- Trusted Cloud コンソールで、[サービス アカウント] ページに移動します。
- プロジェクトを選択します。
- [サービス アカウント] ページで、キーを一覧表示するサービス アカウントのメールアドレスをクリックします。
- [鍵] をクリックします。 Trusted Cloud コンソールに、サービス アカウント キーのリストと各キーのメタデータが表示されます。
gcloud
サービス アカウント キーの公開鍵データを取得するには:
gcloud beta iam service-accounts keys get-public-key
コマンドを実行します。gcloud beta iam service-accounts keys get-public-key KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com \ --output-file=FILENAME
次の値を指定します。
KEY_ID
: 取得する公開鍵の ID。鍵の ID を確認するには、サービス アカウントのすべての鍵を一覧表示し、取得する鍵を特定してその ID をコピーします。SA_NAME
: 公開鍵を取得するサービス アカウントの名前。PROJECT_ID
: 実際の Trusted Cloud プロジェクト ID。FILENAME
: 公開鍵データを保存するファイル。
デフォルトでは、公開鍵データは X.509 PEM 形式で保存されます。未加工の公開鍵を取得するには、追加のフラグ
--type=raw
を指定してコマンドを実行します。たとえば、次のコマンドは、サービス アカウント
my-service-account@my-project.s3ns-system.iam.gserviceaccount.com
に属しているキーc97cc34494c07c9b483701f28368f20145b9ef97
の公開鍵データを取得して、公開鍵データをファイルpublic_key.pem
に保存します。gcloud beta iam service-accounts keys get-public-key \ c97cc34494c07c9b483701f28368f20145b9ef97 \ --iam-account=my-service-account@my-project.s3ns-system.iam.gserviceaccount.com \ --output-file=public_key.pem
サービス アカウント キーのメタデータを取得するには:
gcloud iam service-accounts keys list
コマンドを実行します。gcloud iam service-accounts keys list --iam-account=SA_NAME \ --filter="name~KEY_ID" --format=json
次の値を指定します。
SA_NAME
: 鍵のメタデータが必要なサービス アカウントの名前。KEY_ID
: メタデータを取得する鍵の ID。
たとえば、次のコマンドは、サービス アカウント
my-service-account@my-project.s3ns-system.iam.gserviceaccount.com
に属する鍵c97cc34494c07c9b483701f28368f20145b9ef97
のメタデータを取得します。gcloud iam service-accounts keys list \ --iam-account=my-service-account@my-project.s3ns-system.iam.gserviceaccount.com \ --filter="name~c97cc34494c07c9b483701f28368f20145b9ef97" --format=json
REST
projects.serviceAccounts.keys.get
メソッドは、サービス アカウントの公開鍵に関する情報を返します。リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: 実際の Trusted Cloud プロジェクト ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。SA_NAME
: 公開鍵を取得するサービス アカウントの名前。-
KEY_ID
: 取得する公開鍵の ID。鍵の ID を確認するには、サービス アカウントのすべての鍵を一覧表示して、取得する鍵を特定し、name
の最後からその ID をコピーします。keys/
より後のすべての部分が鍵の一意の ID になります。 KEY_TYPE
: 公開鍵を返す形式。X.509 PEM 形式の場合はTYPE_X509_PEM_FILE
を使用し、未加工の公開鍵の場合はTYPE_RAW_PUBLIC_KEY
を使用します。このクエリ パラメータを省略すると、メソッドは鍵のメタデータを返しますが、公開鍵データは返しません。
HTTP メソッドと URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com/keys/KEY_ID?publicKeyType=KEY_TYPE
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.iam.gserviceaccount.com/keys/f4a83933ac07cf52bb74e0e66d99662a09f51a36", "validAfterTime": "2021-12-10T17:32:06Z", "validBeforeTime": "9999-12-31T23:59:59Z", "publicKeyData": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvRENDQWVTZ0F3SUJBZ0lJT2lCdm9hR09nV0F3RFFZSktvWklodmNOQVFFRkJRQXdJREVlTUJ3R0ExVUUKQXhNVk1UQXhNVGsxTlRFMk5UWXlPRGszTmpFek1qQXpNQ0FYRFRJeE1USXhNREUzTXpJd05sb1lEems1T1RreApNak14TWpNMU9UVTVXakFnTVI0d0hBWURWUVFERXhVeE1ERXhPVFUxTVRZMU5qSTRPVGMyTVRNeU1ETXdnZ0VpCk1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQzdzeDBFcXVUMGNwSXhlczl1SW0yRy9DS3EKdnc4YTl2a2JkaWZZbDZHSDh1ZUxEWDhGNHVUeEVQMkNzU3JLTHZtOFo2My9IVUxnWjBtQXByb0JlM08vaVR1ZwpmYVZ0NVNtakhvWm9YQ1lpbjR0MS93SkpvdDhrRFdPeDZhOEdieUdqZ215ak8yYk1XdEtaQ2dqeGZ3cUV0MmN3CklnajA5VzJKYTlHTWRsdVA0VGVubTRKSkJoaFpFbTJ1bVAwYVZZdkRnUWF5d0RCYnJuNG8yY0EzSWplRDZGM1gKK0VHRDNKU0s4VW02Sk5sM21adGp6VWNZSHBrYkF0U1A2ZDI5d1RmZkdIRFY0THJRWlM3bG15d3hsb3p5WnpaawpCOFpHckMzSkF1MVNVRTdQOTN6bWtFb1B6MlRUNWhaYXZMWFQ5TGM2SExiRklRVHFnVEJVWHlNMkpIcGZBZ01CCkFBR2pPREEyTUF3R0ExVWRFd0VCL3dRQ01BQXdEZ1lEVlIwUEFRSC9CQVFEQWdlQU1CWUdBMVVkSlFFQi93UU0KTUFvR0NDc0dBUVVGQndNQ01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQkhPNXlpUDY3NkE4UEN2RjdRSzdFMApYZVljbzdsSStFZkowaGJrWVlmdUtnSENPcXcvd3FBbCtOSithanljT2FPWDFPMlRZN3ZOc05pR2t3eWc2QXdqCklhL1NHVjd3NkxpS2JldFRuSVp4UlhRY25lcnVvZEwycUR5eWphMDJJSXJVTmVKY1o0MVJBNXRTL3NkcTFGNm4KM0NjSXFoZTI1OTA4TUNna3cwaFB1K0VLbFF6R1B5T3pVRHBLdXg0cnRBaHJTYTBUVW1wbEMxdTJnUk1YRkF6aApWUjU0V2dNa2tabURyalBNeWdBS3JmNkd0bHo2VHRTYTVLb1BWdGpsWExUQkxaSnlhdk4zc1F2dFlBK1NFQWpWCnA1N1ZabFBYZmR0dWN4ekJaOC9zS25SOHNyYU5hVWFjamg1NEE1Nm1URTE3b0IyUWkrTHBJUTYvNnVqVnNXaUYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }
次のステップ
- サービス アカウント キーの作成と管理の方法を学習する。
- サービス アカウント キーを無効または有効にする方法を学習する。
- サービス アカウント キーによる認証の代替手段を確認する。
- サービス アカウント キーを使用してサービス アカウントとして認証する方法を確認する。
- サービス アカウント キーの管理に関するベスト プラクティスを理解する。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-14 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-08-14 UTC。"],[[["This page guides you through listing and retrieving service account keys using the Google Cloud console, Google Cloud CLI, IAM API, or Google Cloud Client Libraries."],["For workloads outside Google Cloud, Workload Identity Federation is recommended over service account keys due to its use of short-lived tokens and reduced security maintenance."],["To list or get service account keys, you must first enable the IAM API and properly set up authentication, particularly if you're using a local development environment or an external identity provider."],["You can list keys to audit service accounts and understand which project they belong to, and keys that you did not create may have been created by Google for the Service Account Credentials API."],["While metadata about service account keys can be retrieved, private key data is only available during key creation and public keys can be attained through the gcloud CLI or the REST API."]]],[]]