Amplifyのfunction(lambda)からgraphql API実行した時に、Not Authorized to access xxxx on type Queryと怒られた時の対処法
schema.graphql
type User
@model
@searchable
@auth(
rules: [
{ allow: private, provider: iam }
]
) {
name: String
}
functionからQueryを実行したら、以下の応答でアクセスができなかった。
errorType: 'Unauthorized',
message: 'Not Authorized to access searchUser on type Query'
[参考]
Clarity Request: Unexpected “Not Authorized” with IAM and Transformer v2
https://github.com/aws-amplify/amplify-category-api/issues/100
リゾルバがいけてない模様?
記事にある通りamplify/backend/{appname}/custom-roles.json を作成して以下のようにしたら解消した。
{
"adminRoleNames": ["arn:aws:sts::<AccountIdHere>:assumed-role"]
}