API キーを使用して認証する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このページでは、API キーを使用して Google Cloud APIs とサービスの認証を行う方法について説明します。

API キーを使用して Google Maps Platform の認証を行う方法については、Google Maps Platform のドキュメントをご覧ください。

API Keys API の詳細については、API キー API のドキュメントをご覧ください。

API キーの概要

API キーには次のコンポーネントがあり、キーの管理と使用に使用します。

文字列
API キー文字列は暗号化された文字列です(例: AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe)。API キーを使用して認証する場合は、常にキーの文字列を使用します。API キーには、関連付けられた JSON ファイルがありません。
ID
API キー ID は、Google Cloud 管理ツールでキーを一意に識別するために使用されます。キー ID を使用して認証することはできません。キー ID は、Google Cloud コンソールのキーの編集ページの URL か、Google Cloud CLI を使用してプロジェクト内のキーを一覧表示します。
表示名
表示名は、キーを作成または更新するときに設定できるオプションのわかりやすい名前です。

API キーを使用して API を認証する場合、API キーはプリンシパルを識別しません。また、認可情報も提供しません。API キーは、課金と割り当てのために、リクエストを Google Cloud プロジェクトに関連付けます。API キーは呼び出し元を特定しないため、通常、一般公開のデータやリソースにアクセスする際に使用されます。

多くの Google Cloud APIs では、認証に API キーを使用できません。使用するサービスまたは API の認証ドキュメントで、API キーに対応しているかどうかを確認してください。

API キーを管理するには、そのプロジェクトで API キー管理者のロール(roles/serviceusage.apiKeysAdmin)が必要です。

API キーを作成する

API キーを作成するには、次のいずれかのオプションを使用します。

コンソール

  1. Google Cloud コンソールで、[認証情報] ページに移動します。

    [認証情報] に移動

  2. [認証情報の作成] を選択し、プルダウン メニューから [API キー] を選択します。

    [API キーを作成しました] ダイアログ ボックスに、新しく作成されたキーの文字列が表示されます。

gcloud

API キーを作成するには、gcloud alpha services api-keys create コマンドを使用します。

DISPLAY_NAME は、わかりやすいキー名に置き換えます。

gcloud alpha services api-keys create --display-name=DISPLAY_NAME

REST

API キーを作成するには、keys.create メソッドを使用します。このリクエストは、長時間実行オペレーションを返します。新しいキーの情報を取得するには、オペレーションをポーリングする必要があります。

次の値を置き換えます。

  • DISPLAY_NAME: 省略可。キーのわかりやすい名前。
  • PROJECT_ID: Google Cloud プロジェクト ID または名前。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d {'"displayName" : "DISPLAY_NAME"'} \
"https://apikeys.googleapis.com/v2/projects/PROJECT/locations/global/keys"

REST API を使用した API キーの作成の詳細については、API キー API ドキュメントの API キーの作成をご覧ください。

キーをコピーして、安全な場所に保管してください。後で削除する予定のテストキーを使用している場合を除き、アプリケーションと API キーの制限を追加してください。

API キーを使用する

REST リクエストと、それをサポートするクライアント ライブラリで、API キーを使用できます。

REST で API キーを使用する

API キーは、次の形式のクエリ パラメータとして REST API 呼び出しに渡すことができます。API_KEY は、API キーのキー文字列に置き換えます。

たとえば、documents.analyzeEntities に対する Cloud Natural Language API リクエストの API キーを渡すには、次のようにします。

POST https://language.googleapis.com/v1/documents:analyzeEntities?key=API_KEY

または、x-goog-api-key ヘッダーを使用してキーを渡すこともできます。このヘッダーは gRPC リクエストとともに使用する必要があります。

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-goog-api-key: API_KEY" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://translation.googleapis.com/language/translate/v2"

クライアント ライブラリで API キーを使用する

