接上篇,给合作方建好后,以为没事了,谁知过了2天,运营的人跑过来说也需要这个bucket的访问权限,只需要其中一个目录的上传删除权限即可,而且研发方已经建好了目录,好吧,作为一个优秀的运维人员,咱们是来者不拒呀,开工,建IAM用户,细节不废话了,这里我们主要讲如何设置用户的policy,建好用户后进入用户权限设置页,直接设置inline policy,json如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
{ "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::www.mindg.cn" ] }, { "Effect": "Allow", "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::www.mindg.cn/my/*" ] } ] } |
这样就设置好了,因为运营基本都是技术小白,所以还得提供个操作S3的工具,研发那边指定要选择S3 Browser,不知为何,其实CloudBerryLab我也测试了,两种工具都可以,然后填入key,加入一个扩展的bucket(add external bucket), 输入
1 |
www.mindg.cn/my |
点创建就完成了,其他不用调整,运营人员就可以对这个目录有上传和删除权限了,如果上传后马上是访问不到的,没关系,稍等几分钟就可以访问了,可能是cdn需要同步的原因。
搞完运营,研发又来了,说*.json的文件不能缓存,我当时就很奇怪,不缓存的东西为毛放CDN上呢?我说为什么不直接放到nginx上处理这种不变的文件,当时讨论了一大堆,还是要建不缓存机制,打开CloudFront页面,找到Invalidations,然后点击create invalidations, 输入:/*.json,点击创建即可,这样就不缓存以.json结尾的文件了,到此需求才全部结束。