AWS GraphQL Appsync-无法担任角色

时间:2019-12-12 11:23:37

标签: amazon-web-services aws-lambda graphql aws-appsync

我正在运行技术栈-> graphQL-> appsync-> lambda->开始

当我从客户端运行我的graphQL查询时,我会收到此错误:

Unable to assume role arn:aws:iam::<SOMENUMBER>:role/service-role/MyRoleForMyLambda.

实际上,在我不小心将数据源上的ARN函数和角色更改为其他函数之前,一切运行良好。我把它们改回来了,但是现在Appsync似乎找不到角色和功能ARN。我尝试创建一个全新的数据源,但是存在相同的问题。通常,功能ARN和/或角色不会出现在下拉菜单中,因此我会手动输入它们。有时,它可以让我进行保存而没有错误-有时在尝试保存数据源时,我得到了有用的错误消息“错误”。有时保存后,当我再次查看它们时,除非单击“不在下拉列表中”链接,否则功能ARN字段为空白。

我不认为问题出在我的角色本身上,因为看来appsync甚至都不能承担起这个角色。我已经读过有关信任策略作为解决方案的文章,但是我不知道将其放在哪里。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

在您的IAM控制台中,您需要将Appsync服务作为受信任的实体添加到您要承担的角色中 IAM Trusted Entity

点击“编辑信任关系”,然后输入以下内容:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "appsync.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}