サービスの API が API キーをサポートしている場合、そのサービスのクライアント ライブラリは通常、API キーをサポートしています。クライアント ライブラリのドキュメントを参照して、クライアント作成メソッドが API キーを受け入れるかどうかを確認してください。

API キーを保護する

アプリケーションで API キーを使用する場合は、保存時と転送時の両方でキーの安全確保に努めてください。API キーが公開されると、アカウントに対して予想外の料金が課される可能性があります。API キーの安全性を保つには、以下のベスト プラクティスに従ってください。

  • キーに API キー制限を追加します。

    制限を追加することで、API キーの使用方法を制限し、API キーが不正使用された場合の影響を軽減できます。

  • 不要な API キーを削除して、攻撃を受けるリスクを最小限に抑えます。

  • API キーを定期的に再作成します。

    新しい API キーを定期的に作成し、古いキーを削除して、新しい API キーを使用するようにアプリケーションを更新する必要があります。

API キーの制限を適用する

API キーは、デフォルトでは制限されません。制限されていないキーは、誰でもどこからでも使用できるため安全ではありません。本番環境アプリケーションの場合は、アプリケーションの制限API の制限の両方を設定する必要があります。

アプリケーションの制限を追加する

アプリケーションの制限では、API キーの使用を許可するウェブサイト、IP アドレス、またはアプリを指定します。

一度に適用できるアプリケーションの制限は 1 種類のみです。アプリケーションのニーズに合わせて、制限のタイプを選択します。

オプション アプリケーションの種類 メモ
HTTP リファラー ウェブ アプリケーション このキーを使用できるウェブサイトを指定します。
IP アドレス 特定のサーバーによって呼び出されるアプリケーション キーを使用できるサーバーまたは cron ジョブを指定します。
Android アプリ Android アプリ キーを使用できる Android アプリを指定します。
iOS アプリ iOS アプリ キーを使用できる iOS バンドルを指定します。

HTTP リファラー

API キーを使用できるウェブサイトを制限するには、HTTP リファラーの制限を 1 つ以上追加します。

サブドメインまたはパスにはワイルドカード文字(*)を使用できますが、URL の途中でワイルドカード文字を挿入することはできません。たとえば、*.google.com は有効で、.google.com で終わるすべてのサイトを受け入れます。しかし、mysubdomain*.google.com は有効な制限ではありません。

HTTP リファラーの制限にはポート番号を含めることができます。ポート番号を含めると、そのポートを使用するリクエストのみが照合されます。ポート番号を指定しない場合、任意のポート番号からのリクエストが照合されます。

API キーには、最大 1,200 件の HTTP リファラーを追加できます。

次の表に、シナリオとブラウザの制限の例を示します。

