本文共 3499 字,大约阅读时间需要 11 分钟。
本文介绍怎样利用阿里云(ROS),一步创建阿里云资源(以OSS为例)、创建多个子帐号,并付给子帐号不同的资源访问权限。
阿里云资源访问控制服务(RAM),帮助您把不同的资源权限分配给特定的用户(比如员工、系统或应用程序),达到最小特权的安全实践。例如,授权某个子用户管理两台指定的ECS实例。
资源编排服务按照三种粒度进行访问控制:
应用场景:
在某款app的开发过程中,需要将部分数据存储到oss中。管理员创建ros-bucket,考虑到权限隔离的问题,开发小组中只有liSir拥有ros-bucket的读写权限
,其他人只有只读权限
,逻辑结构如下图:
实践:
创建Bucket(ros-bucket)
Group(devGroup)
创建两个User
创建两个Policy
ALIYUN::OSS::Bucket ,AccessControl
配置为private
。只有当前账号可以对该bucket内的Object进行读写操作。
"Resources": { "MyBucket": { "Type": "ALIYUN::OSS::Bucket", "Properties": { "AccessControl": "private", "BucketName": "ros-bucket" } } }
ALIYUN::RAM::Group ,这里定义组名为devGroup。
"Resources": { "devGroup": { "Type": "ALIYUN::RAM::Group", "Properties": { "GroupName": "devGroup" } } }
ALIYUN::RAM::User ,创建两个子帐号,并分别配置登录名和密码。然后把developer加入到组devGroup。
"Resources": { "liSir": { "Type": "ALIYUN::RAM::User" "Properties": { "UserName": "liSir", "LoginProfile": { "Password": "123456789" } } }, "developer": { "Type": "ALIYUN::RAM::User", "Properties": { "UserName": "developer", "LoginProfile": { "Password": "123456789" }, "Groups": [ "Fn::Join": ["", [ "Fn::GetAtt" : [ "devGroup", "GroupName"] ] ] ] } } }
ALIYUN::RAM::ManagedPolicy 。Policy语法定义。
fullAccessPolicy
readOnlyPolicy
"Resources": { "fullAccessPolicy": { "Type": "ALIYUN::RAM::ManagedPolicy", "Properties": { "PolicyName": "fullAccessPolicy", "PolicyDocument" : { "Version": "1", "Statement" : [{ "Effect" : "Allow", "Action" : [ "oss:*" ], "Resource" : ["acs:oss:*:*:*"] }] }, "Users": [ "Fn::Join": ["", [ "Fn::GetAtt" : [ "liSir", "UserName"] ] ] ] } }, "readOnlyPolicy": { "Type": "ALIYUN::RAM::ManagedPolicy", "Properties": { "PolicyName": "readOnlyPolicy", "PolicyDocument": { "Version": "1", "Statement" : [{ "Effect": "Allow", "Action": [ "oss:ListBuckets" ], "Resource": [ "acs:oss:*:*:*" ] }, { "Effect": "Allow", "Action": [ "oss:GetObject", "oss:ListObjects" ], "Resource": [ "Fn::Join": ["", [ "acs:oss:*:*:", "Fn::GetAtt" : [ "MyBucket", "Name"] ] ] ] }] }, "Groups": [ "Fn::Join": ["", [ "Fn::GetAtt" : [ "devGroup", "GroupName"] ] ] ] } } }
liSir
登录oss控制台,可以对ros-bucket进行上传文件、删除文件等任何操作。例如,可以上传几个文件,如下图所示:developer
登录控制台并上传文件, 系统提示没有权限。如下图所示:转载地址:http://zvxwm.baihongyu.com/