サービス アカウント キーの管理

このページでは、Google Cloud Identity and Access Management API、Google Cloud Platform Console、gcloud ツールなどを使用して、サービス アカウント キーを作成および管理する方法を説明します。

このガイドの前提条件

サービス アカウント キーの作成

Google Cloud Platform の外(他のプラットフォームまたはオンプレミス)でサービス アカウントを使用するには、サービス アカウントの ID を確立する必要があります。それには、公開鍵 / 秘密鍵のペアを使用します。

サービス アカウント キーを作成するには、serviceAccounts.keys.create() メソッド、Cloud Platform Console、gcloud ツールを使用します。

サービス アカウント キーを作成すると、新しい公開鍵 / 秘密鍵のペアが生成され、マシンにダウンロードされます。これはアカウントキーのコピーとして使用します。このキーは、お客様の責任で安全に保管する必要があります。公開鍵は Google が保管しており、秘密鍵によって署名されたオブジェクトの検証用に公開されます。

サービス アカウントのメールアドレスをメモし、サービス アカウントの秘密鍵ファイルをアプリケーションからアクセス可能な場所に保管してください。これらは、アプリケーションが認証 API 呼び出しを実行する際に必要となります。

API


リクエスト:

POST https://iam.googleapis.com/v1/{projects/my-project-123/serviceAccounts/my-sa-123@my-project-123.iam.gserviceaccount.com/keys


レスポンス:

{
  "name":"projects/my-project-123/serviceAccounts/my-sa-123@my-project-123.iam.gserviceaccount.com/keys/90c48f61c65cd56224a12ab18e6ee9ca9c3aee7c",
  "privateKeyType": "GOOGLE_AUTH_FILE",
  "privateKeyData":"MIIJqAIB . . .",
  "validAfterTime": "2016-01-25T18:38:09.000Z"
}

コンソール


  1. Cloud Platform Console で [IAM と管理] ページを開きます。

    [IAM と管理] ページを開く

  2. プロジェクトを選択し、[続行] をクリックします。
  3. 左側のナビゲーション メニューで [サービス アカウント] をクリックします。
  4. キーを作成するサービス アカウントを見つけ、その行の縦に円が並んだボタンをクリックして、[キーを作成] をクリックします。
  5. [キーのタイプ] を選択して、[作成] をクリックします。

gcloud

サービス アカウント キーを作成するには、以下のコマンドを実行します。
gcloud iam service-accounts keys create \
    ~/key.json \
    --iam-account my-sa-123@my-project-123.iam.gserviceaccount.com
このコマンドの出力は次のようになります。
created key [e44da1202f82f8f4bdd9d92bc412d1d8a837fa83] of type [json] as
[/usr/local/google/home/alice/key.json] for
[my-sa-123@my-project-123.iam.gserviceaccount.com]

サービス アカウント キーの一覧表示

サービス アカウントのサービス アカウント キーを一覧表示するには、serviceAccount.keys.list() メソッド、Cloud Platform Console、および gcloud ツールを使用します。

serviceAccount.keys.list() メソッドは、サービス アカウントとキーの監査、またはサービス アカウントを管理するためのカスタムツールの作成に広く使用されています。

キーの所属先プロジェクトを確認するには、キーを JSON ファイルとしてダウンロードし、そのファイルの内容を確認します。

API


リクエスト:

POST https://iam.googleapis.com/v1/projects/my-project-123/serviceAccounts/my-sa-123@my-project-123.iam.gserviceaccount.com/keys


レスポンス:

{
  "keys": [
   {
     "name": "projects/my-project-123/serviceAccounts/my-sa-123@my-project-123.iam.gserviceaccount.com/keys/90c48f61c65cd56224a12ab18e6ee9ca9c3aee7c",
     "validAfterTime": "2016-01-25T18:38:09.000Z",
     "validBeforeTime": "2026-01-22T18:38:09.000Z"
   },
   {
     "name": "projects/my-project-123/serviceAccounts/my-sa-123@my-project-123.iam.gserviceaccount.com/keys/e5e3800831ac1adc8a5849da7d827b4724b1fce8",
     "validAfterTime": "2016-01-25T13:43:27.000Z",
     "validBeforeTime": "2016-01-26T13:43:27.000Z"
   },
   {
     "name": "projects/my-project-123/serviceAccounts/my-sa-123@my-project-123.iam.gserviceaccount.com/keys/b97699f042b8eee6a846f4f96259fbcd13e2682e",
     "validAfterTime": "2016-01-26T13:28:27.000Z",
     "validBeforeTime": "2016-01-27T13:28:27.000Z"
   }
  ]
}

コンソール


  1. Cloud Platform Console で [IAM と管理] ページを開きます。

    [IAM と管理] ページを開く

  2. プロジェクトを選択し、[続行] をクリックします。
  3. 左側のナビゲーション メニューで [サービス アカウント] をクリックします。すべてのサービス アカウントと対応するキーが一覧表示されます。

gcloud


サービス アカウント キーの一覧を表示するには、以下のコマンドを実行します。
gcloud iam service-accounts keys list \
    --iam-account my-sa-123@my-project-123.iam.gserviceaccount.com

このコマンドの出力は次のようになります。
KEY_ID CREATED_AT EXPIRES_AT
8e6e3936d7024646f8ceb39792006c07f4a9760c 2016-01-26T21:01:42.000Z 2026-01-23T21:01:42.000Z
937c98f870f5c8db970af527aa3c12fd88b1c20a 2016-01-26T20:55:40.000Z 2026-01-23T20:55:40.000Z

サービス アカウント キーの削除

サービス アカウント キーを削除するには、serviceAccount.keys.delete() メソッド、Cloud Platform Console、gcloud ツールを使用します。

サービス アカウント キーを削除すると、アプリケーションは、そのキーを使用して Cloud Platform リソースにアクセスできなくなります。セキュリティの観点から推奨されるベスト プラクティスは、サービス アカウント キーを定期的にローテーションする方法です。キーをローテーションするには、新しいキーを作成し、新しいキーを使用するようにアプリケーションを切り替えてから、古いキーを削除します。serviceAccount.keys.create() メソッドと serviceAccount.keys.delete() メソッドを組み合わせて使用すると、ローテーションを自動化できます。

API


リクエスト:

DELETE https://iam.googleapis.com/v1/{name=projects/my-project-123/serviceAccounts/my-sa-123@my-project-123.iam.gserviceaccount.com/keys/e5e3800831ac1adc8a5849da7d827b4724b1fce8

コンソール


  1. Cloud Platform Console で [IAM と管理] ページを開きます。

    [IAM と管理] ページを開く

  2. プロジェクトを選択し、[続行] をクリックします。
  3. 左側のナビゲーション メニューで [サービス アカウント] をクリックします。すべてのサービス アカウントと対応するキーが一覧表示されます。
  4. マウスポインタを削除するサービス アカウント キーの上に移動します。削除アイコンをクリックしてキーを削除します。

gcloud


サービス アカウント キーを削除するには、次のコマンドを実行します。
gcloud iam service-accounts keys delete \
    8e6e3936d7024646f8ceb39792006c07f4a9760c \
    --iam-account my-sa-123@my-project-123.iam.gserviceaccount.com

このコマンドの出力は次のようになります。
deleted key [8e6e3936d7024646f8ceb39792006c07f4a9760c] for service account [my-sa-123@my-project-123.iam.gserviceaccount.com]
このページは役立ちましたか?評価をお願いいたします。

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

Cloud Identity and Access Management のドキュメント