更新时间:2023-12-14 GMT+08:00

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所示。

表1 Manager默认角色与描述

默认角色

角色描述

default

为租户创建的角色。

Manager_administrator

Manager管理员,具有Manager的管理权限。

Manager_auditor

Manager审计员,具有查看和管理审计信息的权限。

Manager_operator

Manager操作员,具有除租户管理、配置管理和集群管理功能以外的权限。

Manager_viewer

Manager查看员,具有查看系统概览,服务,主机,告警,审计日志等信息的权限。

System_administrator

系统管理员,具有Manager的管理权限及所有服务管理员的所有权限。

Manager_tenant

Manager租户管理页面查看角色,具有Manager“租户管理”页面查看权限。

通过Manager创建角色时支持对Manager和组件进行授权管理,如表2所示。

表2 Manager与组件授权管理

授权类型

授权描述

Manager

Manager访问与登录权限。

HBase

HBase管理员权限设置和表、列族授权。

HDFS

HDFS中的目录和文件授权。

Hive

  • Hive Admin Privilege

    Hive管理员权限。

  • Hive Read Write Privileges

    Hive数据表管理权限,可设置与管理已创建的表的数据操作权限。

Hue

存储策略管理员权限。

Yarn

  • Cluster Admin Operations

    Yarn管理员权限。

  • Scheduler Queue

    队列资源管理。

用户管理

支持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界面显示系统默认创建的用户组请参考用户组

表3 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提供了用户组的功能,管理员可以创建用户组。

如果角色设置HDFS、HBase、Hive或Yarn各组件的权限,仅可以使用组件自身功能。如果还需要使用Manager,请在角色中添加对应的Manager权限。

图1 创建用户流程示意