[AWS][存储] 制作自己的企业网盘S3 Policy+S3 Browser

最近很多客户问我S3有没有客户端工具?如何通过IAM用户和权限通过一个客户端来管理我的存储桶?
本文以第三方工具S3 Browser 结合 S3 的 一些特性(Bucket,Objective-level-logging,IAM user,IAM Policy,S3 versioning)一步一步带你实现客户端的存储桶管理。

非常适合的场景是多个部门或Team,比如开发,市场,运营,人事等 他们都需要有各自的权限各自的桶来管理文件。

  1. 先建立一个bucket:s3-bucket-devgroup 来作为测试bucket。

  1. 这里写一个Tags和开启Object-level logging(我后面会告诉你有什么用)

  1. 随便上传个对象,为了测试:

  1. 确认一下基于 Object-level logging 有没有启用。

  1. Copy 一下 Bucket ARN 到 note或记事本中,我们在后面做policy的时候会用到。
    格式是:arn:aws:s3:::s3-bucket-devgroup

  1. 这是第二部分,在IAM中添加一个User并赋予权限。

  1. 这里在Access type中,根据权限最小化原则,我并没有选择让DevUser01这个用户有登陆控制台的权限。

  1. 这里我们创建一个策略Policy。

  2. 定义策略,Service 选择S3。我现在的目的只想让这个用户看到s3-bucket-devgroup的桶里有什么,其他权限都没有。我稍后会给他加上传和下载的权限。

  3. 复制刚才copy 到note或记事本中的ARN,

  4. object 选择 Any。

  5. 取一个特别的名字;

  6. 将刚刚创建好的Policy附给DevUser01这个用户;

  1. 创建完User后,我们要复制他的AK和SK,也就是有码部分。我们使用客户端的时候会用到。

  2. 第三部分,下载并使用S3 browser。

http://s3browser.com/

  1. 使用AK/SK登陆

  2. 看到我桶里的Bucket,但是我随意点击一个不是s3-bucket-devgroup的桶,发现是Access Denied的。

  1. 我有权限访问s3-bucket-devgroup的桶,但是没有下载和上传的权限。

  1. 我赋予DevUser01下载和上传的权限,我将Write中的Put操作勾选上;

  1. 更新我的策略Policy;

  2. Refresh后发现我就拥有了对s3-bucket-devgroup桶的上传和下载权限;

  3. 我上传的文件也同步到S3中

  1. 为了防止同事误删,我没有给DevUser01删除对象的权限;

但是,当该用户上传同名文件的时候,原文件将被覆盖,这里建议开启版本控制,一旦文件被覆盖我们可以还原之前的版本。在S3的控制台中Enable versioning。如下图:

  1. 这样一旦我的文件被错误的覆盖,我也能还原我之前的版本。

可以通过S3 Browser 恢复

  1. 也可以通过S3 还原,当然,这里我并没有授予DevUser01登陆控制台的权限,所以他无法登陆控制台还原。只有管理员或赋予相应权限的用户才可以通过控制台进行还原。

  2. 最后,记得我们前面为什么开启Object-level logging吗?
    作为管理员,我想要知道,我分配的用户对Bucket桶中都做了哪儿些操作,尤其是有删除权限的用户。CloudTrail尤为重要。
    除此之外CloudTrail可帮助对您的 AWS 账户进行监管、合规性检查、操作审核和风险审核。用户、角色或 AWS 服务执行的操作将记录为 CloudTrail 中的事件。事件包括在 AWS 管理控制台、AWS Command Line Interface 和 AWS 开发工具包和 API 中执行的操作。
    https://docs.aws.amazon.com/zh_cn/awscloudtrail/latest/userguide/view-cloudtrail-events-console.html

备注:

1.我们还可以将权限根据我们的需求进行更一步的细化,可以参考:https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/using-with-s3-actions.html
2.除了S3 Browser 以为还有其他第三方工具,比如CloudBerry Explorer,Commander One 也都可以并支持Mac OS。
3.S3 Browser 免费版本Free Version for non-commercial use only,如果商用,请购买或Upgrade to Pro版本。

有关S3权限的详细视频课程:https://edu.51cto.com/center/course/lesson/index?id=533836

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

栗子哥BroLiz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值