MRS分配和授权
本章节指导平台运营方-运维人员为对应开发利用方创建指定目录下的Hive生产融合数据库,并且在MRS ranger中为其配置指定生产融合库以及公共接入数据库的访问策略。
以上图为例,开发利用方的MRS分配和授权比较复杂,涉及MRS租户创建、MRS用户和用户组创建、Hive数据库创建、Ranger授权、OBS委托映射等步骤。
创建MRS租户
使用MRS管理员账号(默认admin账号)登录MRS FusionInsight页面。
- 添加租户,创建两个二级租户:develop和produce,租户类型选择“非叶子租户”。
图2 创建MRS租户
如果已经创建produce和develop二级租户,则跳过该步骤。
- 在已创建的二级租户下,选择添加子租户,创建三级租户。如devlop_phjr,租户类型选择“叶子租户”,注意父租户需要区分开发和生产二级租户。
图3 添加子租户
在添加一个租户时,指定租户是否是一个叶子租户 :
- 非叶子租户:支持子租户的创建。
- 叶子租户:最后一级租户,不能进行子租户的创建。叶子租户可与服务相关联。
创建MRS用户/用户组
MRS的用户体系不同于智能云管理平台 IAM用户体系,因此在进行数据底座授权时,需要登录MRS FusionInsight创建MRS账号,提供给对应开发利用方。
- 平台运营方-运维人员使用MRS FI安全认证管理员账号(已在准备工作中创建)登录FI页面,选择导航栏中“系统”。
- 在左侧导航栏中选择“用户”一栏,单击“添加用户”。
- 在左侧导航栏中选择“用户组”一栏,单击“添加用户组”。
- 创建MRS用户,选择并加入对应用户组。依照下表1与表2完成用户和用户组创建。
hive用户组为普通用户组。Hive用户必须属于该用户组。
图4 选择并加入对应用户组
- 将用户添加到对应租户下。在“角色”中,添加对应租户角色。
如将datagroup_dev_admin用户,添加至“develop_phjr”租户资源下:
图5 选择并绑定角色
表1 MRS用户组设置 MRS用户
职责
MRS DATABASE
所属租户
datagroup_dev_access
负责运营平台(公共数据接入)开发,创建对应数据库
shdg_ods_dev
shdg_dwd_dev
develop_datagroup
datagroup_prod_access
负责运营平台(公共数据接入)生产,创建对应数据库
shdg_ods_prod
shdg_dwd_prod
produce_datagroup
datagroup_dev_admin
负责phjr场景开发,创建开发环境对应数据库
shdg_hive_phjr_dev
develop_phjr
datagroup_prod_admin
负责phjr场景开发,创建生产环境对应数据库
shdg_hive_phjr_prod
produce_phjr
表2 MRS用户创建 MRS用户
MRS用户组
权限
datagroup_dev_access
dev_access_group
运营平台开发接入库-操作权限
datagroup_prod_access
access_prod_group
运营平台生产接入库-操作权限
datagroup_dev_admin
datagroup_dev_group
phjr开发融合库-操作权限
tianji_access_dev_readonly
运营平台开发接入库-只读权限
datagroup_prod_admin
datagroup_prod_group
phjr生产融合库-操作权限
tianji_access_prod_readonly
运营平台生产接入库-只读权限
创建Hive数据库
平台运营方-运维人员为开发利用方分配MRS-Hive库,并在建库时指定 Location 为 OBS对应目录路径。
- 使用DataArts Srudio创建数据库
通过DataArts Studio-数据开发功能,为开发利用方创建数据库。
- 进入“DataArts Studio”,单击“管理中心”,创建数据连接。用户名和密码填写tianji_admin账号(MRS FI安全认证管理员账号)和对应密码。
- 进入“数据开发”页面,单击新建脚本“新建HiveSQL脚本”。
在OBS并行文件系统:“OBS桶/运营平台开发/数据授权运营方/普惠金融”目录下,创建开发贴源库,用于开发利用方数据开发工作。
建库语句示例:
CREATE DATABASE shdg_phjr_hive_dev LOCATION "obs://mrs-obs/obs_dev_tj_mrs/d_op_dev_shdg/dev_shdg_phjr_hive";
图6 新建HiveSQL脚本
重复步骤2语句执行,为开发利用方A创建生产库。
- 可选使用MRS-Hive客户端创建数据库
- 使用安装客户端用户登录客户端安装节点,客户端下载和安装指导请参考https://support.huaweicloud.com/usermanual-mrs/mrs_01_0089.html
- 执行如下命令初始化环境变量,source 客户端安装目录/bigdata_env。
- 安全集群,执行以下命令进行用户认证(该用户需要具有Hive操作的权限)kinit Hive组件操作用户。
创建Ranger授权策略
本章节介绍平台运营管理员为MRS用户(组)创建hive ranger策略,ranger策略通过对Hive数据库、表添加针对不同MRS用户(组)对应权限,实现数据库权限访问控制。
Hive数据库权限划分详见表3。
【示例】分配给开发利用方的MRS账号(datagroup_dev_admin)拥有对应生产融合库的所有权以及对公共数据库的只读权限。
- 以平台运营管理员角色登录智能云管理平台运营平台,跳转到MRS云服务界面,单击MRS集群名称进入概览页,单击集群管理。
- 以管理员账号登录FusionInsight Manager,进入到ranger admin页面,单击右上角"add new policy"新建ranger访问策略。
- 策略对象选择“database”,根据用户组职责需要,选择对应数据库、数据表;
- 配置phjr场景开发融合库策略dev_datagroup_policy:
图7 创建Ranger授权策略1
授予datagroup_dev_group用户组shdg_phjr_hive_dev库*表*列的所有权:ALL
图8 创建Ranger授权策略2
- 配置公共数据开发接入库策略dev_access_policy:
授予access_dev_group用户组shdg_ods_dev、shdg_dwd_dev库*表*列的所有权,
授予tianji_access_dev_readonly用户组shbd_ods_dev、shbd_dwd_dev库*表*列的select/read权限。
图9 配置公共数据开发接入库策略
设置用户组对应权限,如ALL/READ/SELECT。
图10 Ranger权限策略说明
表3 Ranger权限策略说明 POLICY名称
用户组
Hive库
权限
dev_datagroup_policy
datagroup_dev_group用户组
shdg_hive_phjr_dev库
*表*列
所有权
prod_datagroup_policy
datagroup_prod_group
shdg_hive_phjr_pro库
*表*列
所有权
dev_access_policy
access_dev_group用户组
shbd_ods_dev、shbd_dwd_dev库
*表*列
所有权
tj_access_dev_readonly用户组
shbd_ods_dev、shbd_dwd_dev库
*表*列
select/read权限
prod_access_policy
access_prod_group用户组
shbd_ods_prod、shbd_dwd_prod库
*表*列
所有权
tj_access_prod_readonly用户组
shbd_ods_prod、shbd_dwd_prod库
*表*列
select/read权限
- 配置phjr场景开发融合库策略dev_datagroup_policy:
MRS用户组映射OBS委托
将不同权限的委托,映射至MRS用户组。
- 登录智能云管理平台运营平台,跳转到MRS云服务界面,单击MRS集群名称进入概览页,单击“OBS权限控制”右侧的“单击管理”。
- 单击“添加映射”,参考表4配置IAM委托和用户组直接映射关系。类型选择“Group”。
图11 OBS权限控制
- 单击勾选“我同意授权MRS用户(组)与IAM委托之间的信任关系”,更新映射表,完成MRS用户(组)细粒度权限控制。