MRS集群中的用户与权限
概述
- MRS集群用户
Manager中的安全帐号,包含用户名、密码等属性,MRS集群的使用者通过这类用户访问集群中的资源。每个启用Kerberos认证的MRS集群可以有多个用户。
- MRS集群角色
用户在实际使用MRS集群时需根据业务场景获取访问资源的权限,访问资源的权限是定义到MRS集群对象上的。集群的角色就是包含一个或者多个权限的集合。例如,HDFS中某个目录的访问权限,需要在指定的目录上配置,并保存在角色中。
Manager支持MRS集群用户权限管理功能,使权限管理与用户管理更加直观、易用。
- 权限管理:使用RBAC(Role-Based Access Control)方式,即基于角色授予权限,形成权限的集合。用户通过分配一个或多个已授权的角色取得对应的权限。
- 用户管理:使用Manager统一管理MRS集群用户,并通过Kerberos协议认证用户,LDAP协议存储用户信息。
权限管理
MRS集群提供的权限包括Manager和各组件(例如HDFS、HBase、Hive和Yarn等)的操作维护权限,在实际应用时需根据业务场景为各用户分别配置不同权限。为了提升权限管理的易用性,Manager引入角色的功能,通过选取指定的权限并统一授予角色,以权限集合的形式实现了权限集中查看和管理,提升了权限管理的易用性和用户体验。
角色可以理解为集中一个或多个权限的逻辑体,角色被授予指定的权限,用户通过绑定角色获得对应的权限。
一个角色可以有多个权限,一个用户可以绑定多个角色。
- 角色1:授予操作权限A和B,用户a和用户b通过绑定角色1取得对应的权限。
- 角色2:授予操作权限C,用户c和用户d通过绑定角色2取得对应的权限。
- 角色3:授予操作权限D和F,用户a通过绑定配角色3取得对应的权限。
例如,MRS集群用户绑定了集群管理员角色,那么这个用户成为MRS集群的管理员用户。
Manager界面显示系统默认创建的角色如表1所示。
默认角色 |
角色描述 |
---|---|
default |
为租户创建的角色。 |
Manager_administrator |
Manager管理员,具有Manager的管理权限。 |
Manager_auditor |
Manager审计员,具有查看和管理审计信息的权限。 |
Manager_operator |
Manager操作员,具有除租户管理、配置管理和集群管理功能以外的权限。 |
Manager_viewer |
Manager查看员,具有查看系统概览,服务,主机,告警,审计日志等信息的权限。 |
System_administrator |
系统管理员,具有Manager的管理权限及所有服务管理员的所有权限。 |
Manager_tenant |
Manager租户管理页面查看角色,具有Manager“租户管理”页面查看权限。 |
通过Manager创建角色时支持对Manager和组件进行授权管理,如表2所示。
用户管理
支持Kerberos认证的MRS集群使用Kerberos协议和LDAP(Lightweight Directory Access Protocol)协议来配合工作,实现用户管理:
- Kerberos用于在用户登录Manager与使用组件客户端时认证用户身份,未启用Kerberos认证的集群则不认证用户身份。
- LDAP用于存储用户记录、用户组信息与权限信息等用户信息。
MRS集群支持在Manager执行创建用户或者修改用户等任务时,系统自动完成更新Kerberos和LDAP的用户数据,用户登录Manager或使用组件客户端时,系统自动完成认证用户身份和获取用户信息。这样一方面保证了用户管理的安全性,另一方面简化了用户管理的操作任务。Manager还提供了用户组功能,可对单个或多个用户进行分类管理:
- 用户组为一批用户的集合,可对用户进行分类管理。系统中的用户可以单独存在也可以加入到某个用户组中。
- 对已分配角色的用户组来说,当用户添加到该组时,用户组分配的角色权限将授权给用户。
MRS 3.x之前版本集群MRS Manager界面显示系统默认创建的用户组如表3所示。
MRS 3.x及之后版本集群FusionInsight Manager界面显示系统默认创建的用户组请参考用户组。
用户组名称 |
描述 |
---|---|
hadoop |
将用户加入此用户组,可获得所有Yarn队列的任务提交权限。 |
hbase |
普通用户组,将用户加入此用户组不会获得额外的权限。 |
hive |
将用户加入此用户组,可以使用Hive。 |
spark |
普通用户组,将用户加入此用户组不会获得额外的权限。 |
supergroup |
将用户加入此用户组,可获得HBase、HDFS和Yarn的管理员权限,并可以使用Hive。 |
flume |
普通用户组。添加到该用户组的用户无任何额外权限。 |
kafka |
Kafka普通用户组。添加入本组的用户,需要被kafkaadmin组用户授予特定Topic的读写权限,才能访问对应Topic。 |
kafkasuperuser |
添加入本组的用户,拥有所有Topic的读写权限。 |
kafkaadmin |
Kafka管理员用户组。添加入本组的用户,拥有所有Topic的创建,删除,授权及读写权限。 |
storm |
Storm的普通用户组,属于该组的用户拥有提交拓扑和管理属于自己的拓扑的权限。 |
stormadmin |
Storm的管理员用户组,属于该组的用户拥有提交拓扑和管理所有拓扑的权限。 |
启用Kerberos认证的MRS集群默认创建“admin”用户帐号,用于集群管理员维护集群。
流程概述
在实际业务中,MRS集群用户需要先明确大数据的业务场景,规划集群用户对应的权限。然后在Manager界面创建角色,并设置角色包含的权限以匹配业务的需求。如果需要统一管理单个或多个相同业务场景中的用户,Manager提供了用户组的功能,MRS集群管理员可以创建用户组。
如果角色设置HDFS、HBase、Hive或Yarn各组件的权限,仅可以使用组件自身功能。如果还需要使用Manager,请在角色中添加对应的Manager权限。