OBS权限配置实践--子账户授权
1.1 方案说明
通常一个大企业下面可能会分设多个业务部门,多个业务部门之间的数据需要独立管理的场景下可以考虑使用不同子用户进行独立的资源和权限配置。
A账户下创建两个子账户A1/A2,为两个子账户授予桶的上传对象权限,然后验证两个子账户的权限是否正确。
1.2 配置操作
1.2.1 使用统一身份认证服务控制台 创建用户组
输入用户组名后点击确认进行创建(以创建“obstest”为例)
1.2.2 修改创建的用户组中对象存储服务权限为Tenant Guest
1)在用户组中点击新创建用户组的修改按钮
2)点击用户组权限的对象存储服务对应的修改按钮
3)选中权限为“OBS Buckets Viewer”权限,赋予该用户组内用户具有列举该主账户所有桶的权限
1.2.3 创建用户并将用户加入用户组中
依次创建userA1、userA2后可以看到该用户组的权限及用户配置信息
1.2.4 获取账户ID(租户ID)和子账户ID配置桶策略
1)在账户-我的凭证中获取账号ID
2)在统一身份管理用户-基本信息中获取子账户ID
3)登陆控对象存储控制台,找到需要配置子账户访问的桶,在桶策略-高级配置中添加桶策略。
a.同时为userA1、userA2配置特定桶内特定资源上传权限
说明:
1、 桶策略中“被授权用户”字段: 被授权用户指本条桶策略作用的账户或用户。多个被授权用户使用英文逗号分隔。支持通配符“*”,表示所有用户
格式要求:
- 授权给账号:直接输入账号ID
- 授权给用户:账号ID:user/用户ID
举例:为某个子用户授权:DomainID:user/UserID;同时为两个子用户相同权限使用英文的逗号连接,参考:DomainID:user/User1ID, DomainID:user/User2ID
2、 桶策略中“资源”字段:资源指桶或对象。您可以指定一个对象或对象集,当指定给对象集时,使用通配符“*”。如果不输入,则表示指定资源为桶,且在动作处只能选择与桶相关的。多个资源使用英文逗号分隔。
3、 桶策略中的“动作”字段:指定本条桶策略可以执行的操作。例如:上传、下载、删除等
4、 桶策略中的“条件”字段:指定本条桶策略可以执行的操作。通过设置该字段可以实现指定IP、指定域名等访问该策略所限定的资源
1.3 权限验证
使用子账号的AK/SK进行业务验证
1.3.1 获取主账号和子用户的AK/SK
1. 主账号AK/SK获取
在主账号-我的凭证-管理访问密钥中,通过新增访问密钥来创建主账号的密钥。
2. 子用户AK/SK获取
在统一身份认证服务控制台-用户列表中,通过对应用户的“设置凭证”按钮进入密钥创建控制台
在设置凭证页面通过管理访问密钥-新增访问密钥来创建子用户的访问密钥
注意:
创建子用户密钥时提示需要输入“登陆密码”,此次需要输入的密码为主账号的登陆密码,不是子用户密码。
1.3.2 开源工具s3curl配置用户的AK/SK并在s3curl中添加obs的endpoint
1) vim 编辑s3curl工具目录下的.s3curl文件,添加2个子用户的AK/SK
2) vim编辑s3curl工具目录下的s3curl.pl脚本,添加obs的endpoint
1.3.3 使用userA1、userA2上传对象到桶内的abc/目录下上传成功,上传到其他目录失败,下载资源也失败
1) userA1上传对象到abc/目录下,上传成功
2) userA2上传对象到abc/目录下,上传成功
登陆控制台可以看到对应路径下有上传成功的文件
3) userA1/A2上传对象到非abc目录下,上传失败
a. 使用userA1上传对象到桶根目录下,上传失败,提示无权限访问
b. 使用userA2上传对象到def目录下,上传失败,提示无权限访问
4) userA1/A2下载桶内对象,下载失败,提示无权限访问
a.使用userA1下载桶根目录下的资源,下载失败
b.使用userA2下载赋予其上传权限路径下资源,下载失败
- 点赞
- 收藏
- 关注作者
评论(0)