Amazon web services AWS使用Lambda跨账户移动数据

Amazon web services AWS使用Lambda跨账户移动数据,amazon-web-services,amazon-s3,aws-lambda,Amazon Web Services,Amazon S3,Aws Lambda,我有到达S3帐户A的数据,我想自动复制到S3帐户B,但不知道如何引用帐户B中Lambda中帐户A中的文件进行复制 目前已完成的步骤: 1帐户B内联策略添加到引用帐户A S3 bucket的执行角色 2帐户B授予帐户A调用Lambda的权限 3帐户A存储桶策略允许S3访问角色执行角色帐户B 4帐户A事件通知帐户B Lambda(所有ObjectCredte事件) 我是否遗漏了一些步骤或在这里,如果没有,我的Lambda如何直接引用事件捕获的单个文件?由于注释而更新: 从上面的问题来看,我不确定我

我有到达S3帐户A的数据,我想自动复制到S3帐户B,但不知道如何引用帐户B中Lambda中帐户A中的文件进行复制

目前已完成的步骤:

1帐户B内联策略添加到引用帐户A S3 bucket的执行角色

2帐户B授予帐户A调用Lambda的权限

3帐户A存储桶策略允许S3访问角色执行角色帐户B

4帐户A事件通知帐户B Lambda(所有ObjectCredte事件)


我是否遗漏了一些步骤或在这里,如果没有,我的Lambda如何直接引用事件捕获的单个文件?

由于注释而更新:

从上面的问题来看,我不确定我是否理解设置,但以下是我将如何从架构的角度来处理这个问题:

  • 上载对象时,S3事件会触发帐户A中的Lambda函数

  • Lambda函数从源bucket中检索上载的对象

  • Lambda函数在帐户B中扮演角色,该帐户授予写入目标存储桶的权限

  • Lambda函数将对象写入目标bucket

  • 您需要的权限是:

    • 帐户A中Lambda函数的执行角色,该角色(A)授予从源存储桶读取的权限,以及(b)授予在帐户b中担任该角色的权限(参见下面的项目)

    • A帐户B中的跨帐户角色,,(A)信任上述执行角色,以及(B)授予写入目标存储桶的权限

    注意:确保保存授予
    bucket owner完全控制权的对象,以便帐户B有权使用复制的对象


    如果您希望将对象复制到不同AWS帐户中的一个bucket中,并且不关心复制可能需要15分钟,那么您不需要自己构建任何东西。只需使用该功能即可

    复制允许跨多个应用程序自动、异步复制对象 亚马逊S3水桶。为对象复制配置的存储桶 可以由同一AWS帐户或不同帐户拥有。你可以 在不同AWS区域之间或同一区域内复制对象

    因评论而更新:

    从上面的问题来看,我不确定我是否理解设置,但以下是我将如何从架构的角度来处理这个问题:

  • 上载对象时,S3事件会触发帐户A中的Lambda函数

  • Lambda函数从源bucket中检索上载的对象

  • Lambda函数在帐户B中扮演角色,该帐户授予写入目标存储桶的权限

  • Lambda函数将对象写入目标bucket

  • 您需要的权限是:

    • 帐户A中Lambda函数的执行角色,该角色(A)授予从源存储桶读取的权限,以及(b)授予在帐户b中担任该角色的权限(参见下面的项目)

    • A帐户B中的跨帐户角色,,(A)信任上述执行角色,以及(B)授予写入目标存储桶的权限

    注意:确保保存授予
    bucket owner完全控制权的对象,以便帐户B有权使用复制的对象


    如果您希望将对象复制到不同AWS帐户中的一个bucket中,并且不关心复制可能需要15分钟,那么您不需要自己构建任何东西。只需使用该功能即可

    复制允许跨多个应用程序自动、异步复制对象 亚马逊S3水桶。为对象复制配置的存储桶 可以由同一AWS帐户或不同帐户拥有。你可以 在不同AWS区域之间或同一区域内复制对象


    非常感谢丹尼斯。但是,复制可能需要15分钟的时间,这太多了。我需要一个在mostI几分钟内运行的解决方案。你的设置对我来说并不完全清楚,所以我真的可以告诉你遗漏了什么。我将更新我的答案,告诉你我将如何从架构的角度来处理这个问题。非常感谢Dennis。但是,复制可能需要15分钟的时间,这太多了。我需要一个在mostI几分钟内运行的解决方案。你的设置对我来说并不完全清楚,所以我真的可以告诉你遗漏了什么。我将更新我的答案,说明我将如何从架构的角度来处理这个问题。