本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Step Functions IAM 中為狀態機創建角色
AWS Step Functions 可以執行代碼和訪問 AWS 資源(例如調用 AWS Lambda 功能)。若要維護安全性,您必須使用角色授與 Step Functions 對這些資源的存取IAM權。
本指南學習 Step Functions 的教學課程中的可讓您利用自動產生的有效IAM角色 AWS 您在其中建立狀態機器的區域。但是,您可以為狀態機器建立自己的IAM角色。
建立要使用的狀態機器的原IAM則時,原則應包含您希望狀態機器採用的權限。您可以使用現有 AWS 以受管理原則為範例,或者您可以從頭開始建立符合您特定需求的自訂原則。如需詳細資訊,請參閱IAM使用指南中的〈建立IAM策略〉。
若要為狀態機建立您自己的IAM角色,請遵循本節中的步驟。
在此範例中,您建立具有叫用 Lambda 函數之權限的IAM角色。
建立 Step Functions 的角色
-
登入IAM主控台
,然後選擇 [角色]、[建立角色]。 -
在 [選取信任的實體] 頁面上,於 AWS 服務,從清單中選取「Step Functions」,然後選擇「下一步:權限」。
-
在 Attached permissions policy (連結許可政策) 頁面上,選擇 Next: Review (下一步:檢閱)。
-
在 [複查] 頁面上,輸入
StepFunctionsLambdaRole
角色名稱,然後選擇 [建立角色]。角IAM色會顯示在角色清單中。
如需有關IAM權限和原則的詳細資訊,請參閱《IAM使用指南》中的〈存取管理〉。
防止跨服務混淆副問題
混淆代理人問題屬於安全性議題,其中沒有執行動作許可的實體可以強制具有更多許可的實體執行該動作。In (入) AWS,跨服務模擬可能會導致混淆的副問題。在某個服務 (呼叫服務) 呼叫另一個服務 (被呼叫服務) 時,可能會發生跨服務模擬。這種類型的冒充可能發生跨帳戶和跨服務。可以操縱呼叫服務來使用其許可,以其不應有存取許可的方式對其他客戶的資源採取動作。
為了防止混淆的代表 AWS 提供的工具可協助您透過已授予您帳戶中資源存取權的服務主體來保護所有服務的資料。本節重點介紹具體的跨服務混淆副預防 AWS Step Functions;不過,您可以在《IAM使用者指南》中混淆的副問題一節,深入瞭解此主題。
我們建議在資源策略中使用aws:SourceArn
和aws:SourceAccount
全域條件前後關聯索引鍵,以限制下列項目的權限 Step Functions 提供另一項服務來存取您的資源。如果您想要僅允許一個資源與跨服務存取相關聯,則請使用 aws:SourceArn
。如果您想要允許該帳戶中的任何資源與跨服務使用相關聯,請使用 aws:SourceAccount
。
防止混淆的副問題的最有效方法是使用aws:SourceArn
全局條件上下文鍵與完整ARN的資源。如果您不知道資源ARN的完整內容,或者您要指定多個資源,請針對未知部分使用萬用字元 (*
) 的aws:SourceArn
全域內容條件索引鍵與萬用字元 () ARN。例如:arn:aws:states:*:111122223333:*
。
以下是受信任原則的範例,顯示如何使aws:SourceAccount
用 aws:SourceArn
Step Functions,以防止混淆的副問題。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "states.amazonaws.com" ] }, "Action":"sts:AssumeRole", "Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:states:us-east-1:111122223333:stateMachine:*" }, "StringEquals":{ "aws:SourceAccount":"111122223333" } } } ] }
連接內嵌政策
Step Functions 可以直接在Task
狀態下控制其他服務。附加內嵌原則以允許 Step Fun API ctions 存取您需要控制之服務的動作。
-
開啟主IAM控台
,選擇 [角色],搜尋您的 Step Functions 角色,然後選取該角色。 -
選取 Add inline policy (新增內嵌政策)。
-
使用視覺化編輯器或索JSON引標籤為您的角色建立原則。
有關如何進一步了解 AWS Step Functions 可以控制其他 AWS 服務,請參閱整合服務與 Step Functions。
注意
如需由 Step Functions 主控台建立的IAM原則範例,請參閱Step Functions 式如何為整合式服務產生IAM原則。