需求:为某个用户设置S3 HOME目录的控制权限,其他目录均无权限访问。
新建IAM策略,此示例显示您可以如何创建策略 允许 IAM 用户访问其位于 S3 中的主目录存储桶对象。主目录是一个包含 home 文件夹和个人用户文件夹的存储桶。此策略还授予在控制台上完成此操作所需的必要权限。要使用此策略,请将示例策略中的斜体占位符文本替换为您自己的信息
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Resource": "*" }, { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::bucket-name", "Condition": { "StringLike": { "s3:prefix": [ "home/" ] } } }, { "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::bucket-name/home/", "arn:aws:s3:::bucket-name/home/*" ] } ]}
这里我们用到了StringLike这个Condition,只有当访问的s3:prefix满足home/*时,才为真。
验证效果
在本地PC上配置AWS Cli并把Access Kye ID和Secret access key配置如图:
![26a1561505ff57e0505ddebf68fb61f5.png](https://i-blog.csdnimg.cn/blog_migrate/06774f5dca26c7599a6fc33c0cd364b5.jpeg)
往S3桶上写文件,将本地fmt.go文件上传到S3指定目录中,提示upload上传成功
![cb99e6cf03bbab375c3e242c4d4db1c3.png](https://i-blog.csdnimg.cn/blog_migrate/a30bb04331bc2febeadc66e00e237e6a.jpeg)
使用aws s3 ls s3://xxxxxxx/xxxxx 查看文件
![a4c529046ea3cf004552ea7fac0f9c64.png](https://i-blog.csdnimg.cn/blog_migrate/d5e871c5bef2f70902d872a80563340e.jpeg)