多用户访问控制
多用户访问控制,主要用于帮助用户管理云账户下资源的访问权限,适用于企业内的不同角色,可以对不同的工作人员赋予使用产品的不同权限,当您的企业存在多用户协同操作资源时,推荐您使用多用户访问控制。
概论
适用场景
多用户访问控制,主要用于帮助用户管理云账户下资源的访问权限,适用于企业内的不同角色,可以对不同的工作人员赋予使用产品的不同权限,当您的企业存在多用户协同操作资源时,推荐您使用多用户访问控制。 适用于下列使用场景:
- 中大型企业客户:对公司内多个员工授权管理
- 偏技术型vendor或SAAS的平台商:对代理客户进行资源和权限管理
- 中小开发者或小企业:添加项目成员或协作者,进行资源管理
访问策略
多用户访问控制实现了企业或组织内部不同人员乃至不同部门协同地管理和使用BMR资源的功能。在BMR中,我们将集群和定时任务视为资源。协同工作的方式是主用户需要创建子用户,并为子用户分配访问策略。 目前访问控制策略分为权限和资源两个维度。其中,权限是指用户可执行的动作,如创建、删除,查看,修改等;资源是指集群或定时任务。权限又被分为粗粒度和细粒度两种,粗粒度权限是指不限定具体的资源的权限,一个粗粒度权限可对应多个细粒度权限;而细粒度权限需要选定某一个或多个资源。被赋予某种策略的子用户将会具有相应资源的相应访问权限。比如:
ACL{ //该策略为对全部资源具有READ粗粒度权限;
"resource": ["*"], //资源
"permission": [ //权限
"READ"
]
};
ACL{ //该策略为对某个集群具有ScaleCluster(扩缩容)细粒度权限;
"resource": ["cluster/ clusterID"], //资源
"permission": [ //权限
" ScaleCluster"
]
}。
说明:
- BMR所有资源均归属于主用户,子用户所创建或删除的资源均计费于主用户之下。
- 未对集群模板做权限控制,对集群模板的操作,子用户与主用户权限相同。
- 每次策略变动将在5分钟后生效。
权限模型
表一 权限模型说明
粗粒度权限名称 | 描述 | 对应细粒度权限名称 | 描述 |
---|---|---|---|
READ | 仅使用BMR的权限 | ReadCluster | 读取集群 |
- | - | ReadStep | 查看作业详情 |
- | - | CreateStep | 创建作业 |
- | - | CancelStep | 终止作业 |
- | - | ReadExecutionPlan | 读取定时任务 |
- | - | UpdateExecutionPlan | 更新定时任务包括调整执行策略、添加、删除定时任务上的作业 |
LIST_ALL_STEP | 拉取作业列表 | 无 | - |
CREATE_DELETE | 仅创建和删除BMR资源的权限 | 无 | - |
- | - | CreateCluster | 创建BMR集群 |
- | - | DeleteCluster | 删除BMR集群 |
OPERATE | 仅运维BMR的权限 | RenameCluster | 更改集群名称 |
- | - | ScaleCluster | 变更集群配置,即扩缩容 |
- | - | SwitchExecutionPlan | 启停定时任务 |
FULL_CONTROL | 具有完全控制管理BMR的权限 | 无 | - |
选择一个粗粒度权限策略表示选择了该粗粒度权限对应的全部细粒度权限。从命名中可以看出,粗粒度权限名为全部大写字符,细粒度权限名为驼峰式命名。
说明:
- LIST_ALL_STEP粗粒度权限可访问全部作业列表,包括集群页面下作业列表;
- READ粗粒度权限,或指定集群ID的ReadStep细粒度权限仅可访问集群页面下作业列表,同时该权限可查看作业详情。
子用户操作
创建子用户
主账号用户登录后在控制台选择多用户访问控制进入用户管理页面。
- 在左侧导航栏选择用户管理,选择子用户,点击创建子用户。
- 在弹出的创建子用户对话框中,完成填写用户名等信息后确认,返回子用户管理列表区可以查看到刚刚创建的子用户。
子用户登录
主账号完成对子用户的授权后,可以将链接发送给子用户;子用户可以通过IAM用户登录链接登录主账号的管理控制台,根据被授权的策略对主账户资源进行操作和查看。
配置策略
权限策略有两种类型系统权限策略和自定义权限策略。可选择系统策略或自定义策略来查看权限策略列表,分别实现BMR的产品级权限和资源级权限控制。
创建策略
1.点击创建策略,选择策略类型(按策略生成器创建、按标签创建、按策略语法创建和按资源组创建)
表三 策略创建类型说明
策略创建类型名称 | 策略创建类型说明 |
---|---|
策略生成器 | 选择服务、权限以及区域下实例,生成策略。 1.登录云控制台,鼠标移到右上角头像处,进入多用户访问控制>策略管理; 2.点击创建策略,弹窗中选择按策略生成器创建; 3.填写基本信息中的策略名称和描述; 4.填写权限配置,如需添加权限点击下方添加权限按钮,为当前策略再增加一条权限。 -选择服务:即需要选择的产品名称 -选择方式:可视化编辑或策略语法编辑 |
标签 | 根据你为服务实例创建的便签筛选资源,生成实例。 1.登录云控制台,鼠标移到右上角头像处,进入多用户访问控制>策略管理; 2.点击创建策略,弹窗中选择按标签创建; 3.填写基本信息中的策略名称和说明; 4.填写权限配置: -选择标签:选择你需要的标签键值对,如果没有标签,可以选择点击还没有标签?点击创建标签链接跳转到标签管理; -选择服务:选择已支持标签的服务类型,查看哪些产品线已支持基于标签的授权,具体可参考使用IAM的产品; -选择操作:已选服务的权限操作,统一为只读、运维和管理权限; -资源范围:展示已选择服务的资源列表,如未命中任何实际资源,则代表全局所有资源,在未来的时间范围内,如果你将当前标签关联到实际的资源实例,该资源实例将受到当前自定义策略的控制。 |
策略语法 | 编写策略语法,生成策略。 1. 登录云控制台,鼠标移到右上角头像处,进入多用户访问控制>策略管理; 2. 点击创建策略,弹窗中选择按策略语法创建; 3. 填写基本信息中的策略名称和说明; 4. 填写权限配置: -策略模板:选择已有系统策略模板 -策略内容:输入策略内容后点击完成 |
资源组 | 根据你在资源管理创建的资源分组筛选资源,生成策略。 1. 登录云控制台,鼠标移到右上角头像处,进入多用户访问控制>策略管理; 2. 点击创建策略,弹窗中选择按资源组创建; 3. 填写基本信息中的策略名称和说明; 4. 填写权限配置后确定创建成功。 |
用户授权
在用户管理->子用户管理列表页的对应子用户的操作列选择添加权限,并为用户选择系统权限或自定义策略进行授权。
说明: 如果在不修改已有策略规则的情况下修改某子用户的权限,只能通过删除已有的策略并添加新的策略来实现,不能取消勾选已经添加过的策略权限。
相关服务授权
为使子用户能够正常使用BMR服务,还需要为其授予百度智能云内其他相关服务的权限,相关服务的权限策略及影响范围如下:
表四 相关服务权限策略及影响范围
相关服务策略名称 | 描述 | 影响范围 |
---|---|---|
FCOrderAccessPolicy | 完全控制订单服务权限 | 查看集群和创建集群 |
VpcFullControlPolicy | 完全控制VPC服务权限 | 创建集群 |
SubnetFullControlPolicy | 完全控制子网服务权限 | 创建集群 |
BosFullAccessPolicy | 完全控制BOS服务权限 | 创建集群时,选择将日志存储在BOS中 |
SecurityGroupFullController | 完全控制安全组服务权限 | 创建集群时,选择将日志存储在BOS中 |