我认为我有一个非常普遍的场景,但是我找不到有关如何实现目标的凝结指南。我正在发展Alexa技能,并具有以下内容:
Lambda function: arn:aws:lambda:us-west-2:123456789012:function:lambda1
目前,Alexa技能与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用户甚至需要吗?
您不需要IAM用户。
相反,将dynamoDB权限添加到lambda函数使用的IAM角色中。例如:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "dynamodb:*",
"Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/T1"
}
]
}
然后将允许使用该表的lambda函数。