使用 is sdk 从账户 1 的 ec2 获取对账户 2 s3 对象的访问权限



我在自动缩放的ec2-env上运行了应用程序。通过AWS CDK创建的account1的(它还应该支持在多个区域上运行(。在应用程序执行过程中,我需要从account2的s3中获取对象。

获取s3数据的方法之一是使用tmp凭据(通过sts扮演角色(:

  1. 在account1端为ec2实例角色创建一个策略,以承担s3对象的sts-tmp凭据
  2. 在account2端创建一个策略GetObject访问s3对象
  3. 在account2站点上创建角色并将point2的策略附加到它+与account1的ec2角色的信任关系

优点:无需用户凭据即可访问数据缺点:每次env更新后都需要手动权限配置

另一种方法是在account2中创建一个拥有获取s3对象权限的用户,并将凭据放在account1一侧。

优点:每次env更新后不需要手动配置权限缺点:暴露IAM用户的凭据

是否有更好的选项来消除手动权限配置和显式IAM用户凭据共享?

您可以在帐户2中的Amazon S3存储桶上添加存储桶策略,该策略允许由帐户1中的Amazon EC2实例使用的IAM角色访问。

这样,EC2实例就可以访问bucket,就像它在同一个Account中一样,而不必承担任何角色或用户。

只需将Principal设置为EC2实例使用的IAM角色的ARN。

相关内容

  • 没有找到相关文章

最新更新