控管可以啟用 API 的人員

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

授予存取權

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

GCP 主控台

  1. 在 GCP 主控台中,前往您專案的「Endpoints」>「Services」(服務) 頁面。

    前往 Endpoints 的「Services」(服務) 頁面

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

gcloud

  1. 開啟 Cloud Shell;如果您已安裝 Cloud SDK,則請開啟終端機視窗。
    • 如果您要將存取權授予個別使用者:
      
      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. 與您剛才新增的使用者或網路論壇聯絡,讓他們知道可以在自己的 GCP 專案中啟用 API 了。想瞭解如何在「APIs & services」(API 和服務) 中啟用服務,請參閱在 GCP 專案中啟用 API

撤銷存取權

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

本節說明如何利用 GCP 主控台或 gcloud 指令列工具來撤銷存取權。

GCP 主控台

  1. 在 GCP 主控台中,前往您 GCP 專案的「Endpoints」>「Services」(服務) 頁面。

    前往 Endpoints 的「Services」(服務) 頁面

  2. 如果您有多個 API,請按一下要撤銷存取權的 API。
  3. 如果「Permissions」(權限) 側邊面板未開啟,請按一下 [add Permissions] (新增權限)
  4. 按一下該成員所屬的 [Role] (角色) 資訊卡。
  5. 按一下 [Delete] (刪除) delete

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'
    

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
App Engine 適用的 Cloud Endpoints Frameworks
需要協助嗎?請前往我們的支援網頁