阿里云OSS权限设置阿里云OSS权限设置,只允许某个账号的AK控制一个存储桶(OSS Bucket)
我们都知道如果阿里云直接使用主账号的AK的话权限是很大的,几乎可以通过API操作阿里云所有的数据,如果AK泄露并且被恶意使用,有可能别人帮你删库,销毁服务器等等操作
主AK权限可以看下这个图
我觉得也挺神奇,为什么阿里没有只允许某个账号的AK控制一个存储桶(OSS Bucket)这种需求,我本来想直接在控制台设置一下就行了,设置半天都是账号级别的,也就是说你可以为这个账号设置只有OSS权限,如果需要限制某个还得写个权限控制的策略
- 新建策略,创建只允许查看某个bucket的权限
- 新建用户,在权限控制这里添加刚刚加上的授权策略
单bucket策略参考
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ListBuckets",
"oss:GetBucketStat",
"oss:GetBucketInfo",
"oss:GetBucketTagging",
"oss:GetBucketLifecycle",
"oss:GetBucketWorm",
"oss:GetBucketVersioning",
"oss:GetBucketAcl"
],
"Resource": "acs:oss:*:*:*"
},
{
"Effect": "Allow",
"Action": "oss:*",
"Resource": [
"acs:oss:*:*:xiadmin.com",
"acs:oss:*:*:xiadmin.com/*"
]
}
]
}
多bucket策略参考
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ListBuckets",
"oss:GetBucketStat",
"oss:GetBucketInfo",
"oss:GetBucketTagging",
"oss:GetBucketLifecycle",
"oss:GetBucketWorm",
"oss:GetBucketVersioning",
"oss:GetBucketAcl"
],
"Resource": "acs:oss:*:*:*"
},
{
"Effect": "Allow",
"Action": "oss:*",
"Resource": [
"acs:oss:*:*:xiadmin.com",
"acs:oss:*:*:xiadmin",
"acs:oss:*:*:xiadmin.com/*",
"acs:oss:*:*:xiadmin/*"
]
}
]
}