0

我正在尝试从根/默认账户中的 AWS Lambda 连接到位于根/默认账户下的自定义配置文件/账户/角色中的 AWS AppSync。

下面的 python 代码在本地运行良好,因为我在本地 .aws/config 文件中配置了“custom_profile”。

session = boto3.Session(profile_name='custom_profile')
client = session.client('appsync', region_name='<region>')

但是有没有办法让这个代码在根账户的 AWS Lambda 中运行呢?AWS Lambda 如何理解什么是“custom_profile”?我可以在哪里以及如何将“custom_profile”映射到相应的角色 ARN?

我在这个链接上看到了这个问题的可能解决方案,但我还没有尝试过。
有没有人遇到过类似的问题并且知道比链接更容易解决这个问题的方法?

4

1 回答 1

2

您引用的链接是要走的路。AWS Lambda 函数具有的权限将在该函数的角色中定义。这可以包括在另一个账户中担任角色的权限。

然后,您可以使用安全令牌服务(或简称 STS)并执行AssumeRole操作。这将为您提供 AWS 令牌,您可以使用这些令牌来验证您对其他账户的调用。

您还必须将执行 lambda 函数的帐户配置为您希望在第二个帐户中担任的角色的受信任实体。

于 2021-08-19T07:04:07.090 回答