如何解决 AWS Step Functions 中的“全球服务主体 states.amazonaws.com 和区域服务主体都未获得代入所提供角色的授权”错误?

1 分钟阅读
0

当我尝试运行 AWS Step Functions 状态机时,收到以下错误: “全球服务主体 states.amazonaws.com 和区域服务主体都未获得代入所提供角色的授权。” 如何解决该问题?

解决方法

验证您的状态机代入的 AWS Identity and Access Management (IAM) 角色是否已配置所需的信任关系

在 IAM 角色的信任策略中,必须将以下其中一项列为可信实体:

  • AWS 区域端点:states.<region>.amazonaws.com
  • AWS 全球端点:states.amazonaws.com

要查看和编辑您的状态机代入的 IAM 角色的信任策略,请按照修改角色信任策略(控制台)中的说明进行操作。有关详细信息,请参阅 AWS Step Functions 如何与 IAM 配合使用

**注意:**调用 StartExecution API 操作时,Step Functions 使用在操作运行时系统期间与状态机关联的 IAM 角色。如果状态机代入的 IAM 角色在操作运行时系统期间发生变化,则 IAM 角色不会用于该 API 操作。

验证您的状态机代入的 IAM 角色是否仍然存在

1.    打开 Step Functions 控制台

2.    在左侧导航窗格中,选择状态机

3.    选择您的状态机的名称。

4.    在详细信息部分中,选择 IAM 角色 ARN下的链接。如果 IAM 角色存在,则该角色将在 IAM 控制台中打开。如果 IAM 角色不存在,IAM 控制台会打开一个页面,显示未找到实体

如果您的状态机代入的 IAM 角色不存在,请使用其他名称创建一个新的 IAM 角色,并且该角色包含所需的权限。然后,配置您的状态机以代入您创建的新 IAM 角色。有关详细信息,请参阅 AWS Step Functions 如何与 IAM 配合使用

**重要事项:**您创建的新 IAM 角色的名称必须与之前的 IAM 角色的名称不同。

AWS 官方
AWS 官方已更新 2 年前