我认为我的情况很普遍,但是找不到关于如何实现目标的简明指南。我正在开发Alexa技能,并且具备以下条件:
Lambda function: arn:aws:lambda:us-west-2:123456789012:function:lambda1
目前,Alexa Skill可以很好地与Lambda一起完成简单的任务。 Lambda的执行角色是:
arn:aws:iam::123456789012:role/service-role/lambda1-role-rp2z9bjn
我现在想将DynamoDB添加到我的Lambda(Node.js)。我创建了以下内容:
IAM user: arn:aws:iam::123456789012:user/user1
DynamoDB table: arn:aws:dynamodb:us-west-2:123456789012:table/T1
我现在如何将所有内容连接在一起,即让Lambda函数对T1
执行读/写操作? IAM用户甚至有必要吗?
答案 0 :(得分:3)
您不需要IAM用户。
相反,将DynamoDB权限添加到Lambda函数使用的IAM角色。例如:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "dynamodb:*",
"Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/T1"
}
]
}
然后将允许Lambda函数使用该表。