配置跨账户S3存储桶的访问

7 篇文章 0 订阅
5 篇文章 0 订阅

目录

1. S3存储桶概述

2. 案例实践

2.1 资源准备

2.2 配置S3存储桶策略

2.3 配置AWS cli

2.4 测试


1. S3存储桶概述

将S3存储桶的访问权限授予属于不同aws帐户的委托人,在很多组织的AWS架构中非常常见。

我们知道,创建的S3存储桶默认情况下是私有的,任何存储桶拥有者之外的账户都不能访问存储桶。在这种情况下,假设我们有两个aws账户bas和bas-developer,就需要使用存储桶策略来达成跨账户进行S3存储桶访问,也就是说bas创建存储桶策略,允许bas-developer访问存储桶。

2. 案例实践

2.1 资源准备

1) 假设现在账户bas创建好了bas-demo-bucket,进入到S3控制台

2.2 配置S3存储桶策略

去到S3权限编辑,加上以下的存储桶策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "cross",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::004398020230:root"
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::bas-demo-bucket",
                "arn:aws:s3:::bas-demo-bucket/*"
            ]
        }
    ]
}

 其中,Effect 是允许,Principal资源委托人,要配置为bas-developer也就是EC2所在账户的arn,可以在这复制过来:

 到这已经可以通过bas-developer的cli访问bas的存储桶了。

2.3 配置AWS cli

1) 进入到IAM的安全凭证

2) 然后创建新的访问密钥:

2.4 测试

1) 通过aws configure命令配置cli的access key和key id:

2) 通过bas-developer的profile访问bas的S3。

3) 下载测试。

1. 关于AWS cli安装和环境配置可以参考:AWS CLI 安装配置

2. 如果通过bas-developer拷贝本地文件到bas的桶,那么bas也下载不了这个文件。切换到bas控制台页面然后进入存储桶后找到这个文件,在右侧面板属性可以看到很多属性是拒绝访问的。图中可以看到只有bas-developer才有完全访问权限。 

3. 关于S3跨账户访问配置可以参考:如何提供对 Amazon S3 存储桶中的对象的跨账户访问权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值