OSS细粒度的权限控制
程序员文章站
2022-07-10 20:00:54
...
目前子账户控制台登录权限控制,对于bucket级别的权限控制,目前仅能实现:控制台登录能看到所有的bucket,但只对部分bucket有操作权限,其他bucket操作报错;不能实现控制台登录只能看到有权限的bucket;
对于目录级别的权限控制,目前仅能实现: 控制台登录能看到对应目录的所有同级目录及其所有的父目录及父目录的同级目录,但仅对该目录及目录下的资源有对应的操作权限,其他目录点击操作报错;具体实现如下
1.子账户创建
1)进入RAM管理控制台,选择用户管理
短信验证成功后,子账户创建完成
2)创建子账户的Access key
3)为子账户授权策略
点击授权
进行授权
注:用户可以自定义授权策略
自定义的授权策略这边创建完成后,子账户授权中:可授权策略是可以看到该自定义授权策略的;
自定义授权策略创建,参考自定义授权策略创建;
OSS支持的自定义授权权限参考OSS支持的自定义权限;
2.权限控制
1)子用户能够通过OSS控制台操作部分有权限的bucket:目前只能实现控制台能看到所有的bucket,但是只能操作部分有权限的bucket,没权限的bucket操作报错;
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "oss:ListBuckets",
"Resource": "acs:oss:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"oss:*"
],
"Resource": [
"acs:oss:*:*:myphotos",
"acs:oss:*:*:myphotos/*"
]
}
]
}
2)OSS子账户控制台登录只能看到bucket部分子目录,其他目录不能操作:目前只能实现能看到该bucket下的所有目录,但只对部分目录有对应的权限;
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ListBuckets",
"oss:GetBucketAcl"
],
"Resource": [
"acs:oss:*:*:*"
]
},
{
"Effect": "Allow",
"Action": [
"oss:*"
],
"Resource": [
"acs:oss:*:*:gsdata-img1/gsdata/*"
]
},
{
"Effect": "Allow",
"Action": [
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:gsdata-img1"
],
"Condition": {
"StringLike": {
"oss:Delimiter": "/",
"oss:Prefix": [
""
]
}
}
},
{
"Effect": "Allow",
"Action": [
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:gsdata-img1"
],
"Condition": {
"StringLike": {
"oss:Prefix": [
"gsdata/*"
]
}
}
}
]
}
3)SDK或者API操作有某个bucket的全部权限;
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "oss:*",
"Resource": [
"acs:oss:*:*:myphotos",
"acs:oss:*:*:myphotos/*"
]
}
]
}
4)SDK或者API操作有bucket部分目录的全部权限;
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:*"
],
"Resource": [
"acs:oss:*:*:myphotos/hangzhou/2015/*"
]
},
{
"Effect": "Allow",
"Action": [
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:myphotos"
],
"Condition":{
"StringLike":{
"oss:Prefix":"hangzhou/2015/*"
}
}
}
]
}
推荐阅读
-
百度搜索将严格控制搜索中的权限问题!
-
查阅Linux缺省的存取控制权限具体步骤
-
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
-
Linux系统配置 Linux访问控制列表(ACL)的权限控制方法
-
如何在Linux下设置访问控制列表(ACL)来控制用户的权限
-
ThinkPHP的RBAC(基于角色权限控制)深入解析
-
从零开始搭建前后端分离的NetCore2.2(EF Core CodeFirst+Autofac)+Vue的项目框架之九如何进行用户权限控制
-
centos的安装与配置,Linux下基本命令、权限控制,解压缩文件以及软件的安装与卸载
-
vue中如何实现后台管理系统的权限控制的方法示例
-
MySQL 日常运维业务账号权限的控制