适用场景
通过对子用户进行桶级别的权限隔离的实践方案,可实现以下场景需求:
- 子用户级别的权限隔离,每个存储桶仅能由指定的子用户操作。
- 对于ACL为“私有”的存储桶或对象,则只有该Bucket的主账号或被授权者可以对相应资源进行读写操作。通过子用户授权隔离,可向指定的子用户授予相应资源的读或写权限。
操作步骤
对子用户进行桶级别的权限授权操作步骤如下:
登录控制台
主账号登录媒体存储控制台,具体可参考:登录控制台 。
创建存储桶
主账号通过媒体存储控制台,完成存储桶的创建,具体可参考:新建Bucket 。
新建子用户
使用天翼云账号登陆 子用户管理后台,进入系统内置工作区,创建子用户。具体可参考:新建子用户 。
操作界面如下:
授权子用户
- 主账号进入媒体存储控制台,进入【子用户授权】菜单,列表展示已授权对象存储相关权限的子账号信息。
- 点击【新增子用户授权】,进行新增操作。
- 在新增授权页面选择存储区域、需要授权的子用户、授权策略后,点击【保存】,完成子用户授权操作。
- 存储区域仅允许选择目前主账号已开通的区域。
- 子用户将根据工作区展示可选子用户。
- 支持选择系统策略或自定义策略。
获取子用户AK/SK
- 主账号登录媒体存储控制台,进入子用户授权菜单,点击对应子用户的【管理】按钮,进入子用户详情页面。
- 在【密钥管理】标签页可查看其AK/SK信息。
子用户登录控制台
子用户可通过子用户控制进行界面化操作,子用户控制台链接:https://xstore-console.ctcdn.cn 。子用户通过登录凭证以及密码登录控制台。
如子用户需通过API或SDK使用,则需参考本文【获取子用户AK/SK】章节,获取对应的AK/SK信息,并用以接口鉴权使用。
相关问题
在子用户权限隔离场景中,您可能会遇到需要新增自定义策略,或取消授权等问题,可参考以下步骤操作。
新增策略
-
进入媒体存储控制台,进入策略管理。
-
系统已预置部分策略,如需自定义策略,请点击【新增策略】进行操作。
-
在新增策略页面中,填写策略名称与策略语句。
策略示例
- 示例一:
以下策略语句为允许子账号对指定bucket执行所有操作,子用户可通过子用户控制台、API、SDK进行相关操作。
其中BUCKET-NAME需替换为实际的桶名称。
{
"Version": "2012-10-17",
"Statement": [{
"Action": "*",
"Resource": ["arn:aws:s3:::BUCKET-NAME","arn:aws:s3:::BUCKET-NAME/*"],
"Effect": "Allow",
"Sid": "BUCKET-NAME"
}, {
"Action": "s3:ListAllMyBuckets",
"Resource": "*",
"Effect": "Allow",
"Sid": "BUCKET-NAME"
}, {
"Action": "s3:ListBucket",
"NotResource": "arn:aws:s3:::BUCKET-NAME",
"Effect": "Deny",
"Sid": "BUCKET-NAME"
}]
}
- 示例二:
以下策略语句为允许子账号读取指定Bucket中的所有Object,子用户仅可通过API、SDK进行相关操作。如您需创建一个子用户用以CDN回源私有存储桶的场景,可参考此示例。
其中BUCKET-NAME需替换为实际的桶名称。
{
"Version": "2012-10-17",
"Statement": [{
"Action": "s3:GetObject",
"Resource": ["arn:aws:s3:::BUCKET1-NAME/*","arn:aws:s3:::BUCKET2-NAME/*"],
"Effect": "Allow",
"Sid": "BUCKET-NAME"
}]
}
取消子用户的某个权限策略
-
点击对应子用户的【管理】按钮,进入子用户详情页面。
-
在【策略管理】标签页,点击【新增策略授权】按钮,选择需要新增的权限。如需取消授权策略,则点击对应策略的【取消授权】。