Amazon web services DynamoDB拒绝访问除管理员和Lambda函数以外的所有人

Amazon web services DynamoDB拒绝访问除管理员和Lambda函数以外的所有人,amazon-web-services,aws-lambda,amazon-dynamodb,amazon-iam,Amazon Web Services,Aws Lambda,Amazon Dynamodb,Amazon Iam,我有几个AWS Lambda函数,每个函数都包含以下别名(阶段):dev、qa和prod 这些函数中的每个函数都有一些环境变量,每个别名的值应该不同,但由于Lambda不支持在别名级别设置环境变量,因此我决定使用DynamoDB表来存储变量值 现在,由于这些变量包含敏感信息,我希望确保对该表的访问受到尽可能多的限制 所以我想拒绝所有人的访问,只允许管理员和Lambda函数访问它 我知道我可以通过在IAM上使用适当的角色/策略来提供对表的访问权限,但我如何确保仅向我明确提供访问权限的用户/功能提供

我有几个AWS Lambda函数,每个函数都包含以下别名(阶段):devqaprod

这些函数中的每个函数都有一些环境变量,每个别名的值应该不同,但由于Lambda不支持在别名级别设置环境变量,因此我决定使用DynamoDB表来存储变量值

现在,由于这些变量包含敏感信息,我希望确保对该表的访问受到尽可能多的限制

所以我想拒绝所有人的访问,只允许管理员和Lambda函数访问它

我知道我可以通过在IAM上使用适当的角色/策略来提供对表的访问权限,但我如何确保仅向我明确提供访问权限的用户/功能提供访问权限?

看看哪个是分层的,允许您设置每个阶段的权限(示例)也可以基于标记进行控制(示例)

或者可以使用Lambda函数upload打包参数


有关更多想法,请参见。

使用参数存储而不是将敏感信息保存在数据库中是正确的答案。更安全、更易于管理。请注意,参数存储是Simple Systems Manager的一部分,因此您可以在SDK中找到它。例如,。谢谢你的回答!我确实读了你提到的那篇文章,基于此,我决定使用DynamoDB。但我不知道参数存储,它似乎非常适合我试图实现的目标(至少在Lambda函数上没有别名级别的环境变量支持的情况下)。可能也是一个不错的选择。@WhiteHotLoveTiger同意。这是参数存储和AWS机密之间的比较。