Lambda関数にdynamodbのアクセス権限を与える 2023/08/07

現在時刻 19:45

先日、boto3をSDKに固めてレイヤー追加する方法を書きましたが
それだけではDBアクセス出来ず、
アクセスしようとするとログでエラーが出ちゃいます。

An error occurred (AccessDeniedException) when calling the GetItem operation

こんな感じで。
Lambda関数からdynamodbのポリシーをアタッチすることが必要になります。

関数→設定→アクセス権限→ロール名クリックしてIAMを開く
→許可を追加


ポリシーをアタッチ


検索画面で
「dyanamo」
と打つと出てくる。
フルアクセスのチェックボックスにチェックを入れて
許可を追加


下に追加されていればOK


これでLambda関数がDynamoDBにアクセスできるようになります。

【追記】
今作っている関数が、boto3のSDKを入れていないはずなんですが
ポリシーをアタッチしただけでdynamodbへのアクセスが出来るようになりました。
python3.10でやっていたときは確かに接続できなかったはずなんですがpython3.11のランタイムに組み込まれている?


この記事が気に入ったらサポートをしてみませんか?