AWS Lambda 函数的跨账户角色
Cross account role for an AWS Lambda function
我有两个 AWS 账户(A 和 B)。在我的账户 A 上,我有一个 lambda 函数需要访问账户 B 的资源。
准确地说,我的账户 A 上的 lambda 需要更新我账户 B 上托管的 Route53 区域中的记录。
与 S3 相反,我在 Route53 中没有看到任何资源访问策略。所以我有点迷路了。
我尝试使用 IAM 跨账户角色,但这似乎不适用于 lambda。
如何允许账户 A 上的 lambda 函数访问我的账户 B 的资源?
您可以在账户 B 中创建角色并允许您的用户(在账户 A 中)担任该角色。
- 在账户 A 中创建一个 角色,您的 AWS Lambda 函数将使用该角色。
- 在账户 B 中创建一个角色类型为跨账户访问角色的角色。分配所需的权限以在账户 B 中使用 Route 53。同时为账户 A 中的角色添加权限以调用此角色的
AssumeRole
。
- 账户 A 中的 Lambda 函数 然后可以对账户 B 中的角色调用
AssumeRole
。这将 return 一组 临时凭证,可用于访问帐户 B 中的 Route 53。
参见:
- Tutorial: Delegate Access Across AWS Accounts Using IAM Roles
- Creating a Role to Delegate Permissions to an IAM User
这是教程中的图片:
我有两个 AWS 账户(A 和 B)。在我的账户 A 上,我有一个 lambda 函数需要访问账户 B 的资源。 准确地说,我的账户 A 上的 lambda 需要更新我账户 B 上托管的 Route53 区域中的记录。
与 S3 相反,我在 Route53 中没有看到任何资源访问策略。所以我有点迷路了。 我尝试使用 IAM 跨账户角色,但这似乎不适用于 lambda。
如何允许账户 A 上的 lambda 函数访问我的账户 B 的资源?
您可以在账户 B 中创建角色并允许您的用户(在账户 A 中)担任该角色。
- 在账户 A 中创建一个 角色,您的 AWS Lambda 函数将使用该角色。
- 在账户 B 中创建一个角色类型为跨账户访问角色的角色。分配所需的权限以在账户 B 中使用 Route 53。同时为账户 A 中的角色添加权限以调用此角色的
AssumeRole
。 - 账户 A 中的 Lambda 函数 然后可以对账户 B 中的角色调用
AssumeRole
。这将 return 一组 临时凭证,可用于访问帐户 B 中的 Route 53。
参见:
- Tutorial: Delegate Access Across AWS Accounts Using IAM Roles
- Creating a Role to Delegate Permissions to an IAM User
这是教程中的图片: