我在从 Lambda 访问 MobileHub 中创建的资源时出现问题,这对我来说根本没有意义..我有两个问题(也许是同样的问题..):
为什么lambda在拥有 fullAccess 对这些特定资源的权限时,无法访问MobileHub创建的所有资源?我的意思是,如果我单独创建这些资源,我可以访问它们,但不能从MobileHub创建它们。
有没有办法授予对这些资源的访问权限,还是我错过了什么?
更新
问题是 VPC 。基本上当我在lambdas上启用VPC以达到没有公共访问权限的rds时,我无法访问任何其他资源,当我禁用它时 - RDS无法访问。问题是如何将vpc与角色策略结合起来?
答案 0 :(得分:1)
您可以使用Mobile Hub控制台中的左侧导航找到与项目关联的资源,然后选择“资源”。如果要使AWS Lambda函数能够使用任何AWS资源,则需要向Lambda Execute IAM角色添加适当的IAM策略。您可以在“AWS Identity and Access Management Roles”下的“Resources”页面上的项目中找到此角色。这个角色在名称中有“lambdaexecutionrole”。选择此角色,然后在IAM(身份和访问管理)控制台中附加您喜欢的任何策略
有关如何将角色附加到策略的更多信息,请参阅:
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html
而且,如果您还有其他问题,可以在论坛中获得AWS社区的帮助,例如:
https://forums.aws.amazon.com/forum.jspa?forumID=88
此致
安德鲁C
AWS移动开发人员体验
更新 - WRT VPC问题
这个问题应该归AWS Lambda团队的专家所有。您可以在AWS论坛中访问它们(上面的链接)。但是,我会小心翼翼地回答(如果我错在这里,AWS Lambda专家可以随意插入)。当您在Lambda函数上设置VPC时,我希望来自您的Lambda函数的任何网络流量将具有与您的VPC中的任何其他内容相同的路由和域名解析行为。因此,如果您的VPC具有防止来自VPC的流量的防火墙规则(例如,DynamoDB),那么您将无法访问它。如果是这种情况,那么您需要在VPC的安全组中更新这些规则以打开外出流量。这是相关文件的简介
来自https://aws.amazon.com/vpc/details/:
Elastic Load Balancing,Amazon ElastiCache,Amazon RDS和Amazon Redshift等AWS资源在您的VPC中配置了IP地址。其他AWS资源(如Amazon S3和Amazon DynamoDB)可通过VPC的Internet网关,NAT网关,VPC端点或虚拟专用网关访问。
这个文档似乎解释了如何配置网关方法:
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html