OSS细粒度的权限控制-阿里云开发者社区

开发者社区> 何昔> 正文

OSS细粒度的权限控制

简介: Access key 对OSS的bucket控制权限太高,需求对bucket更细粒度的权限控制:比如只能操作部分bucket,只能操作部分bucket的部分目录等,RAM子账户功能可以实现该需求,但注意仅限SDK/API操作能实现该需求,如果是子账户登录需求实现上述权限控制,目前是不支持的;
+关注继续查看

目前子账户控制台登录权限控制,对于bucket级别的权限控制,目前仅能实现:控制台登录能看到所有的bucket,但只对部分bucket有操作权限,其他bucket操作报错;不能实现控制台登录只能看到有权限的bucket;
对于目录级别的权限控制,目前仅能实现: 控制台登录能看到对应目录的所有同级目录及其所有的父目录及父目录的同级目录,但仅对该目录及目录下的资源有对应的操作权限,其他目录点击操作报错;具体实现如下

1.子账户创建

1)进入RAM管理控制台,选择用户管理
1
短信验证成功后,子账户创建完成
2)创建子账户的Access key
2
3)为子账户授权策略
点击授权
3
进行授权
4
注:用户可以自定义授权策略
5
自定义的授权策略这边创建完成后,子账户授权中:可授权策略是可以看到该自定义授权策略的;
自定义授权策略创建,参考自定义授权策略创建
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/*"
                }
            }
        }
    ]
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
教你借助设计模式限制实例化数量 | 带你学《Java面向对象编程》之七十三
开发过程中,如果遇到了某些要求,需要限制实例化类的数量时,需要借助本节介绍到的单例与多例设计模式来实现。
435 0
派生类的访问控制和类型兼容规则
派生类继承了基类的全部数据成员和除了构造、析构函数之外的全部函数成员,但是这些成员的访问属性在派生的过程中是可以调整的。从基类继承的成员,其访问属性由继承方式控制。 基类的成员可以有 public、protected 和 private 三种。基类的自身成员可以对基类中任何一个其他成员进行访问,但是通过基类的对象就只能访问该类的公有成员。
18 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7780 0
Linux常用文件权限控制命令
一,查看文件属主属组ls -l [root@localhost app]# ls -l total 302832 drwxr-xr-x. 4 lhc lhc 4096 Nov 18 16:05 apache-phoenix-4.
950 0
只需一步:创建oss bucket并控制访问权限
本文介绍怎样利用阿里云资源编排服务(ROS),一步创建阿里云资源(以OSS为例)、创建多个子帐号,并付给子帐号不同的资源访问权限。 资源编排的RAM功能介绍 阿里云资源访问控制服务(RAM),帮助您把不同的资源权限分配给特定的用户(比如员工、系统或应用程序),达到最小特权的安全实践。例如,授权某
17989 0
+关注
何昔
对OSS、CDN、MTS音视频等有一定认知
15
文章
0
问答
来源圈子
更多
作为全球云计算的领先者,阿里云为全球230万企业提供着云计算服务,服务范围覆盖200多个国家和地区。我们致力于为企业、政府等组织机构提供安全可靠的云计算服务,给用户带来极速愉悦的服务体验。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载