之前,需要将阿里云的某个oss bucket仓库分享给其他人,昨天研究了下阿里云的子用户策略,也就是所谓的ram系统。
基本操作 在阿里云后端控制台开通ram系统,并且新建一个用户。设置新用户的登录策略和登录密码。并且赋予相对的权限模版。登录地址基本为https://signin.aliyun.com/<企业id>/login.htm,用户名/密码(用户名@<企业id>/密码)随后,根据附有的权限做相应的操作。 权限模版 OSS 全部权限 { "Statement": [ { "Action": "oss:*", "Effect": "Allow", "Resource": "*" } ], "Version": "1"} OSS 权限bucket (生效) { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:*" ], "Resource": [ "acs:oss:*:*:<bucket-name>", "acs:oss:*:*:<bucket-name>/*" ] } ]} OSS bucket部分权限 { "Version": "1", "Statement": [{ "Effect": "Allow", "Action": ["oss:List*", "oss:Get*"], "Resource": ["acs:oss:*:*:samplebucket", "acs:oss:*:*:samplebucket/*"], "Condition": { "IpAddress": { "acs:SourceIp": "42.160.1.0" } } }]} bucket 部分权限2 Policy: { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListBuckets" ], "Resource": [ "acs:oss:*:*:*" ] }, { "Effect": "Allow", "Action": [ "oss:Listobjects" ], "Resource": [ "acs:oss:*:*:bucketname" ] }, { "Effect": "Allow", "Action": [ "oss:GetObject" ], "Resource": [ "acs:oss:*:*:bucketname/1/" ] } ] }附: 阿里云ram系统的使用权限控制,会使用即可。以后运维说不定会使用上。另外,accessname/accesskey 会在创建的时候搞到,但是因为安全保护,后续无法下载。(登录oss的app会用到)
Reference[1]. RAM子账户授权OSS单个bucket中部分文件的访问权限
[2]. Policy 基本元素(RAM规则手册)