使用 Step Functions 數中的工作流程 Studio 設定執行角色 - AWS Step Functions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Step Functions 數中的工作流程 Studio 設定執行角色

您可以使用工作流程 Studio 來設定工作流程的執行角色。每個Step Functions狀態機都需要一個 AWS Identity and Access Management (IAM)角色,該角色授予狀態機器對其執行操作以 AWS 服務 及資源或調用第三方的權限APIs。此角色稱為執行角色

執行角色必須包含IAM每個動作的原則,例如,允許狀態機叫用AWS Lambda函數、執行AWS Batch工作或呼叫 Stripe 的原則API。 Step Functions在下列情況下,會要求您提供執行角色:

  • 您可以在主控台中建立狀態機, AWS SDKs或 AWS CLI 使用 CreateStateMachineAPI.

  • 您可以在主控台中測試狀態 AWS SDKs,或AWS CLI使用 TestStateAPI.

關於產生的角色

當您在Step Functions主控台中建立狀態機器時,Workflow Studio 可以自動為您建立包含必要IAM原則的執行角色。Workflow Studio 會分析您的狀態機器定義,並以執行工作流程所需的最少權限來產生原則。

工作流程 Studio 可以產生下列項目的IAM原則:

工作流 Studio 無法產生 AWS 服務 使用AWS SDK整合呼叫其他工作狀態的IAM原則。

自動產生角色

  1. 開啟 Step Functions 主控台,然後選擇建立狀態機器

    您也可以更新現有的狀態機器。如果您要更新狀態機,請參閱步驟 4。

  2. 在「選擇範本」對話方塊中,選取「空白」。

  3. 選擇選以在中開啟工作流程工作室設計模式

  4. 選擇「Con fig」頁標。

  5. 向下捲動至「權限」區段,然後執行下列動作:

    1. 對於「執行」角色,請確保保留「創建新角色」的默認選擇。

      工作流程 Studio 會針對狀態機器定義中的每個有效狀態,自動產生所有必要的IAM原則。它顯示一個橫幅與消息,將創建具有完整權限的執行角色。

      Config 選項卡的說明屏幕截圖,並預覽自動生成的權限。
      提示

      若要檢閱 Workflow Studio 為您的狀態機器自動產生的權限,請選擇 [檢閱自動產生的權限]。

      注意

      如果刪除 Step Functions 所建立的IAM角色,則 Step Functions 稍後無法重新建立。同樣地,如果您修改角色 (例如,從原則中的主參與者中移除 Step Functions),IAM則 Step Functions 稍後無法還原其原始設定。

      如果 Workflow Studio 無法產生所有必要的IAM原則,它會顯示一個橫幅,其中包含無法自動產生某些動作的權限訊息。只會建立具有部分權限的IAM角色。如需如何新增遺失權限的詳細資訊,請參閱解決角色產生問題

    2. 如果您正在立狀態機,請選擇 [建立]。否則,請選擇 Save (儲存)

    3. 在出現的對話方塊中選擇「確認」。

      工作流 Studio 會儲存您的狀態機器,並建立新的執行角色。

解決角色產生問題

在下列情況下,工作流程 Studio 無法自動產生具有所有必要權限的執行角色:

  • 您的狀態機器中有錯誤。請務必解決工作流程工作室中的所有驗證錯誤。另外,請確保您解決了在保存過程中遇到的任何服務器端錯誤。

  • 您的狀態機包含使用 AWS SDK集成的任務。在此情況下,工作流程 Studio 無法自動產生IAM原則。工作流 Studio 顯示帶有消息的橫幅,某些操作的權限無法自動生成。只會建立具有部分權限的IAM角色。在「檢閱自動產生的權限」表格中,選擇「狀態」 中的內容,以取得有關遺失執行角色之原則的詳細資訊。工作流程 Studio 仍然可以產生執行角色,但這個角色不會包含所有動作的IAM原則。請參閱說明文件連結下的連結,以撰寫您自己的原則,並在產生原則後將其新增至角色。即使在儲存狀態機器之後,這些連結仍可使用。

在工作流工作室中測試HTTP任務的角色

