控管可以啟用 API 的人員

API 金鑰與建立金鑰時所屬的 Google Cloud 專案相關聯。如果您的 API 需要 API 金鑰,您就必須提供 API 使用者 Cloud Endpoints 服務建立時所屬專案中的金鑰,或是讓 API 使用者能夠在自己的專案中啟用您的 API 及建立 API 金鑰。 Google Cloud本頁說明如何授權使用者啟用您的 API。

授予存取權

Endpoints 會使用 Identity & Access Management (IAM) 服務消費者角色,允許您Google Cloud 專案成員以外的人員在自己的 Google Cloud專案中啟用您的 API。本節說明如何使用Google Cloud 控制台或 Google Cloud CLI 授予存取權。

Google Cloud 控制台

  1. 在 Google Cloud 控制台中,依序前往您專案的「Endpoints」 >「Services」頁面。

    前往 Endpoints 服務頁面

  2. 如果您有多個 API,請按一下要授權他人存取的 API。
  3. 如果「Permissions」側邊面板未開啟,請按一下「Show Permissions Panel」(顯示權限面板)。
  4. 在「Add Principal」欄位中,輸入您要授予存取權的使用者或 Google 群組的電子郵件地址。
  5. 在 [Select a role] (請選擇角色) 下拉式選單中,依序選取 [Service Management] (服務管理) > [Consumer] (消費者)
  6. 按一下 [儲存]
  7. 視需要重複新增成員和選取角色的步驟。
  8. 與您剛才新增的使用者或群組聯絡,讓他們知道可以在自己的 Google Cloud 專案中啟用 API 了。想瞭解如何在「APIs & services」(API 和服務) 中啟用服務,請參閱「在 Google Cloud專案中啟用 API」。

gcloud

  1. 開啟 Cloud Shell;如果您已安裝 Google Cloud CLI,則請開啟終端機視窗。
    • 如果您要將存取權授予個別使用者:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
            --member='user:EMAIL-NAME@gmail.com' \
            --role='roles/servicemanagement.serviceConsumer'
    • 如果您要將存取權授予 Google 網路論壇:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
            --member='group:GROUP-NAME@googlegroups.com' \
            --role='roles/servicemanagement.serviceConsumer'
  2. 與您剛才新增的使用者或網路論壇聯絡,讓他們知道可以在自己的 Google Cloud 專案中啟用 API 了。想瞭解如何在「APIs & services」(API 和服務) 中啟用服務,請參閱「在 Google Cloud專案中啟用 API」。

撤銷存取權

只要移除使用者或網路論壇先前具備的「服務消費者」角色,即可撤銷他們對 API 的存取權。當您撤銷人員的存取權後,對方就無法啟用您的 API。

本節說明如何使用 Google Cloud 控制台或 Google Cloud CLI 撤銷存取權。

Google Cloud 控制台

  1. 在 Google Cloud 控制台中,依序前往您 Google Cloud 專案的「Endpoints」 >「Services」頁面。

    前往 Endpoints 服務頁面

  2. 如果您有多個 API,請按一下要撤銷存取權的 API。
  3. 如果「Permissions」側邊面板未開啟,請按一下「Permissions」
  4. 按一下該成員所屬的「角色」資訊卡。
  5. 按一下「刪除」圖示

gcloud

  • 如果您要撤銷個別使用者的存取權:
    gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
          --member='user:'EMAIL-NAME@gmail.com' --role='roles/servicemanagement.serviceConsumer'
  • 如果您要撤銷 Google 網路論壇的存取權:
    gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
          --member='group:GROUP-NAME@googlegroups.com' \
          --role='roles/servicemanagement.serviceConsumer'

後續步驟