1

我在从Lambda访问MobileHub中创建的资源时遇到问题,这对我来说根本没有意义。我有两个问题(也许是同一个问题..):

  1. 为什么当 lambda对这些特定资源具有完全访问权限时,它无法访问 MobileHub 创建的所有资源?我的意思是,如果我单独创建这些资源,我可以访问它们,但不能从 MobileHub 中创建它们。

  2. 有没有办法授予对这些资源的访问权限,或者我错过了什么?

更新

问题是VPC。基本上,当我在 lambdas 上启用 VPC 以访问没有公共访问权限的 rds 时,我无法访问任何其他资源,当我禁用它时 - RDS 无法访问。问题是如何将 vpc 与角色策略结合起来?

4

1 回答 1

1

您可以使用 Mobile Hub 控制台中的左侧导航找到与您的项目关联的资源,然后选择“资源”。如果您希望您的 AWS Lambda 函数能够使用任何 AWS 资源,那么您需要将适当的 IAM 策略添加到 Lambda 执行 IAM 角色。您可以在“AWS 身份和访问管理角色”下的“资源”页面上的项目中找到此角色。它是名称中包含“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


**更新 - WRT VPC 问题**
这个问题真的应该交给 AWS Lambda 团队的专家。您可以在 AWS 论坛(上面的链接)中与他们联系。但是,我会尝试回答(如果我在这里错了,AWS Lambda 专家可以随时加入)。当您在 Lambda 函数上设置 VPC 时,我希望来自您的 Lambda 函数的任何网络流量都将具有与您的 VPC 中的其他任何内容相同的路由和域名解析行为。因此,如果您的 VPC 具有阻止流量从 VPC 流向例如 DynamoDB 的防火墙规则,那么您将无法访问它。如果是这种情况,那么您需要更新 VPC 安全组中的这些规则以打开传出流量。这是来自相关文件的简介。

来自 https://aws.amazon.com/vpc/details/:
*AWS 资源(例如 Elastic Load Balancing、Amazon ElastiCache、Amazon RDS 和 Amazon Redshift)使用您的 VPC 中的 IP 地址进行预置。其他 AWS 资源(例如 Amazon S3 和 Amazon DynamoDB)可通过您的 VPC 的 Internet 网关、NAT 网关、VPC 终端节点或虚拟私有网关访问。*

此文档似乎解释了如何配置网关方法:
http://docs.aws。 amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html
于 2017-03-01T00:39:20.297 回答