如果您需要对您所拥有的MapReduce服务(MapReduce Service)进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),通过IAM,您可以:
- 根据企业的业务组织,在您的云帐号中,给企业中不同职能部门的员工创建IAM用户,让员工拥有唯一安全凭证,并使用MRS资源。
- 根据企业用户的职能,设置不同的访问权限,以达到用户之间的权限隔离。
- 将MRS资源委托给更专业、高效的其他云帐号或者云服务,这些帐号或者云服务可以根据权限进行代运维。
如果云帐号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用MRS服务的其它功能。
本章节为您介绍对用户授权的方法,操作流程如下图所示。
前提条件
给用户组授权之前,请您了解用户组可以添加的MRS权限,并结合实际需求进行选择。
示例流程
详见下图: 给用户授权MRS权限流程
1.创建用户组并授权
在IAM控制台创建用户组,并授予MRS服务对应权限。
2.创建用户并加入用户组
在IAM控制台创建用户,并将其加入上述创建用户组并授权中创建的用户组。
3.用户登录并验证权限
新创建的用户登录控制台,切换至授权区域,验证权限:
−在“服务列表”中选择MRS服务,进入MRS主界面,单击右上角“创建集群”,尝试创建MRS集群,如果无法创建MRS集群(假设当前权限仅包含MRS ReadOnlyAccess),表示“MRS ReadOnlyAccess”已生效。
−在“服务列表”中选择除MRS服务外(假设当前策略仅包含MRS ReadOnlyAccess)的任一服务,若提示权限不足,表示“MRS ReadOnlyAccess”已生效。
MRS权限说明
默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。
MRS部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域对应的项目中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问MRS时,需要先切换至授权区域。
权限根据授权精细程度分为角色和策略。
- 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。
- 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对MRS服务,管理员能够控制IAM用户仅能对集群进行指定的管理操作。如不允许某用户组删除集群,仅允许操作MRS集群基本操作,如创建集群、查询集群列表等。多数细粒度策略以API接口为粒度进行权限拆分。
如下表所示,包括了MRS的所有系统策略。
MRS系统策略
策略名称 | 描述 | 策略类别 |
---|---|---|
MRS FullAccess | MRS管理员权限,拥有该权限的用户可以拥有MRS所有权限。 | 细粒度策略 |
MRS CommonOperations | MRS服务普通用户权限,拥有该权限的用户可以拥有MRS服务使用权限,无新增、删除资源权限。 | 细粒度策略 |
MRS ReadOnlyAccess | MRS服务只读权限,拥有该权限的用户仅能查看MRS的资源。 | 细粒度策略 |
MRS Administrator | 操作权限: 对MRS服务的所有执行权限。 拥有该权限的用户必须同时拥有Tenant Guest和Server Administrator权限。 |
RBAC策略 |
下表列出了MRS常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。
常用操作与系统策略的授权关系
操作 | MRS FullAccess | MRS CommonOperations | MRS ReadOnlyAccess | MRS Administrator |
---|---|---|---|---|
创建集群 | √ | x | x | √ |
调整集群 | √ | x | x | √ |
升级节点规格 | √ | x | x | √ |
删除集群 | √ | x | x | √ |
查询集群详情 | √ | √ | √ | √ |
查询集群列表 | √ | √ | √ | √ |
设置弹性伸缩策略 | √ | x | x | √ |
查询主机列表 | √ | √ | √ | √ |
查询操作日志 | √ | √ | √ | √ |
创建并执行作业 | √ | √ | x | √ |
停止作业 | √ | √ | x | √ |
删除单个作业 | √ | √ | x | √ |
批量删除作业 | √ | √ | x | √ |
查询作业详情 | √ | √ | √ | √ |
查询作业列表 | √ | √ | √ | √ |
新建文件夹 | √ | √ | x | √ |
删除文件 | √ | √ | x | √ |
查询文件列表 | √ | √ | √ | √ |
批量操作集群标签 | √ | √ | x | √ |
创建单个集群标签 | √ | √ | x | √ |
删除单个集群标签 | √ | √ | x | √ |
按照标签查询资源列表 | √ | √ | √ | √ |
查询集群标签 | √ | √ | √ | √ |
访问Manager页面 | √ | √ | x | √ |
查询补丁列表 | √ | √ | √ | √ |
安装补丁 | √ | √ | x | √ |
卸载补丁 | √ | √ | x | √ |
运维通道授权 | √ | √ | x | √ |
运维通道日志共享 | √ | √ | x | √ |
查询告警列表 | √ | √ | √ | √ |
订阅告警消息提醒 | √ | √ | x | √ |
提交SQL语句 | √ | √ | x | √ |
查询SQL结果 | √ | √ | x | √ |
取消SQL执行任务 | √ | √ | x | √ |