透過 Admin API 控管存取權

Google App Engine Admin API 採用 Cloud Identity and Access Management (IAM) 控管存取權。

在 Google App Engine Admin API 中,您可以在專案層級設定存取權控管機制,將 GCP 專案和專案資源的存取權授予使用者帳戶、網域、群組或服務帳戶。舉例來說,您可以:

  • 將專案中所有資源的存取權授予服務帳戶的個別成員或所有成員。
  • 依角色授予存取權,而非授予整個專案的存取權,以便為專案成員提供功能有限制的存取權。例如,授予資源的唯讀存取權,或是授予部署新版本的權限,但無法設定傳送至版本的流量。

如要進一步瞭解 IAM 及其功能,請參閱 Google Cloud Identity and Access Management 說明文件

每種 Admin API 方法都會要求呼叫者具備必要權限,如需 Admin API IAM 支援的所有權限與角色清單,請參閱下一節。

權限與角色

本節概述 Admin API IAM 支援的權限與角色。

如要進一步瞭解 App Engine 角色,請參閱 App Engine 存取權控制

所需權限

下表列出了呼叫各方法時必須具備的權限:

方法 所需權限
apps.create 對要求 Application 資源的 appengine.applications.create 權限。必須具備 GCP 專案的擁有者角色權限。
apps.get 對要求 Application 資源的 appengine.applications.get 權限。
apps.patch 對要求 Application 資源的 appengine.applications.update 權限。
apps.repair 對要求 Application 資源的 appengine.applications.update 權限。
apps.authorizedCertificates.create 對要求 Application 資源的 appengine.applications.update 權限。
apps.authorizedCertificates.delete 對要求 Application 資源的 appengine.applications.update 權限。
apps.authorizedCertificates.get 對要求 Application 資源的 appengine.applications.get 權限。
apps.authorizedCertificates.list 對要求 Application 資源的 appengine.applications.get 權限。
apps.authorizedCertificates.patch 對要求 Application 資源的 appengine.applications.update 權限。
apps.authorizedDomains.list 對要求 Application 資源的 appengine.applications.get 權限。
apps.domainMappings.create 對要求 Application 資源的 appengine.applications.update 權限。
apps.domainMappings.delete 對要求 Application 資源的 appengine.applications.update 權限。
apps.domainMappings.get 對要求 Application 資源的 appengine.applications.get 權限。
apps.domainMappings.list 對要求 Application 資源的 appengine.applications.get 權限。
apps.domainMappings.patch 對要求 Application 資源的 appengine.applications.update 權限。
apps.locations.get 對要求 Application 資源的 appengine.applications.get 權限。
apps.locations.list 對要求 Application 資源的 appengine.applications.get 權限。
apps.operations.get 對要求 Application 資源的 appengine.applications.get 權限。
apps.operations.list 對要求 Application 資源的 appengine.applications.get 權限。
apps.services.delete 對要求 Service 資源的 appengine.services.delete 權限。
apps.services.get 對要求 Service 資源的 appengine.services.get 權限。
apps.services.list 對要求 Application 資源的 appengine.services.list 權限。
apps.services.patch 對要求 Service 資源的 appengine.services.update 權限。
apps.services.versions.create 對要求 Service 資源的 appengine.versions.create 權限。
apps.services.versions.delete 對要求 Version 資源的 appengine.versions.delete 權限。
apps.services.versions.get 對要求 Version 資源的 appengine.versions.get 權限。
apps.services.versions.list 對要求 Service 資源的 appengine.versions.list 權限。
apps.services.versions.patch 對要求 Version 資源的 appengine.versions.update 權限。
apps.services.versions.instances.debug 對要求 Instance 資源的 appengine.instances.enableDebug 權限。
apps.services.versions.instances.delete 對要求 Instance 資源的 appengine.instances.delete 權限。
apps.services.versions.instances.get 對要求 Instance 資源的 appengine.instances.get 權限。
apps.services.versions.instances.list 對要求 Version 資源的 appengine.instances.list 權限。

角色

下表列出 Google App Engine Admin API IAM 角色,並提供各角色具備的所有權限對應清單。請注意,每個權限只適用於特定資源類型。

