【发布时间】:2019-07-29 08:53:24
【问题描述】:
我创建了一个新的 IAM 角色,它可以访问(扫描/查询)特定的 DynamoDb 表。
我正在尝试从我的 lambda 函数中使用 STS Assume Role API 调用,以便 lambda 函数可以访问特定的 Dynamo Db 表。
Assume Role 调用成功,我得到了角色 ID、AccesskeyId、Secret Access Key 和 Session Token。
当我从我的 lambda 函数调用以访问 Dynamo DB 时,我收到一个错误
AccessDeniedException:用户: arn:aws:sts::>:假定角色/ota-dev-us-east-1-lambdaRole/ 无权执行:dynamodb:扫描资源: arn:aws:dynamodb:us-east-1:>:table/
我的问题是,即使在 Lambda 函数中角色 Assume 调用成功后,为什么 lambda 函数仍然使用旧角色来访问 Dynamo DB?
我期待 Lambda 函数承担新角色,但从看起来的日志来看,它仍在使用旧角色。
看起来我在两者之间缺少一些步骤。
【问题讨论】:
-
再澄清一点:roleId 是指 AccessKeyId 吗?
ota-dev-us-east-1-lambdaRole是你提到的老角色的名字吗? -
是的,ota-dev-us-east-1-lambdaRole 是我的角色名称
标签: amazon-web-services aws-lambda amazon-iam