シナリオ 制限事項
特定の URL を許可する 正確なパスの URL を追加してください。例:
www.example.com/path
www.example.com/path/path
サイトの任意の URL を許可する allowedReferers リストに 2 つの URL を設定する必要があります。
  1. サブドメインを付けないドメインの URL、およびパスのワイルドカードを含む URL。例:
    example.com/*
  2. サブドメインのワイルドカードとパスのワイルドカードを含む 2 つ目の URL。例:
    *.example.com/*
1 つのサブドメインまたはネイキッド ドメイン内の任意の URL を許可する

ドメイン全体を許可するには、「allowedReferers」リストに 2 つの URL を設定する必要があります。

  1. 末尾にスラッシュを付けないドメインの URL。例:
    www.example.com
    sub.example.com
    example.com
  2. パスにワイルドカードを含めた、ドメインの 2 つ目の URL。例:
    www.example.com/*
    sub.example.com/*
    example.com/*

API キーを特定のウェブサイトに制限するには、次のいずれかのオプションを使用します。

コンソール

  1. Google Cloud コンソールで、[認証情報] ページに移動します。

    [認証情報] に移動

  2. 制限する API キーの名前をクリックします。

  3. [アプリケーションの制限] で [HTTP リファラー] を選択します。

  4. 追加する制限ごとに、[項目を追加] をクリックし、制限を入力して、[完了] をクリックします。

  5. [保存] をクリックして変更を保存し、API キーリストに戻ります。

gcloud

  1. 制限するキーの ID を取得します。

    ID は表示名やキー文字列とは異なります。ID を取得するには、gcloud services api-keys list コマンドを使用して、プロジェクト内のキーを一覧表示します。

  2. API キーに HTTP リファラーの制限を追加するには、gcloud alpha services api-keys update コマンドを使用します。

    次の値を置き換えます。

    • KEY_ID: 制限するキーの ID。
    • ALLOWED_REFERRER_1: HTTP リファラーの制限。

      必要に応じて制限を追加できます。制限はカンマで区切ります。更新コマンドでは、すべてのリファラーの制限を指定する必要があります。指定したリファラー制限により、キー上の任意の既存のリファラー制限が置き換えられます。

    gcloud alpha services api-keys update KEY_ID \
     --allowed-referrers="ALLOWED_REFERRER_1"
    

REST

  1. 制限するキーの ID を取得します。

    ID は表示名やキー文字列とは異なります。ID を取得するには、keys.list メソッドを使用します。ID はレスポンスの uid フィールドに示されます。

    PROJECT_ID は、Google Cloud プロジェクト ID または名前に置き換えます。

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. API キーに HTTP リファラーの制限を追加するには、keys.patch メソッドを使用します。

    このリクエストは、長時間実行オペレーションを返します。オペレーションをポーリングして、オペレーションが完了したタイミングを把握し、オペレーションのステータスを取得する必要があります。

    次の値を置き換えます。

    • ALLOWED_REFERRER_1: HTTP リファラーの制限。

      必要に応じて制限を追加できます。制限はカンマで区切ります。すべてのリファラー制限にリクエストを指定する必要があります。指定したリファラー制限により、キー上の任意の既存のリファラー制限が置き換えられます。

    • PROJECT_ID: Google Cloud プロジェクト ID または名前。

    • KEY_ID: 制限するキーの ID。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "browserKeyRestrictions": {
      "allowedReferrers": ["ALLOWED_REFERRER_1"]
    }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

REST API を使用してキーに HTTP リファラー制限を追加する方法については、API キー API ドキュメントのブラウザ制限の追加をご覧ください。

IP アドレス

API キーの使用を許可する呼び出し元(ウェブサーバーや cron ジョブなど)の IP アドレスを 1 つ以上指定できます。IP アドレスは、次のいずれかの形式で指定できます。

  • IPv4(198.51.100.1
  • IPv6(2001:db8::1
  • CIDR 表記を使用したサブネット(198.51.100.0/242001:db8::/64

localhost の使用は、サーバーの制限ではサポートされていません。外部 IP アドレスを指定する必要があります。

API キーを特定の IP アドレスに制限するには、次のいずれかのオプションを使用します。

コンソール

  1. Google Cloud コンソールで、[認証情報] ページに移動します。

    [認証情報] に移動

  2. 制限する API キーの名前をクリックします。

  3. [アプリケーションの制限] で [IP アドレス] を選択します。

  4. 追加する IP アドレスごとに [項目を追加] をクリックし、アドレスを入力して [完了] をクリックします。

  5. [保存] をクリックして変更を保存し、API キーリストに戻ります。

gcloud

  1. 制限するキーの ID を取得します。

    ID は表示名やキー文字列とは異なります。ID を取得するには、gcloud services api-keys list コマンドを使用して、プロジェクト内のキーを一覧表示します。

  2. gcloud alpha services api-keys update コマンドを使用して、サーバー(IP アドレス)の制限を API キーに追加します。

    次の値を置き換えます。

    • KEY_ID: 制限するキーの ID。
    • ALLOWED_IP_ADDR_1: 許可する IP アドレス。

      IP アドレスは必要な数だけ追加できます。複数のアドレスを入力する場合は、カンマで区切ります。

    gcloud alpha services api-keys update KEY_ID \
    --allowed-ips="ALLOWED_IP_ADDR_1"
    

REST

  1. 制限するキーの ID を取得します。

    ID は表示名やキー文字列とは異なります。ID を取得するには、keys.list メソッドを使用します。ID はレスポンスの uid フィールドに示されます。

    PROJECT_ID は、Google Cloud プロジェクト ID または名前に置き換えます。

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. keys.patch メソッドを使用して、サーバー(IP アドレス)の制限を API キーに追加します。

    このリクエストは、長時間実行オペレーションを返します。オペレーションをポーリングして、オペレーションが完了したタイミングを把握し、オペレーションのステータスを取得する必要があります。

    次の値を置き換えます。

    • ALLOWED_IP_ADDR_1: 許可する IP アドレス。

      IP アドレスは必要な数だけ追加できます。制限はカンマで区切ります。すべての IP アドレスにリクエストを指定する必要があります。指定したリファラー制限により、キー上の任意の既存の IP アドレス制限が置き換えられます。

    • PROJECT_ID: Google Cloud プロジェクト ID または名前。

    • KEY_ID: 制限するキーの ID。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
      "serverKeyRestrictions": {
        "allowedIps": ["ALLOWED_IP_ADDR_1"]
      }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

REST API を使用して鍵に IP アドレスの制限を追加する方法について詳しくは、API キー API ドキュメントのサーバー制限の追加をご覧ください。

Android アプリ

API キーの使用を特定の Android アプリに制限できます。アプリごとに、パッケージ名と 20 バイトの SHA-1 証明書のフィンガープリントを指定する必要があります。

API キーを 1 つ以上の Android アプリに制限するには、次のいずれかのオプションを使用します。

コンソール

  1. Google Cloud コンソールで、[認証情報] ページに移動します。

    [認証情報] に移動

  2. 制限する API キーの名前をクリックします。

  3. [アプリケーションの制限] で [Android アプリ] を選択します。

  4. 追加する Android アプリごとに、[項目を追加] をクリックし、パッケージ名と SHA-1 証明書のフィンガープリントを入力して、[完了] をクリックします。

  5. [保存] をクリックして変更を保存し、API キーリストに戻ります。

gcloud

  1. 制限するキーの ID を取得します。

    ID は表示名やキー文字列とは異なります。ID を取得するには、gcloud services api-keys list コマンドを使用して、プロジェクト内のキーを一覧表示します。

  2. API キーを使用できる Android アプリを指定するには、gcloud alpha services api-keys update コマンドを使用します。

    次の値を置き換えます。

    • KEY_ID: 制限するキーの ID。
    • SHA1_FINGERPRINTPACKAGE_NAME: キーを使用できる Android アプリのアプリ情報。

      アプリは必要に応じていくつでも追加できます。追加の --allowed-application フラグを使用します。

    gcloud alpha services api-keys update KEY_ID \
    --allowed-application=sha1_fingerprint=SHA1_FINGERPRINT_1,package_name=PACKAGE_NAME_1 \
    --allowed-application=sha1_fingerprint=SHA1_FINGERPRINT_2,package_name=PACKAGE_NAME_2
    

REST

  1. 制限するキーの ID を取得します。

    ID は表示名やキー文字列とは異なります。ID を取得するには、keys.list メソッドを使用します。ID はレスポンスの uid フィールドに示されます。

    PROJECT_ID は、Google Cloud プロジェクト ID または名前に置き換えます。

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. keys.patch メソッドを使用して、API キーを使用できる Android アプリを指定します。

    このリクエストは、長時間実行オペレーションを返します。オペレーションをポーリングして、オペレーションが完了したタイミングを把握し、オペレーションのステータスを取得する必要があります。

    次の値を置き換えます。

    • SHA1_FINGERPRINT_1PACKAGE_NAME_1: キーを使用できる Android アプリのアプリ情報。

      情報は必要な数のアプリに追加できます。AndroidApplication オブジェクトを区切るにはカンマを使用します。すべてのアプリケーションにリクエストを提供する必要があります。指定したアプリケーションにより、キー上の任意の既存のアプリケーションが置き換えられます。

    • PROJECT_ID: Google Cloud プロジェクト ID または名前。

    • KEY_ID: 制限するキーの ID。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "androidKeyRestrictions": {
      "allowedApplications": [
        {
          "sha1Fingerprint": "SHA1_FINGERPRINT_1",
          "packageName": "PACKAGE_NAME_1"
        },
     ]
    }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

REST API を使用してキーに Android アプリの制限を追加する方法については、API キー API ドキュメントの Android の制限の追加をご覧ください。

iOS アプリ

各アプリのバンドル ID を指定して、特定の iOS アプリに API キーの使用を制限できます。

API キーを 1 つ以上の iOS アプリに制限するには、次のいずれかのオプションを使用します。

コンソール

  1. Google Cloud コンソールで、[認証情報] ページに移動します。

    [認証情報] に移動

  2. 制限する API キーの名前をクリックします。

  3. [アプリケーションの制限] で [iOS アプリ] を選択します。

  4. 追加する iOS アプリごとに [項目を追加] をクリックし、バンドル ID を入力して、[完了] をクリックします。

  5. [保存] をクリックして変更を保存し、API キーリストに戻ります。

gcloud

  1. 制限するキーの ID を取得します。

    ID は表示名やキー文字列とは異なります。ID を取得するには、gcloud services api-keys list コマンドを使用して、プロジェクト内のキーを一覧表示します。

  2. gcloud alpha services api-keys update メソッドを使用して、キーを使用できる iOS アプリを指定します。

    次の値を置き換えます。

    • KEY_ID: 制限するキーの ID。
    • ALLOWED_BUNDLE_ID: この API キーを使用できるようにする iOS アプリのバンドル ID。

      バンドル ID は必要な数だけ追加できます。ID はカンマで区切ります。

    gcloud alpha services api-keys update KEY_ID \
    --allowed-bundle-ids=ALLOWED_BUNDLE_ID_1,ALLOWED_BUNDLE_ID_2
    

REST

  1. 制限するキーの ID を取得します。

    ID は表示名やキー文字列とは異なります。ID を取得するには、keys.list メソッドを使用します。ID はレスポンスの uid フィールドに示されます。

    PROJECT_ID は、Google Cloud プロジェクト ID または名前に置き換えます。

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. API キーを使用できる iOS アプリを指定するには、keys.patch メソッドを使用します。

    このリクエストは、長時間実行オペレーションを返します。オペレーションをポーリングして、オペレーションが完了したタイミングを把握し、オペレーションのステータスを取得する必要があります。

    次の値を置き換えます。

    • ALLOWED_BUNDLE_ID: キーを使用できる iOS アプリのバンドル ID。

      情報は必要な数のアプリに追加できます。バンドル ID はカンマで区切ります。すべてのバンドル ID にリクエストを指定する必要があります。指定したバンドル ID により、そのキーで許可されている既存のアプリケーションが置き換えられます。

    • PROJECT_ID: Google Cloud プロジェクト ID または名前。

    • KEY_ID: 制限するキーの ID。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "iosKeyRestrictions": {
      "allowedBundleIds": ["ALLOWED_BUNDLE_ID_1","ALLOWED_BUNDLE_ID_2"]
    }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

REST API を使用してキーに iOS アプリの制限を追加する方法については、API Key API ドキュメントの iOS の制限の追加をご覧ください。

API 制限を追加する

API の制限では、API キーを使用した呼び出しを許可する API を指定します。

API 制限を追加するには、次のいずれかのオプションを使用します。

コンソール

  1. Google Cloud コンソールで、[認証情報] ページに移動します。

    [認証情報] に移動

  2. 制限する API キーの名前をクリックします。

  3. [API の制限] セクションで、[キーを制限] をクリックします。

  4. API キーへのアクセスに使用する API をプルダウンから選択します。

  5. [保存] をクリックして変更を保存し、API キーリストに戻ります。

gcloud

  1. 制限するキーの ID を取得します。

    ID は表示名やキー文字列とは異なります。ID を取得するには、gcloud services api-keys list コマンドを使用して、プロジェクト内のキーを一覧表示します。

  2. gcloud alpha services api-keys update コマンドを使用して、API キーで認証できるサービスを指定します。

    次の値を置き換えます。

    • KEY_ID: 制限するキーの ID。
    • SERVICE_1SERVICE_2...: キーへのアクセスに使用できる API のサービス名。

      update コマンドでは、すべてのサービス名を指定する必要があります。指定されたサービス名がキーの既存のサービスを置き換えます。

    サービス名を確認するには、API ダッシュボードで API を検索します。サービス名は bigquery.googleapis.com のような文字列です。

    gcloud alpha services api-keys update KEY_ID \
    --api-target=service=SERVICE_1 --api-target=service=SERVICE_2
    

REST

  1. 制限するキーの ID を取得します。

    ID は表示名やキー文字列とは異なります。ID を取得するには、keys.list メソッドを使用します。ID はレスポンスの uid フィールドに示されます。

    PROJECT_ID は、Google Cloud プロジェクト ID または名前に置き換えます。

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. keys.patch メソッドを使用して、API キーで認証できるサービスを指定します。

    このリクエストは、長時間実行オペレーションを返します。オペレーションをポーリングして、オペレーションが完了したタイミングを把握し、オペレーションのステータスを取得する必要があります。

    次の値を置き換えます。

    • SERVICE_1SERVICE_2...: このキーで使用する API のサービス名。

      リクエストにはすべてのサービス名を指定する必要があります。指定されたサービス名がキーの既存のサービスを置き換えます。

      サービス名を確認するには、API ダッシュボードで API を検索します。サービス名は bigquery.googleapis.com のような文字列です。

    • PROJECT_ID: Google Cloud プロジェクト ID または名前。

    • KEY_ID: 制限するキーの ID。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "apiTargets": [
      {
        "service": "SERVICE_1"
      },
      {
        "service" : "SERVICE_2"
      },
    ]
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

REST API を使用してキーに API の制限を追加する方法については、API Key API ドキュメントの API の制限の追加をご覧ください。

キー文字列からプロジェクト情報を取得する

キー文字列があり、どの Google Cloud プロジェクトに関連付けられているかを知りたい場合は、キー文字列からキーの情報を取得できます。

KEY_STRING は、プロジェクト情報が必要なキー文字列に置き換えます。

gcloud

gcloud alpha services api-keys lookup コマンドを使用して、キー文字列からプロジェクト ID を取得します。

gcloud alpha services api-keys lookup KEY_STRING

REST

lookupKey メソッドを使用して、キー文字列からプロジェクト ID を取得します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING"

長時間実行オペレーションをポーリングする

API Key API メソッドは、長時間実行オペレーションを使用します。REST API を使用して API キーの作成と管理を行う場合は、最初のメソッドのリクエストからオペレーション オブジェクトが返されます。オペレーション名を使用して、長時間実行オペレーションをポーリングします。長時間実行リクエストが完了したときに、オペレーションをポーリングすると、長時間実行リクエストからデータが返されます。

長時間実行 API Key API オペレーションをポーリングするには、operations.get メソッドを使用します。

OPERATION_NAME は、長時間実行オペレーションによって返されたオペレーション名に置き換えます。例: operations/akmf.p7-358517206116-cd10a88a-7740-4403-a8fd-979f3bd7fe1c

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    "https://apikeys.googleapis.com/v2/OPERATION_NAME"

API キーの制限

プロジェクトごとに最大 300 個の API キーを作成できます。これはシステム上の上限です。割り当て増加リクエストを使用して変更することはできません。

API キーがさらに必要な場合は、複数のプロジェクトを使用する必要があります。

次のステップ