亚马逊网络服务-使用AWS角色授权Lambda查询AWS数据存储



我正在尝试编写一个Lambda函数,该函数将依赖于存储在某些AWS数据存储区(DynamoDB/Redfshift/RDS)中的数据。我曾希望IAM可以处理对此的授权,即如果我在一个被授权读取数据存储的角色下运行Lambda函数,我将不需要提供访问的凭据详细信息。

然而,这段代码(这是"配置Lambda函数以访问AmazonVPC中的资源"示例的一部分)仍然需要用户名和密码。

是否可以使用IAM角色授权Lambda查询AWS数据存储?

这完全取决于您决定使用哪个数据存储。DynamoDB访问由IAM控制,因为它是亚马逊的专有服务。RDS数据库和ElastiCache都使用您在创建RDS服务器或ElastiCCache集群时选择的数据库引擎的授权方案,我相信在任何情况下都是某种形式的用户名/密码。此外,Aurora使用的登录名和密码与MySQL一样,因为它与MySQL兼容,而Redshift使用的登录/密码与PostgreSQL相同,因为它兼容PostgreSQL。

我强烈建议您根据实际的数据存储需求选择数据存储。如果您需要关系型OLTP数据库,请选择RDS;如果您需要OLAP数据库,请使用Redshift;如果需要Redis或Memcached缓存,请选择ElastiCache;如果需要第三方或自行管理的NoSQL数据库(如mLab/MongoDB),请使用DynamoDB;如果NoSQL数据库可以工作,并且DynamoDB符合您的需求,请使用迪纳摩数据库。

最新更新