授予專案存取權

透過指派角色的方式,授予及控管 Google Cloud Platform 專案及其資源的存取權。您可以指派專案成員和服務帳戶的角色。

服務帳戶代表 Google Cloud 服務身分 (例如 App Engine),可用來存取其他服務。如要瞭解如何在 App Engine 中使用服務帳戶,請參閱授權應用程式一文。

選擇適合的存取權控管機制

將角色指派給專案成員和服務帳戶,即可決定 GCP 專案的存取權層級。您可利用身分與存取權管理 (IAM) 角色,執行更精細的存取權控管。如要進一步瞭解各種 App Engine 角色,請參閱存取權控管一文。

一般而言,「擁有者」、「編輯者」和「檢視者」等原始角色使用起來較簡單,預先定義的角色則提供更完善的存取權選項。如果您只是要試用 App Engine,處理存取權控管機制最簡單的方式,就是將「編輯者」角色授予專案的所有相關人員。操作說明請參閱下方的設定權限一節。請記住,只有「擁有者」可以在專案中建立 App Engine 應用程式,以及在專案中新增其他人員。

如果專案已準備好採用更複雜的角色:

  1. 識別需要存取專案的各種不同工作職務。

  2. 依據不同的工作職務,設定 Google 群組

  3. 視需要在各個 Google 群組新增成員。

  4. 依照下方設定權限中的操作說明,將各個 Google 群組新增為專案成員,並設定每個群組的角色。

設定權限

如何新增專案成員及設定權限:

  1. 在 Google Cloud Platform 主控台中,造訪專案的「IAM & Admin」(IAM 與管理員) 權限頁面。

    前往「IAM 與管理員權限」頁面

  2. 按一下 [Add member] (新增成員),在專案中新增成員,並使用下拉式選單設定這些成員的角色。您可以新增個別使用者的電子郵件地址;如果使用 Google 網路論壇管理群組角色,也可以提供 Google 網路論壇電子郵件地址 (example-google-group@googlegroups.com)。

    新增成員螢幕擷圖

  3. 指派角色。

如果要查看所有 App Engine 角色的說明和比較表,以及瞭解相關限制,請參閱存取權控管一文。

下拉式選單中還有適用於其他 Google Cloud Platform 產品的角色。如要進一步瞭解這些角色,請參閱預先定義角色一節。

使用身分與存取權管理角色進行部署

您可以指派適當的身分與存取權管理角色給使用者帳戶,讓該帳戶能將新版應用程式部署至 GCP 專案。

如果使用者帳戶僅負責部署應用程式,建議指派「App Engine 部署者」角色給該帳戶。「App Engine 管理員」角色也可以部署應用程式,但還擁有其他權限。視必須部署的設定檔為何,您可能還需要依照下列步驟的說明,為帳戶授予其他角色。

設定流量

根據預設,具有「App Engine 部署者」角色的使用者帳戶,不能將流量遷移或拆分給應用程式的任何版本。不過,如果部署作業鎖定目前正在處理流量的現有版本,則該應用程式的更新版本將保留遭覆寫版本的原始流量設定。

舉例來說,如果 20201155example 版本目前正在您的應用程式中處理流量,則當您執行 gcloud app deploy --version 20201155example 指令時,更新版本會覆寫現有版本,並開始處理流量。

如果使用者帳戶負責設定流量,請考慮使用「App Engine 管理員」或「App Engine 服務管理員」角色

事前準備

如要讓使用者帳戶以 IAM 角色部署應用程式,請先完成以下操作:

如何授予使用者帳戶相關權限,允許其在 App Engine 中執行部署:

  1. 在 Google Cloud Platform 主控台中,造訪專案的「IAM & Admin」(IAM 與管理員) 權限頁面:

    前往「Permissions」(權限) 頁面

  2. 按一下 [Add member] (新增成員),在專案中新增使用者帳戶,然後使用下拉式選單選取該帳戶的所有角色:

    • 必要角色可讓帳戶在 App Engine 中執行部署作業:
      1. 設定下列其中一個角色:
        • 使用「App Engine」>「App Engine Deployer」(App Engine 部署者) 角色,授予帳戶部署任一應用程式版本的權限。
        • 如要隨著應用程式一併部署 dos.yamldispatch.yaml 檔案,請使用 [App Engine] > [App Engine Admin] (App Engine 管理員) 角色。
        使用者帳戶現在具有充分權限,可使用 Admin API 部署應用程式
      2. 如要允許使用 App Engine 工具部署應用程式,您還必須為使用者帳戶指派下列所有角色:
    • 選用元素。將下列角色指派給使用者帳戶,藉此授予上傳其他設定變更的權限:
      • [Datastore] > [Datastore Index Admin] (Datastore 索引管理員) 角色:上傳 index.yaml 檔案的權限。
      • [Cloud Scheduler] > [Cloud Scheduler Admin] (Cloud Scheduler 管理員) 角色:上傳 cron.yaml 檔案的權限。
      • 如要讓使用者帳戶將變更部署到預設的網路設定,就必須為帳戶指派具有充分權限的角色,例如 [Compute Engine] > [Compute Network Admin] (Compute 網路管理員) 角色。

使用者帳戶現在可以在關聯的 GCP 專案中,部署應用程式到 App Engine 應用程式了。如要進一步瞭解如何部署應用程式,請參閱部署您的應用程式

如果您已按照上述操作說明設定權限,但帳戶仍然無法部署應用程式,請執行下列步驟,確保正確設定 GCP 專案。

根據預設,如果您建立新的 GCP 專案並在 App Engine 彈性環境中啟用,則此專案會擁有部署應用程式時需要的所有權限和 API。不過,您可透過專案設定移除一或多個權限或 API。以下操作說明列出發生部署錯誤時應檢查的項目。

確認 GCP 專案已具備或已啟用下列項目:

  1. 已建立 App Engine 應用程式並啟用計費功能。

  2. 已在 GCP 主控台中啟用下列 API:

    1. Google App Engine Flexible Environment

      前往「API Library」(API 程式庫) 頁面

    2. Google Cloud Build API:

      前往「API Library」(API 程式庫) 頁面

  3. 在 GCP 主控台的「IAM & admin」(IAM 與管理員) 頁面中,確認 Google Cloud Build 使用的 Google API 服務帳戶 [PROJECT_NUMBER]>@cloudbuild.gserviceaccount.com 具有「編輯者」權限。此服務帳戶必須具有 staging.[PROJECT_ID].appspot.com 值區的寫入權限,才能為 Cloud Cloud Build 暫存檔案。根據預設,這個服務帳戶具有專案的「編輯者」角色,因此您只有在曾變更過這個服務帳戶角色的情形下,才需要到這裡進行變更:

    前往「Service Accounts」(服務帳戶) 頁面

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

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

這個網頁
Java 適用的 App Engine 彈性環境文件