使用 API 金鑰

本頁面說明如何在 API Gateway 中使用 API 金鑰。

API 金鑰是一種簡易字串,用於識別Google Cloud 專案的配額、帳單及監控等功能。開發人員會在 Google Cloud 控制台的專案中產生 API 金鑰,然後將該金鑰以查詢參數的形式,嵌入在對 API 發出的每一個呼叫中,或在要求標頭中嵌入。

如果您在 API 設定中指定 API 金鑰需求,API Gateway 會使用該 API 金鑰查詢相關聯的 Google Cloud 專案。除非該 API 金鑰是在您的 Google Cloud 專案中或在已啟用您 API 的其他Google Cloud 專案中產生,否則 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 首頁「Managed Service」(代管服務) 欄中找到這個名稱。或者,您也可以在使用 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 控制台中,依序前往「APIs & Services」 >「Credentials」頁面。

    前往「憑證」

  3. 選取要用於 API 的 API 金鑰名稱。

  4. 在 API 金鑰詳細資料頁面的「API 限制」專區中,按一下「限制金鑰」

  5. 從可用 API 的下拉式清單中,選取要使用 API 金鑰存取的 API。舉例來說,如果您使用上述設定範例,請選取 My Example Config

  6. 按一下 [儲存]

限制應會立即生效。