本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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.
主題
關於產生的角色
當您在Step Functions主控台中建立狀態機器時,Workflow Studio 可以自動為您建立包含必要IAM原則的執行角色。Workflow Studio 會分析您的狀態機器定義,並以執行工作流程所需的最少權限來產生原則。
工作流程 Studio 可以產生下列項目的IAM原則:
-
HTTP調用第三方的任務APIs。
-
AWS 服務 使用最佳化整合來呼叫其他工作的工作狀態,例如 LambdaInvoke DynamoDB GetItem、或AWS Glue StartJobRun。
-
執行巢狀工作流程的工作狀態。
-
X-Ray追蹤。Workflow Studio 中自動生成的每個角色都包含一個策略,該策略授予狀態機器將跟踪發送到的權限X-Ray。
-
使用 CloudWatch 日誌記錄 Step Functions 中的執行歷史記錄在狀態機上啟用日誌記錄時。
工作流 Studio 無法產生 AWS 服務 使用AWS SDK整合呼叫其他工作狀態的IAM原則。
自動產生角色
-
開啟 Step Functions 主控台
,然後選擇建立狀態機器。 您也可以更新現有的狀態機器。如果您要更新狀態機,請參閱步驟 4。
-
在「選擇範本」對話方塊中,選取「空白」。
-
選擇選取以在中開啟工作流程工作室設計模式。
-
選擇「Con fig」頁標。
-
向下捲動至「權限」區段,然後執行下列動作:
-
對於「執行」角色,請確保保留「創建新角色」的默認選擇。
工作流程 Studio 會針對狀態機器定義中的每個有效狀態,自動產生所有必要的IAM原則。它顯示一個橫幅與消息,將創建具有完整權限的執行角色。
提示
若要檢閱 Workflow Studio 為您的狀態機器自動產生的權限,請選擇 [檢閱自動產生的權限]。
注意
如果刪除 Step Functions 所建立的IAM角色,則 Step Functions 稍後無法重新建立。同樣地,如果您修改角色 (例如,從原則中的主參與者中移除 Step Functions),IAM則 Step Functions 稍後無法還原其原始設定。
如果 Workflow Studio 無法產生所有必要的IAM原則,它會顯示一個橫幅,其中包含無法自動產生某些動作的權限訊息。只會建立具有部分權限的IAM角色。如需如何新增遺失權限的詳細資訊,請參閱解決角色產生問題。
-
如果您正在建立狀態機,請選擇 [建立]。否則,請選擇 Save (儲存)。
-
在出現的對話方塊中選擇「確認」。
工作流 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 來測試您的狀態。請執行下列操作:
-
關閉「測試狀態」對話方塊
-
選擇「Con fig」頁籤以檢視「Config」模式。
-
向下捲動至「權限」區段。
-
工作流 Studio 顯示帶有消息的橫幅,某些操作的權限無法自動生成。只會建立具有部分權限的IAM角色。選擇檢閱自動產生的權限
-
「檢閱自動產生的權限」表格會顯示一列,其中顯示與您要測試之工作狀態對應的動作。請參閱文件連結下的連結,將您自己的IAM原則寫入自訂角色。
-
-
使用具有管理員存取權限的角色 — 如果您具有建立角色的權限,可以對中的所有服務和資源具有完整存取權限 AWS,則可以使用該角色來測試工作流程中任何類型的狀態。若要這麼做,您可以建立Step Functions服務角色,並在IAM主控台中將AdministratorAccess 原則新增至該角色https://console.aws.amazon.com/iam/
。
在工作流程 Studio 中測試流程狀態的角色
您需要執行角色,才能在工作流程 Studio 中測試流程狀態。流程狀態是指直接執行流程的狀態 選擇工作流狀態平行工作流狀態,例如地圖工作流程狀「傳遞」工作流、等待工作流程狀、、成功工作流狀態、或失敗的工作流程。TestStateAPI不適用於 [地圖] 或 [平行] 狀態。使用下列其中一個選項建立用於測試流程狀態的角色:
-
使用 AWS 帳戶 (建議) 中的任何角色 — 流程狀態不需要任何特定IAM原則,因為它們不會呼叫 AWS 動作或資源。因此,您可以IAM在 AWS 帳戶.
-
在 [測試狀態] 對話方塊中,從 [執行角色] 下拉式清單中選取任何角色。
-
如果下拉式清單中沒有出現任何角色,請執行下列動作:
-
在IAM主控台中 https://console.aws.amazon.com/iam/
,選擇 [角色]。 -
從清單中選擇角色,然後ARN從角色詳細資訊頁面複製該角色。您將需要在「測試狀態」對話方塊ARN中提供此選項。
-
在 [測試狀態] 對話方塊中,從 [執行角色] 下拉式清單ARN中選取 [輸入角色]。
-
粘貼ARN在角色中ARN。
-
-
-
使用具有管理員存取權限的角色 — 如果您具有建立角色的權限,可以對中的所有服務和資源具有完整存取權限 AWS,則可以使用該角色來測試工作流程中任何類型的狀態。若要這麼做,您可以建立Step Functions服務角色,並在IAM主控台中將AdministratorAccess 原則新增至該角色https://console.aws.amazon.com/iam/
。