存取工作流程 AWS 帳戶 中其他資源 - AWS Step Functions

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

存取工作流程 AWS 帳戶 中其他資源

Step Functions 提供跨帳戶存取工作流程中不同設定 AWS 帳戶 的資源。使用 Step Functions 服務整合,即使 AWS 服務 不支援以 AWS 資源為基礎的政策或跨帳戶呼叫,您也可以叫用任何跨帳戶資源。

例如,假設你擁有兩個 AWS 帳戶,稱為開發和測試,在相同 AWS 區域。使用跨帳戶存取,開發帳戶中的工作流程可以存取測試帳戶中可用的資源,例如 Amazon S3 儲存貯體、Amazon DynamoDB 表和 Lambda 函數。

重要

IAM 角色和資源型政策只會在單一分割內跨帳戶委派存取許可。例如,假設您在標準 aws 分割區的美國西部 (加利佛尼亞北部) 中有一個帳戶。您在 aws-cn 分割區的中國 (北京) 中也有一個帳戶。您不能使用中國 (北京) 中帳戶的 Amazon S3 資源型政策,對標準 aws 帳戶中的使用者允許存取許可。

如需跨帳戶存取的詳細資訊,請參閱 IAM 使用者指南中的跨帳戶政策評估邏輯

雖然每個 AWS 帳戶 都能完全控制自己的資源,但是使用 Step Functions,您可以重新組織、交換、新增或移除工作流程中的步驟,而不需要自訂任何程式碼。即使流程發生變化或應用程序的發展,您也可以執行此操作。

您還可以調用嵌套狀態機器的執行,以便在不同的帳戶中使用它們。這樣做可以有效地分離和隔離您的工作流程。當您在工作流程中使用.sync服務整合模式來存取其他帳戶中的其他 Step Functions 工作流程時,Step Functions 會使用耗用指派配額的輪詢。如需詳細資訊,請參閱 執行任務 (.sync)

注意

目前,Step Functions 中無法使用跨區域 AWS SDK 整合和跨區域 AWS 資源存取。

本主題的關鍵概念

執行角色

Step Functions 數用來執行程式碼和存取 AWS 資源 (例如 AWS Lambda 函數的叫用動作) 的 IAM 角色。

服務整合

可從工作流程中的Task狀態中呼叫的 AWS SDK 整合 API 動作。

來源帳戶

擁 AWS 帳戶 有狀態機器並已開始執行的。

目標帳戶

您進行跨帳戶通話 AWS 帳戶 的目標。

目標角色

目標帳戶中的 IAM 角色,狀態機器假設呼叫目標帳戶所擁有的資源。

執行 Job (.sync)

用於呼叫服務的服務整合模式,例如 AWS Batch. 它還使得 Step Functions 狀態機等待作業完成,然後再進入下一個狀態。若要指出 Step Functions 應該等待,請在Task狀態定義的Resource欄位中附加.sync尾碼。

呼叫跨帳戶資源

若要在工作流程中叫用跨帳號資源,請執行下列動作:

  1. 在包含資源的目標帳戶中建立 IAM 角色。此角色會授與包含狀態機器的來源帳戶存取目標帳戶資源的權限。

  2. Task州的定義中,指定狀態機器在叫用跨帳戶資源之前要採用的目標 IAM 角色。

  3. 修改目標 IAM 角色中的信任政策,以允許來源帳戶暫時擔任此角色。信任政策必須包含來源帳戶中定義之狀態機器的 Amazon 資源名稱 (ARN)。此外,請在目標 IAM 角色中定義適當的許可,以呼叫 AWS 資源。

  4. 更新來源帳戶的執行角色,以包含假設目標 IAM 角色所需的權限。

如需範例,請參閱教學課程:存取跨帳戶 AWS 資源

注意

您可以將狀態機設定為擔任 IAM 角色,以便從多個存取資源 AWS 帳戶。但是,狀態機器在給定時間只能承擔一個 IAM 角色。

存取跨帳戶資源的概念