使用 IAM 控管存取權

Workflows 會使用身分與存取權管理 (IAM) 來控管哪些已驗證的使用者和服務帳戶可以執行哪些動作。

開始驗證及授予工作流程資源存取權之前,請務必瞭解 IAM 的基本概念

本頁面詳細說明存取工作流程資源所需的權限,包括叫用工作流程執行作業的權限。

如要瞭解如何授予工作流程權限,以便存取其他服務,請參閱「授予工作流程權限,以便存取 Google Cloud 資源」。

存取權控管

無論您如何實作驗證,請務必瞭解存取權控管和可用的 Workflows 角色。角色是一組權限,可授予對 Google Cloud中資源的存取權。建立正式版應用程式時,請只授予服務帳戶與適用的 API、功能或資源互動所需的角色。 Google Cloud

如要進一步瞭解可用的 Workflows 角色,請參閱「Workflows 角色和權限」。

叫用工作流程

服務帳戶既是身分也是資源,可接受 IAM 政策。因此,您可以將角色授予服務帳戶,然後授予其他主要實體服務帳戶或其中一個服務帳戶上層資源的角色,讓他們模擬服務帳戶。

舉例來說,您可以將 workflows.invoker 角色授予服務帳戶,讓帳戶具備觸發工作流程執行作業的權限。接著,您可以允許主體模擬服務帳戶,或以服務帳戶身分執行操作。請注意,除非工作流程叫用自身或其他工作流程,否則工作流程服務帳戶不需要 workflows.invoker 角色。

如要進一步瞭解服務帳戶模擬功能,請參閱「服務帳戶模擬功能」。

如要將 Workflows 叫用者角色 (roles/workflows.invoker) 授予呼叫 Workflows 的服務服務帳戶,讓服務具備執行工作流程及管理執行作業的權限,請執行下列操作:

控制台

  1. 前往 Google Cloud 控制台的「Service Accounts」(服務帳戶) 頁面:
    前往「Service Accounts」(服務帳戶)

  2. 選取專案,然後按一下「建立服務帳戶」

  3. 在「Service account name」(服務帳戶名稱) 欄位中輸入名稱,例如 sa-name

  4. 按一下「建立並繼續」

  5. 在「請選擇角色」清單中,依序選取「Workflows」>「Workflows Invoker」

  6. 按一下 [完成]

gcloud

  1. 開啟終端機。

  2. 輸入下列指令:

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
       --role roles/workflows.invoker

    更改下列內容:

    • PROJECT_ID: Google Cloud 專案的 ID。
    • SERVICE_ACCOUNT_NAME:服務帳戶名稱。