API キーを使用する

このページでは、API Gateway で API キーを使用する方法について説明します。

API キーは、割り当て、課金、モニタリングのために Google Cloud プロジェクトを識別する単純な文字列です。デベロッパーは、Google Cloud コンソールでプロジェクトの API キーを生成し、このキーをクエリ パラメータとして、またはリクエスト ヘッダーとしてすべての API 呼び出しに埋め込みます。

API 構成で API キーを必須として指定した場合、API Gateway はその API キーを使用して、関連付けられた Google Cloud プロジェクトを検索します。現在お使いの Google Cloud プロジェクトまたは API が有効になっている他の Google Cloud プロジェクトで API キーが生成されていない場合、API Gateway はリクエストを拒否します。

API キーを作成するか、Google Cloud プロジェクト内ですでに使用可能な API キーを表示するには、[API とサービス] > [認証情報] ページに移動します。

[認証情報] に移動

ユースケース

割り当てなどの API Gateway 機能を使用するには、API キーを渡すことで、API Gateway がクライアント アプリケーションに関連付けられている Google Cloud プロジェクトを識別できます。

API Gateway の API キー認証について

認証に API キーを使用する場合は、まずサービスで API キーのサポートを有効にする必要があります。

次のコマンドを入力します。

gcloud services enable MANAGED_SERVICE_NAME

MANAGED_SERVICE_NAME には、API のデプロイ時に作成されたマネージド サービスの名前を指定します。この名前は、コンソールの API ランディング ページにある API の [マネージド サービス] 列で確認できます。また、gcloud api-gateway apis describe コマンドを使用するときに、Managed service プロパティでこの名前を確認できます。

次に例を示します。

gcloud services enable my-api-a12bcd345e67f89g0h.apigateway.my-project.cloud.goog

API キーの制限

API キーは、デフォルトでは制限されません。制限されていないキーは、誰でもどこからでも使用できるため安全ではありません。可能な限り、API の制限を追加することをおすすめします。API の制限では、API キーを使用した呼び出しを許可する API を指定します。本番環境アプリケーションで使用されるすべての API キーには、API 制限を追加する必要があります。

API の制限を追加するには:

  1. API 構成に記載されている API のタイトルを確認します。次の例では、API のタイトルは My Example Config です。

    # openapi.yaml
    swagger: '2.0'
    info:
      title: My Example Config
      description: Sample API on API Gateway
      version: 1.0.0
    ...
  2. Google Cloud コンソールで、[API とサービス] > [認証情報] ページに移動します。

    [認証情報] に移動

  3. API に使用する API キーの名前を選択します。

  4. API キーの詳細ページの [API の制限] セクションで、[キーを制限] をクリックします。

  5. 使用可能な API のプルダウン リストから、API キーを使用してアクセスする API を選択します。たとえば、上記のサンプル構成を使用する場合は、My Example Config を選択します。

  6. [保存] をクリックします。

制限は直ちに有効になります。