更新时间:2024-10-23 GMT+08:00
分享

MRS分配和授权

本章节指导平台运营方-运维人员为对应开发利用方创建指定目录下的Hive生产融合数据库,并且在MRS ranger中为其配置指定生产融合库以及公共接入数据库的访问策略。

图1 MRS分配和授权

以上图为例,开发利用方的MRS分配和授权比较复杂,涉及MRS租户创建、MRS用户和用户组创建、Hive数据库创建、Ranger授权、OBS委托映射等步骤。

创建MRS租户

使用MRS管理员账号(默认admin账号)登录MRS FusionInsight页面。

  1. 添加租户,创建两个二级租户:develop和produce,租户类型选择“非叶子租户”。

    图2 创建MRS租户

    如果已经创建produce和develop二级租户,则跳过该步骤。

  2. 在已创建的二级租户下,选择添加子租户,创建三级租户。如devlop_phjr,租户类型选择“叶子租户”,注意父租户需要区分开发和生产二级租户。

    图3 添加子租户

    在添加一个租户时,指定租户是否是一个叶子租户 :

    • 非叶子租户:支持子租户的创建。
    • 叶子租户:最后一级租户,不能进行子租户的创建。叶子租户可与服务相关联。

创建MRS用户/用户组

MRS的用户体系不同于智能云管理平台 IAM用户体系,因此在进行数据底座授权时,需要登录MRS FusionInsight创建MRS账号,提供给对应开发利用方。

  1. 平台运营方-运维人员使用MRS FI安全认证管理员账号(已在准备工作中创建)登录FI页面,选择导航栏中“系统”。
  2. 在左侧导航栏中选择“用户”一栏,单击“添加用户”。
  3. 在左侧导航栏中选择“用户组”一栏,单击“添加用户组”。
  4. 创建MRS用户,选择并加入对应用户组。依照下表1与表2完成用户和用户组创建。

    hive用户组为普通用户组。Hive用户必须属于该用户组。

    图4 选择并加入对应用户组

  5. 将用户添加到对应租户下。在“角色”中,添加对应租户角色。

    如将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-数据开发功能,为开发利用方创建数据库。

    1. 进入“DataArts Studio”,单击“管理中心”,创建数据连接。用户名和密码填写tianji_admin账号(MRS FI安全认证管理员账号)和对应密码。
    2. 进入“数据开发”页面,单击新建脚本“新建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客户端创建数据库

    通过MRS-Hive客户端,为开发利用方创建数据库。

    1. 使用安装客户端用户登录客户端安装节点,客户端下载和安装指导请参考https://support.huaweicloud.com/usermanual-mrs/mrs_01_0089.html
    2. 执行如下命令初始化环境变量,source 客户端安装目录/bigdata_env。
    3. 安全集群,执行以下命令进行用户认证(该用户需要具有Hive操作的权限)kinit Hive组件操作用户。

      如kinit tianji_admin,输入安全账户用户密码。

    1. beeline进入hive客户端,进行建库、建表操作。

      在OBS并行文件系统:“OBS桶/运营平台开发/数据授权运营方/普惠金融”目录下,创建开发贴源库,用于开发利用方数据开发工作。

      建库语句示例:

      CREATE DATABASE shdg_phjr_hive_dev LOCATION "obs://mrs-obs/obs_dev_tj_mrs/d_op_dev_shdg/dev_shdg_phjr_hive";

创建Ranger授权策略

本章节介绍平台运营管理员为MRS用户(组)创建hive ranger策略,ranger策略通过对Hive数据库、表添加针对不同MRS用户(组)对应权限,实现数据库权限访问控制。

Hive数据库权限划分详见表3

【示例】分配给开发利用方的MRS账号(datagroup_dev_admin)拥有对应生产融合库的所有权以及对公共数据库的只读权限。

  1. 以平台运营管理员角色登录智能云管理平台运营平台,跳转到MRS云服务界面,单击MRS集群名称进入概览页,单击集群管理。
  2. 以管理员账号登录FusionInsight Manager,进入到ranger admin页面,单击右上角"add new policy"新建ranger访问策略。
  3. 策略对象选择“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权限

MRS用户组映射OBS委托

将不同权限的委托,映射至MRS用户组。

  1. 登录智能云管理平台运营平台,跳转到MRS云服务界面,单击MRS集群名称进入概览页,单击“OBS权限控制”右侧的“单击管理”。
  2. 单击“添加映射”,参考表4配置IAM委托和用户组直接映射关系。类型选择“Group”。

    图11 OBS权限控制
    表4 IAM委托和用户组映射关系

    名称

    绑定委托

    映射用户组

    运营平台

    develop_access_obs_agency

    dev_access_group

    produce_access_obs_agency

    prod_access_group

    phjr场景

    develop_datagroup_obs_agency

    datagroup_dev_group

    produce_access_obs_agency

    datagroup_prod_group

  3. 单击勾选“我同意授权MRS用户(组)与IAM委托之间的信任关系”,更新映射表,完成MRS用户(组)细粒度权限控制。

相关文档