角色 具備的權限

App Engine 管理員

/roles/appengine.appAdmin

所有應用程式配置和設定的讀取/寫入/修改存取權。

appengine.applications.disable

appengine.applications.get
appengine.applications.update
appengine.instances.delete
appengine.instances.enableDebug
appengine.instances.get
appengine.instances.list
appengine.instances.update

appengine.operations.cancel

appengine.operations.delete

appengine.operations.get
appengine.operations.list
appengine.runtimes.actAsAdmin
appengine.services.delete
appengine.services.get
appengine.services.list
appengine.services.update
appengine.versions.create
appengine.versions.delete
appengine.versions.get
appengine.versions.list
appengine.versions.update
resourcemanager.projects.get
resourcemanager.projects.list

App Engine 部署者

/roles/appengine.deployer

所有應用程式配置和設定的唯讀存取權。

只限於建立新版本的寫入存取權;除了刪除未接收流量的版本之外,無法修改現有版本。無法設定傳送至版本的流量。

appengine.applications.get
appengine.instances.get
appengine.instances.list
appengine.operations.get
appengine.operations.list
appengine.services.create

appengine.services.get
appengine.services.list
appengine.versions.create
appengine.versions.delete
appengine.versions.get
appengine.versions.list
resourcemanager.projects.get
resourcemanager.projects.list

App Engine 服務管理員

/roles/appengine.serviceAdmin

所有應用程式配置和設定的唯讀存取權。

服務層級和版本層級設定的寫入存取權,包括流量設定。無法部署應用程式版本。

appengine.applications.get
appengine.instances.delete
appengine.instances.get
appengine.instances.list
appengine.operations.get
appengine.operations.list
appengine.services.delete
appengine.services.get
appengine.services.list
appengine.services.update
appengine.versions.delete
appengine.versions.get
appengine.versions.list
appengine.versions.update
resourcemanager.projects.get
resourcemanager.projects.list

App Engine 檢視者

/roles/appengine.appViewer

所有應用程式配置和設定的唯讀存取權。

appengine.applications.get
appengine.instances.get
appengine.instances.list
appengine.operations.get
appengine.operations.list
appengine.services.get
appengine.services.list
appengine.versions.get
appengine.versions.list
resourcemanager.projects.get
resourcemanager.projects.list

App Engine 程式碼檢視者

/roles/appengine.codeViewer

所有應用程式配置和設定,以及部署原始碼的唯讀存取權。

appengine.applications.get
appengine.instances.get
appengine.instances.list
appengine.operations.get
appengine.operations.list
appengine.services.get
appengine.services.list
appengine.versions.get
appengine.versions.getFileContents
appengine.versions.list
resourcemanager.projects.get
resourcemanager.projects.list

請注意,roles/ownerroles/editorroles/viewer 角色也具備其他 Google Cloud Platform 服務的權限。如要進一步瞭解這些原始角色,請參閱存取權控制一文。

不適用於自訂角色的權限

如果您要設定的存取權超過預先定義 IAM 角色所提供的存取權,則可建立自訂角色。不過,下列權限不適用於自訂角色:

  • appengine.applications.disable
  • appengine.applications.list
  • appengine.instances.update
  • appengine.operations.cancel
  • appengine.operations.delete
  • appengine.services.create

執行作業時不需要這些權限。

透過 GCP 主控台控管存取權

您可以使用 GCP 主控台以控管 GCP 專案的存取權。

設定專案層級的存取權控管機制

如要將 GCP 專案及專案資源的存取權授予成員,請參閱授予、變更及撤銷專案成員的存取權

設定服務帳戶的存取權控管機制

您可以在 GCP 專案中建立服務帳戶,將透過程式存取 GCP 服務的權限授予應用程式。舉例來說,您可以使用服務帳戶,允許某個 GCP 專案透過 Google App Engine Admin API 將 HTTP 要求傳送至另一個 GCP 專案。

如要建立服務帳戶並授予存取權,請參閱下列 IAM 主題:

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

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

這個網頁
App Engine Admin API