【问题标题】:Cross account role for an AWS Lambda functionAWS Lambda 函数的跨账户角色
【发布时间】:2016-11-02 21:21:56
【问题描述】:

我有两个 AWS 账户(A 和 B)。在我的账户 A 上,我有一个 lambda 函数,需要访问账户 B 的资源。 准确地说,我的账户 A 上的 lambda 需要更新我的账户 B 上托管的 Route53 区域中的记录。

与 S3 相反,我在 Route53 中看不到任何资源访问策略。所以我有点失落。 我尝试使用 IAM 跨账户角色,但这似乎不适用于 lambda。

如何允许账户 A 上的 lambda 函数访问我的账户 B 的资源?

【问题讨论】:

    标签: amazon-web-services amazon-iam aws-lambda


    【解决方案1】:

    您可以在账户 B 中创建一个角色并允许您的用户(在账户 A 中)担任该角色。

    • 在账户 A 中创建一个角色,供您的 AWS Lambda 函数使用。
    • 在帐户 B 中创建一个角色,角色类型为跨帐户访问角色。分配所需的权限以在账户 B 中使用 Route 53。同时为账户 A 中的角色添加权限,以便在该角色上调用 AssumeRole
    • 账户 A 中的 Lambda 函数 然后可以对账户 B 中的角色调用 AssumeRole。这将返回一组可用于访问的临时凭证账户 B 中的 Route 53。

    见:

    这是教程中的图片:

    【讨论】:

    • 好的,我做到了,你的解决方案奏效了。我首先阅读并认为这仅适用于人类用户(更改角色的切换按钮),但实际上您可以使用 lambda 以编程方式“assumeRole”。但是,如果您需要从托管服务访问资源(我没有任何示例,可能帐户 A 上的警报发送帐户 B 上的 SNS),您无法为“ AssumeRole"),但是对于 Lambda 和 Ec2,没关系。谢谢。
    • 我认为您还需要在账户 B 中添加角色 B 的权限,以便允许账户 A 代入角色 B。账户 A 角色只需要账户 A Lambda 代入角色 A 的权限。跨度>
    • 同一个Lambda能否同时额外访问另一个账户C中的资源?
    猜你喜欢
    • 1970-01-01
    • 2017-03-16
    • 1970-01-01
    • 2018-01-08
    • 2023-02-02
    • 2015-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多