Lambda関数にdynamodbのアクセス権限を与える 2023/08/07
現在時刻 19:45
先日、boto3をSDKに固めてレイヤー追加する方法を書きましたが
それだけではDBアクセス出来ず、
アクセスしようとするとログでエラーが出ちゃいます。
An error occurred (AccessDeniedException) when calling the GetItem operation
こんな感じで。
Lambda関数からdynamodbのポリシーをアタッチすることが必要になります。
関数→設定→アクセス権限→ロール名クリックしてIAMを開く
→許可を追加
![](https://assets.st-note.com/img/1691407055719-2DwIKpMHP6.png)
![](https://assets.st-note.com/img/1691407113037-EaM24lpIIQ.png?width=1200)
「dyanamo」
と打つと出てくる。
フルアクセスのチェックボックスにチェックを入れて
許可を追加
![](https://assets.st-note.com/img/1691407189037-Q0Ntac9o4L.png?width=1200)
これでLambda関数がDynamoDBにアクセスできるようになります。
【追記】
今作っている関数が、boto3のSDKを入れていないはずなんですが
ポリシーをアタッチしただけでdynamodbへのアクセスが出来るようになりました。
python3.10でやっていたときは確かに接続できなかったはずなんですがpython3.11のランタイムに組み込まれている?