(AWS)GraphQLをPythonから利用したときの権限エラーに対処

AWS Lambda関数(Python)からGraphQL(AppSync)を利用してDynamoDBにアクセスしようとした時の失敗について紹介します。

当初、Pythonからは、boto3を利用してDynamoDBのテーブルにアクセスしていました。その後、どうしてもGraphQLを利用する必要があり、IAMを利用してアクセスすることにしました。
しかし、IAMに権限を与えた上でアクセスしても権限エラーが発生してしまいました。

結論は、
amplify/backend/api/プロジェクト名/の配下にcustom-roles.jsonを作成する必要がある
でした。

詳細は、こちらのサイトをご覧下さい。

custom-roles.jsonの内容は、以下の通りです。

お恥ずかしい話ですが、IAMさえ設定すれば大丈夫と思い込んでいたため、この対応が必要な所を見落としていました。情けないですが。。。
何かの参考になれば幸いです。

本記事にたいする質問やお問合せ・IT改善のご相談はこちら