【问题标题】:AWS Step Functions: it doesn't show list of existing roles while creating a new state machineAWS Step Functions:创建新状态机时不显示现有角色列表
【发布时间】:2017-11-08 04:50:53
【问题描述】:

问题:

1) 我使用“Hello World”蓝图创建新的 AWS 状态机

2) 点击创建状态机按钮

3) 它打开一个对话框并选择 iam 角色下拉列表为空,并且未显示与我的 aws 帐户关联的现有 iam 角色列表

调试:

我发现它在执行任何其他操作之前加载仪表板本身时会引发以下 JS 错误。

JS 错误:grapheneConsole_prod_963c8da….gz.js:110 POST https://us-west-2.console.aws.amazon.com/states/service/iam/createrole 403(禁止)

所以我认为它假定用户拥有我没有的“创建角色”权限。

如果有人以前遇到过这个问题并解决了它。请帮我。

一些额外信息:我使用的是分配给所有开发人员的公司 aws 帐户。同样对于 lambda 或任何其他 AWS 资源,我们已经被赋予了我们应该使用的特定开发角色,并且我已经成功地将它与其他所有东西一起使用,以及创建 lambda。如果它会向我显示列表,我会选择相同的 iam 角色

【问题讨论】:

  • 检查附加到 dev 角色的策略是否有足够的权限来创建状态机?
  • 其实这里的问题和我想的有点不同。错误是因为如果他们的错误并且因此它无法提取我现有的角色。因此,即使我有权创建角色,它的行为方式也可能相同,并且不会显示现有角色的下拉菜单。我看到有人在 AWS 论坛上发布了同样的问题,他们已经解决了这个问题,但已经过了一天,我的帖子没有得到任何回复。我可能需要等待一段时间。
  • ok .. 那就无能为力了。如果您觉得我的评论有帮助,请标记它,谢谢-
  • 您可以查看 MColeTrickle 的答案。那是正确的!

标签: amazon-web-services amazon-ec2 aws-lambda amazon-iam aws-step-functions


【解决方案1】:

我向 AWS 支持人员发布了我的问题。

他们提供了发生这种情况的理由。在我看来,这更像是一种限制。

因此,与我们的其他服务相比,Step Functions 中选择 IAM 角色的下拉菜单的工作方式不同。与我们的其他服务不同,只有具有信任关系允许该区域中的 Step Functions 服务代入该角色的 IAM 角色才会显示在下拉列表中。因此,我需要在我的帐户中至少拥有一个具有以下信任策略的 IAM 角色。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "states.<region>.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

我希望这对遇到类似问题的人有所帮助。我花了几天的时间才得到答案。

【讨论】:

  • 这不是限制。这是 IAM 角色配置的先决条件,以便 AWS Step Functions 承担状态机执行的角色。
  • @TrevorSullivan “states..amazonaws.com”应该是“states.amazonaws.com”。为了进一步澄清,在您的角色摘要下,您可以在“信任关系/编辑信任关系”下进行编辑
  • @LandonC 我不知道你为什么要对我说话,因为我没有提供错误的答案。我只是指出这是预期的行为,而不是服务限制。另外仅供参考,您可以编辑此人的错误答案并为他们修复他们的帖子。
  • 你刚刚拯救了我悲惨的一天!经过一天的尝试,它成功了。请不要使用 service: lambda,而是使用 service: states。再次感谢人!!!
猜你喜欢
  • 2020-09-05
  • 2021-01-08
  • 1970-01-01
  • 2021-08-30
  • 2022-09-23
  • 1970-01-01
  • 1970-01-01
  • 2021-11-25
  • 1970-01-01
相关资源
最近更新 更多