使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

如何解决 AWS Step Functions 中的“未获得代入所提供角色的授权”错误?

1 分钟阅读
0

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

解决方法

验证您是否为状态机代入的 IAM 角色配置了所需的信任关系

在 AWS Identity and Access Management (IAM) 角色的信任策略中,必须将以下端点之一列为可信实体:

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

使用 IAM 控制台更新 IAM 角色的信任策略,使该策略包含前面的端点之一。

**注意:**调用 StartExecution API 操作时,Step Functions 使用在 API 操作运行时期间与状态机关联的 IAM 角色。如果您在操作运行时期间更改 IAM 角色,则 Step Functions 不会在 API 操作上使用 IAM 角色。

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

完成以下步骤:

  1. 打开 Step Functions 控制台
  2. 在导航窗格中,选择 State machines(状态机)。
  3. 对于 Names(名称),选择您的状态机的名称。
  4. Details(详细信息)部分中,选择 IAM 角色 ARN 下的链接。如果 IAM 角色存在,则该角色将在 IAM 控制台中打开。如果 IAM 角色不存在,则 IAM 控制台会打开一个页面,显示未找到实体

如果您的状态机代入的 IAM 角色不存在,则使创建一个新的 IAM 角色,并且该角色包含所需的权限。然后,配置您的状态机以代入新的 IAM 角色。 
**重要事项:**新 IAM 角色的名称必须与之前的 IAM 角色不同。

有关详细信息,请参阅 AWS Step Functions 如何与 IAM 配合使用

相关信息

使用 AWS Step Functions 和 AWS Lambda 创建无服务器工作流程

AWS 官方
AWS 官方已更新 1 个月前