您需要執行角色才能測試HTTP工作狀態。如果您沒有具有足夠權限的角色,請使用下列其中一個選項來建立角色:

  • 使用工作流程 Studio 自動生成角色(推薦)-這是安全的選項。關閉「測試狀態」對話方塊,並按照中的指示進行操作自動產生角色。這將需要您先創建或更新狀態機,然後返回到 Workflow Studio 來測試您的狀態。

  • 使用具有管理員存取權限的角色 — 如果您具有建立角色的權限,可以對中的所有服務和資源具有完整存取權限 AWS,則可以使用該角色來測試工作流程中任何類型的狀態。若要這麼做,您可以建立Step Functions服務角色,並在IAM主控台中將AdministratorAccess 原則新增至該角色https://console.aws.amazon.com/iam/

在工作流程工作室中測試優化服務集成的角色

您需要執行角色才能呼叫最佳化服務整合的 Task 狀態。如果您沒有具有足夠權限的角色,請使用下列其中一個選項來建立角色:

  • 使用工作流程 Studio 自動生成角色(推薦)-這是安全的選項。關閉「測試狀態」對話方塊,並按照中的指示進行操作自動產生角色。這將需要您先創建或更新狀態機,然後返回到 Workflow Studio 來測試您的狀態。

  • 使用具有管理員存取權限的角色 — 如果您具有建立角色的權限,可以對中的所有服務和資源具有完整存取權限 AWS,則可以使用該角色來測試工作流程中任何類型的狀態。若要這麼做,您可以建立Step Functions服務角色,並在IAM主控台中將AdministratorAccess 原則新增至該角色https://console.aws.amazon.com/iam/

在工作流程工作室中測試 AWS SDK服務整合的角色

您需要具有呼叫AWS SDK整合的 Task 狀態的執行角色。如果您沒有具有足夠權限的角色,請使用下列其中一個選項來建立角色:

  • 使用工作流程 Studio 自動生成角色(推薦)-這是安全的選項。關閉「測試狀態」對話方塊,並按照中的指示進行操作自動產生角色。這將需要您先創建或更新狀態機,然後返回到 Workflow Studio 來測試您的狀態。請執行下列操作:

    1. 關閉「測試狀態」對話方塊

    2. 選擇「Con fig」頁籤以檢視「Config」模式。

    3. 向下捲動至「權限」區段。

    4. 工作流 Studio 顯示帶有消息的橫幅,某些操作的權限無法自動生成。只會建立具有部分權限的IAM角色。選擇檢閱自動產生的權限

    5. 檢閱自動產生的權限」表格會顯示一列,其中顯示與您要測試之工作狀態對應的動作。請參閱文件連結下的連結,將您自己的IAM原則寫入自訂角色。

  • 使用具有管理員存取權限的角色 — 如果您具有建立角色的權限,可以對中的所有服務和資源具有完整存取權限 AWS,則可以使用該角色來測試工作流程中任何類型的狀態。若要這麼做,您可以建立Step Functions服務角色,並在IAM主控台中將AdministratorAccess 原則新增至該角色https://console.aws.amazon.com/iam/

在工作流程 Studio 中測試流程狀態的角色

您需要執行角色,才能在工作流程 Studio 中測試流程狀態。流程狀態是指直接執行流程的狀態 選擇工作流狀態平行工作流狀態,例如地圖工作流程狀「傳遞」工作流等待工作流程狀、、成功工作流狀態、或失敗的工作流程TestStateAPI不適用於 [地圖] 或 [平行] 狀態。使用下列其中一個選項建立用於測試流程狀態的角色:

  • 使用 AWS 帳戶 (建議) 中的任何角色 — 流程狀態不需要任何特定IAM原則,因為它們不會呼叫 AWS 動作或資源。因此,您可以IAM在 AWS 帳戶.

    1. 在 [測試狀態] 對話方塊中,從 [執行角色] 下拉式清單中選取任何角色

    2. 如果下拉式清單中沒有出現任何角色,請執行下列動作:

      1. 在IAM主控台中 https://console.aws.amazon.com/iam/,選擇 [角色]。

      2. 從清單中選擇角色,然後ARN從角色詳細資訊頁面複製該角色。您將需要在「測試狀態」對話方塊ARN中提供此選項。

      3. 在 [測試狀態] 對話方塊中,從 [執行角色] 下拉式清單ARN中選取 [輸入角色]。

      4. 粘貼ARN在角色中ARN。

  • 使用具有管理員存取權限的角色 — 如果您具有建立角色的權限,可以對中的所有服務和資源具有完整存取權限 AWS,則可以使用該角色來測試工作流程中任何類型的狀態。若要這麼做,您可以建立Step Functions服務角色,並在IAM主控台中將AdministratorAccess 原則新增至該角色https://console.aws.amazon.com/iam/