数据管理与分析-方案概述:关键方案设计
关键方案设计
【平台资源与权限配置】
- VDC整体规划方案
VDC是企业组织架构的逻辑映射,最多支持五层,VDC对应了企业的组织部门,VDC层级对应企业组织层级,VDC还提供了云资源配额控制、用户角色权限分配的作用。
资源集是对云资源的分组,各个资源集之间资源相互隔离,一个VDC可以包含多个资源集,一个资源集只能属于一个VDC或企业项目。资源集可以授权给下级VDC下的用户组,只有授权了相应的资源集才能拥有相关资源权限。
规划方案:
如上图所示,根据资源划分的需求,将平台三类主要用户划分为三级VDC:
- 一级平台运营方VDC,作为全局唯一的一级VDC,负责统管全局公共资源,包括数据底座、数据开发工具、xx运营平台资源等;
- 二级授权运营方VDC,对应具备数据授权运营资质的企业,当前平台仅有一个二级授权运营方VDC,即数据集团;
- 二级平台建设方VDC,对应负责xx运营平台的建设的ISV,如华傲VDC、统一认证CA的VDC,在对应VDC下分配运维账号用于平台部署和维护;
- 三级开发利用方VDC,需要唯一归属指定的数据授权运营VDC,根据不同子公司或企业设置不同开发利用方VDC,将 用户添加至不同用户组,控制个人用户的访问权限;
资源集用于承载云平台的各类云服务资源,各类资源集具体划分如下:
- 公共服务1资源集,作为生产资源集,归属一级平台运营方VDC,负责承载 MRS 、DWS、 DataArts Studio 、ROMA Connect、 TICS 等生产实例和xx运营平台生产环境;
- 公共服务2资源集,作为开发测试资源集,归属一级平台运营方VDC,负责承载ROMA Connect开发实例、xx运营平台测试环境;
- 公共服务3资源集,作为CA认证平台生产资源集,归属一级平台运营方VDC,负责发放CA统一认证系统所需要的各类云主机、数据库、容器集群资源;
- 公共服务4资源集,作为CA认证平台开发测试资源集,归属一级平台运营方VDC,负责发放CA统一认证系统所需要的各类云主机、数据库、容器集群资源;
- 开发利用方资源集,按需为开发利用方创建资源集,用于开发利用方相关应用部署;
一级VDC下的公共资源集需要授权给二级、三级VDC下的用户组,以便各用户组具备公共资源使用权限,具体授权策略如下:
- 公共服务1、2资源集授权给二级授权运营方VDC,默认拥有全量资源权限;
- 公共服务1资源集授权给三级开发利用方VDC,默认分配DataArts Studio相关权限,以便进行 数据治理 开发工作;
- 公共服务2资源集授权给三级开发利用方VDC,默认分配ROMA Connect相关权限,以便进行数据服务API开发工作;
- 公共服务3、4资源集授权给二级平台建设方VDC(Builder_CA),以便进行CA资源部署和运维工作;
- 参与方权限分配与隔离方案: 华为云Stack 提供三层权限管控体系满足不同租户和用户在平台的权限分配和隔离,如下图所示:
图5 参与方权限分配和隔离方案图
- 第一层为组织人员管控,主要解决各方组织架构在华为云Stack的映射,并通过用户组和云服务角色权限实现各参与方用户在平台的权限管控
- 第二层为数据开发工具管控,主要解决开发利用方在DataArts Studio(简称DGC)和ROMA 工具上的权限管控,这部分主要依赖工具内部的角色权限管控能力
- 第三层为数据底座管控,主要解决各参与方在数据底座数据存储的权限管控,这部分主要通过对不同数据库账号设置不同的库操作权限实现,依赖MRS、DWS、RDS等数据库实例的权限管控体系
结合数据授权运营场景需求,各参与方在云平台的权限和隔离详细设计方案参考下表,后续实施指导中严格参考该表的权限和隔离方案进行:
表1 运营平台各参与方权限分配和隔离方案 参与方
云平台
数据开发工具
数据底座( 数据湖 仓等)
/
智能云管理平台
DataArts Studio
ROMA Connect
MRS
OBS
DWS
RDS
平台运营方
具备一级平台运营VDC管理员账号和权限
负责创建平台方的开发人员VDC账号
负责创建授权运营方VDC和相关人员账号
平台运营方全局唯一,无需隔离
具备全局实例管理员权限
负责为平台运营方创建生产和开发工作空间
负责将平台运营方开发等人员添加到工作空间
具备全局ROMA实例的管理员权限
具备MRS服务管理员权限
按需根据提供方创建对应贴源库和标准库,并作为库Owner
按需为开发利用方分配MRS库,并提供读写权限账号
按需为开发利用方授权平台运营方公共库只读权限
具备OBS服务的管理员权限
按需为平台运营方和开发利用方分配MRS数据库目录和自定义角色权限
具备DWS服务管理员权限
按需为平台运营方、开发利用方分配DWS库权限
按需为开发利用方分配DWS库权限
具备RDS服务管理员权限
负责为数据库提供方发放前置机RDS实例和账号
授权运营方
具备二级授权运营VDC管理员账号和权限
负责三级开发利用方VDC创建和对应开发、测试等人员账号创建
多个不同授权运营方通过不同二级VDC隔离
具备被授权实例管理员权限
负责为不同开发利用方创建生产和开发空间
负责并将开发利用方开发等人员添加到空间
具备被授权ROMA实例的管理员权限
按需为开发利用方和需求方创建ROMA应用
暂不分配账号
暂不分配权限
暂不分配账号
暂不分配账号
开发利用方
具备三级开发利用方VDC普通用户账号
不同开发利用方通过不同VDC进行隔离
具备开发利用方工作空间开发、运维、测试权限
不同开发利用方通过不同工作空间隔离
具备ROMA开发实例下指定应用的管理员权限
不同开发利用方通过不同ROMA应用隔离
具备分配给开发利用方对应MRS库读写权限
具备分配给开发利用方对应公共库的只读权限
不同开发利用方通过不同MRS账号隔离
不同开发利用方提交的任务通过不同的MRS租户隔离
具备OBS服务只读权限
具备开发利用对应MRS库所在OBS目录的读写权限
具备分配给开发利用方对应DWS库读写权限
不同开发利用方通过不同DWS账号隔离
不同开发利用方提交的后台作业通过不同队列隔离
按需分配RDS实例账号读写权限(暂无场景)
不同开发利用方通过不同RDS实例和账号隔离
数据提供方
无权限
无权限
无权限
无权限
无权限
无权限
按来源方分配RDS实例,并创建Database进行隔离
仅具备数据库地址和读写权限的账号给提供方
数据需求方
无权限
无权限
在ROMA生产实例分配客户端应用,并提供appkey、appsecret
不同数据需求方通过不同的客户端应用隔离
无权限
无权限
无权限
无权限
监督管理方
按需在平台运营方VDC分配只读权限账号
按需分配各工作空间访客权限
按需分配各ROMA应用只读权限
按需分配MRS只读账号权限
按需分配OBS只读账号权限
按需分配DWS只读账号权限
按需分配RDS只读账号权限
为实现上表中各参与方的权限分配和隔离,华为云Stack提供了完善的角色、权限、用户组等模型支撑用户的权限管理,具体逻辑关系模型参考下图:
图6 逻辑关系模型图
华为云Stack的账号权限管理整体上总体上分成三部分,后续各场景下的角色授权操作将参考该逻辑模型图进行实施:
智能云管理平台角色权限
- 智能云管理平台提供华为云Stack账号的统一管理能力,为各个参与创建华为云Stack的登录账号并设置相关云服务的访问权限
- 智能云管理平台提供了VDC默认角色和各类云服务细粒度角色用于云服务权限管控。默认角色包括VDC管理员、VDC业务员、VDC只读用户,默认具备所有云服务的相关权限,比如VDC只读用户可以查看所有云服务但不能进行任何操作
- 针对需要限制账号的仅具备特定云服务权限的场景,智能云管理平台支持各云服务的细粒度权限创建自定义角色进行控制,比如DataArts Studio User角色,只能访问DataArts Studio服务,ROMA Administrator只能访问ROMA Connect服务
- 为方便角色统一授权,通常需要将用户账号添加到一个自定义用户组,通过给用户组授权相关角色实现对组内所有用户的授权
- 针对用户组角色的授权,需要在指定的资源集下进行,所有的角色权限都是需要关联到资源集
- 智能云管理平台账号能在个人中心下载AK/SK,用于相关云服务的访问,如OBS服务等
数据开发工具权限
- 数据工具主要包括DataArts Studio(简称DGC)和ROMA Connect两部分,各参与方可直接通过智能云管理平台账号登录华为云Stack进行数据工具服务的访问和操作
- DataArts Studio中提供了数据空间进行不同开发利用方的隔离,工作空间中提供了管理员、开发、运维、访客4类默认角色,支持自定义新角色,用于DataArts Studio中功能的细粒度控制
- ROMA Connect中提供了应用进行不同开发利用方的隔离,应用下提供了admin、modify、delete权限用于控制不同账号在应用下API操作权限
数据底座角色权限
- 数据底座目前主要包括MRS数据湖、DWS 数据仓库 、RDS关系型数据库三类
- 默认情况下开发利用方不分配MRS、DWS、RDS云服务的权限,只能通过由平台运营方管理员分配的数据底座相关账号进行数据访问
- 不同开发利用方通过不同的MRS账号进行隔离,需要在MRS集群的管理系统 FusionInsight Manager(简称FI系统)上创建MRS账号。FusionInsight Manager上预置了各类角色进行账号权限的管控,确保相关账号仅具备授权组件的访问权限,比如限制只能访问Hive、Yarn或只能向某个MRS队列提交任务等
- MRS的账号目前主要用于Hive数据库权限的分配,这部分是通过FusionInsight Manager上提供的Ranger图形化管理界面实现的。Ranger支持通过自定义Policy策略为指定的FusionInsight Manger用户组设置指定数据库的细粒度读写权限,从而确保MRS的账号仅能基于指定的操作权限访问指定的Hive数据库
- 该项目中MRS数据湖采用存算分离架构,因此在分配MRS数据库账号的同时,需要对该账号对应的智能云管理平台账号进行OBS权限的管控,确保相应的智能云管理平台账号也只能在对应的OBS目录下进行数据的读写操作
- 通过智能云管理平台中自定义OBS角色授权给指定用户组来实现开发利用方OBS权限的管控,同时OBS角色需要通过自定义委托并映射到MRS用户组,实现MRS下对应用户组对OBS的细粒度权限管控
- DWS数据仓库中,不同开发利用方通过不同的Schema进行隔离,平台运营管理员通过命令行为开发利用方创建DWS数据仓库账号,并设置对应Schema的读写权限
- RDS关系型数据库中,不同开发利用方通过不同的RDS实例和Database进行隔离,平台运营管理员在指定的RDS实例创建Database和数据库账号,并将Database的读写权限授权给对应数据库账号