通过资源策略授权跨账户访问S3

背景

有的时候,我们的服务资源分布在不同的AWS账号下,比如A公司的EMR 需要使用B公司的AWS S3资源。或者一个公司下有多个AWS账号,不同账号下的服务需要进行访问。如何进行跨账号授权访问资源,AWS 提供了两种方式,1:使用资源策略,2:使用 IAM 角色。本文将介绍使用资源策略授权方式,将B 账号下的S3 授予A 账号下的EMR 访问

思路

  1. 在B账号下的S3 中,配置存储桶策略,授权A 账号可以完全访问权限

  2. 在A 账号中,创建一个访问B账号 S3 的策略

  3. 在现在EMR 角色中,附加上面创建的策略

示例

1:在B账号的S3 存储桶上(假设存储桶名为:bucketname),配置存储桶策略,授权对A账号(假设AccountID:111111111)的访问权限

2:在A 账号中创建一个策略,允许访问B账号下的S3资源

3:将策略附加给EMR_EC2_DefaultRole

以上即完成了将B 账号下的S3 授予A 账号下的EMR 访问

总结

  1. 使用资源策略授权一定是在被访问的资源上配置资源策略

  2. 资源策略有了以后,访问者使用这个资源和平时使用本账号下资源类似,该怎么创建策略,角色都是一样的

注意点

参考

委派访问权限的策略示例

最后更新于

这有帮助吗?