ロールではなく、Access-keyで権限を付与することはできないかなと思い、試してみました。
os.environを利用することで環境変数を利用することができます。
Lambda関数でも環境変数を取得できるようになり、コード管理が容易になりました。
xx.py
import boto3
import os
from boto3.session import Session
access_key = os.environ['ACCESS_KEY']
secret_key = os.environ['SECRET_KEY']
session = Session(
aws_access_key_id = access_key,
aws_secret_access_key = secret_key,
region_name = 'us-west-1'
)
ddb= session.resource("dynamodb")