DataWorks提供访问Lindorm宽表引擎数据时的权限管控能力,包括权限申请、权限审批、权限审计。本文以一个完整的示例,从管理员配置和开发者申请权限两个视角,为您介绍Lindorm数据访问权限控制的完整流程。
功能概述
DataWorks安全中心集成Apache Ranger,为Lindorm宽表引擎提供精细化的、可追溯的数据访问权限控制。
-
核心能力:实现对Lindorm宽表引擎的表级别数据访问权限管理。
-
角色分工:
-
管理员(DataWorks租户管理员):负责底层技术配置和权限审批,精细化地管理和审计所有开发者的数据访问权限。
-
开发者(普通RAM用户):负责数据使用,在DataWorks安全中心以自助方式申请所需的Lindorm数据权限,无需关心底层实现。
-
-
核心价值:实现配置与使用的分离。管理员统一管控数据安全,开发者按需申请、便捷使用,大幅提升数据安全性和协同效率。
流程说明
整个流程分为 "一次性配置" 和 "日常使用" 两个阶段,涉及管理员和开发者两种角色。
阶段一:管理员进行一次性配置
在用户可以申请权限之前,管理员需要完成所有前置配置工作。
前置确认工作
-
【Lindorm侧】
-
确保已创建Lindorm实例,且实例已开启Ranger服务,用于管理Lindorm的数据访问策略。
-
-
【DataWorks侧】
-
确保Lindorm实例已注册到DataWorks工作空间,且已完成资源组的初始化(需保证Lindorm实例与资源组在同一VPC内)。
-
确保操作者拥有DataWorks租户管理员权限。
-
配置操作流程
|
步骤 |
操作角色 |
操作平台 |
操作内容 |
|
1 |
管理员 |
DataWorks侧 |
关联实例与Ranger:在DataWorks安全中心新增Ranger配置,并关联到目标Lindorm实例。 |
|
2 |
管理员 |
DataWorks侧 |
关联Lindorm服务:在Ranger配置中,新增一个Lindorm类型的Ranger Service进行关联。 |
|
3 |
管理员 |
DataWorks侧 |
配置身份映射:为RAM用户配置Lindorm身份凭证,建立RAM用户到Lindorm账号的映射关系。 |
阶段二:开发者与管理员的日常使用与审批
配置完成后,进入日常的权限申请与审批循环。
|
步骤 |
操作角色 |
操作平台 |
操作内容 |
|
1 |
开发者 |
DataWorks侧 |
申请权限:在DataWorks安全中心的"数据访问控制"模块,自助申请所需Lindorm表的访问权限。 |
|
2 |
管理员 |
DataWorks侧 |
审批权限:在DataWorks安全中心审批开发者的权限申请。 |
|
3 |
/ |
Lindorm侧 |
权限下发:审批通过后,DataWorks会自动调用Ranger接口,在Ranger中生成对应的访问策略(Policy)。(此步骤为自动触发) |
|
4 |
开发者 |
DataWorks侧 |
使用数据:权限策略生效后,开发者即可在数据开发、数据分析、数据地图等模块访问已获授权的Lindorm数据。 |
示例说明
本文以开发者bob向管理员申请访问Lindorm中user_orders表为例(READ权限),演示Lindorm数据访问权限控制的完整配置和使用流程:
|
角色/资源 |
说明 |
|
管理员 |
RAM用户alice@company.com,身份凭证中账号类型为管理员(可在DataWorks安全中心审批权限申请)。 |
|
开发者 |
RAM用户bob@company.com,身份凭证中账号类型为普通用户。 |
|
Lindorm实例 |
已开启Ranger服务的Lindorm实例。 |
|
Lindorm Service |
Ranger Service Name为 |
|
目标数据 |
Lindorm中 |
在整个流程中,DataWorks安全中心的身份凭证账号名称需要与Ranger中的用户名称保持一致,否则将导致权限校验失败。建议账号名称与阿里云RAM账号保持同名,便于管理。
Lindorm权限申请目前仅支持表级权限,不支持库级权限。支持的表权限包括:READ、WRITE、TRASH、ADMIN、SYSTEM、ALL。
管理员:配置Lindorm数据访问控制
管理员需要依次完成以下三个配置步骤,才能让开发者通过DataWorks安全中心申请和使用Lindorm数据权限。
步骤一:新增Ranger配置
管理员需要在DataWorks安全中心中新增Ranger配置,将Lindorm实例与DataWorks关联。配置内容包括:
-
集群类型:选择Lindorm 集群。
-
Lindorm实例ID:选择已注册到DataWorks工作空间的Lindorm实例。
-
资源组:选择与Lindorm实例在同一VPC的通用型资源组。
-
RangerAdmin地址:填写Lindorm实例中RangerAdmin的访问地址。
-
管理员账号/密码:填写Ranger管理员的账号和密码。
详细操作步骤请参见新增Ranger配置。
步骤二:关联Lindorm Service
新增Ranger配置后,需要新增Lindorm类型的Service关联,使DataWorks能够通过Ranger管理Lindorm的数据访问权限。
-
在安全中心页面,选择安全策略 > 管理Ranger。
-
单击目标Ranger配置的管理Service。
-
单击新增关联,配置以下信息:
参数
描述
Ranger Service Type
选择Lindorm(宽表引擎)。
Ranger Service Name
输入Lindorm实例中已配置的Ranger Service名称。本例中填写
lindorm_service。Lindorm实例
选择已关联到当前Ranger的Lindorm实例。
详细操作步骤请参见新增Ranger配置中的关联Service部分。
步骤三:配置身份凭证
管理员需要为每个需要访问Lindorm数据的RAM用户配置身份凭证,将RAM用户与Lindorm账号关联。
-
身份凭证中的账号名称必须与Ranger中的用户名称保持一致。这是Ranger进行用户识别和授权的唯一依据。
-
建议账号名称与阿里云RAM账号保持同名,便于管理。
本例中,管理员需要分别为alice和bob配置身份凭证:
为管理员alice配置身份凭证:
|
参数 |
示例值 |
|
阿里云RAM用户/角色 |
alice@company.com |
|
数据源类型 |
Lindorm |
|
Lindorm实例 |
选择已配置Ranger的Lindorm实例。 |
|
账号类型 |
管理员。管理员可审批其他用户的权限申请。 |
|
账号名称 |
user_alice(需与Ranger中的用户名称一致) |
|
账号密码 |
填写Lindorm账号user_alice的密码。 |
为开发者bob配置身份凭证:
|
参数 |
示例值 |
|
阿里云RAM用户/角色 |
bob@company.com |
|
数据源类型 |
Lindorm |
|
Lindorm实例 |
选择已配置Ranger的Lindorm实例(与alice相同的实例)。 |
|
账号类型 |
普通用户。普通用户只能申请权限,不能审批权限。 |
|
账号名称 |
user_bob(需与Ranger中的用户名称一致) |
|
账号密码 |
填写Lindorm账号user_bob的密码。 |
详细操作步骤请参见身份凭证。
开发者:申请Lindorm数据访问权限
管理员完成上述配置后,开发者bob即可在DataWorks安全中心申请Lindorm数据的访问权限。
步骤一:进入数据访问控制
-
登录DataWorks控制台,进入目标工作空间。在左侧导航栏,选择数据治理 > 安全中心。
-
在安全中心页面,在左侧导航栏单击数据访问控制。
步骤二:申请权限
在数据访问控制页面进行权限申请,需要配置申请内容与申请信息两个模块的信息。
-
Lindorm的权限申请仅支持表级权限,不支持库级权限。
-
Lindorm的权限申请,只能由身份凭证中账号类型为管理员的RAM用户/RAM角色审核。
-
在数据访问控制页面,单击进入权限申请页签。
-
申请资源权限。
-
在申请内容区域,选择数据源类型为Lindorm,即可配置申请内容。
-
Lindorm实例:选择已在DataWorks中绑定的Lindorm实例。
-
引擎类型:选择宽表引擎。
-
选择数据库(本例为
order_db),系统自动加载该库中所有可申请权限的数据表。选择需要申请权限的表(本例为user_orders)以及表权限(本例为READ)。
-
-
配置申请信息。
参数
描述
使用者
选择需要为谁申请目标资源权限。
-
当前登录账号:表示为当前登录DataWorks工作空间的阿里云账号申请权限。本例中bob选择此项。
-
代他人申请:表示当前登录DataWorks工作空间的阿里云账号为其他阿里云账号申请权限。选择该选项时,需要配置用户名参数。
申请时长
支持选择一个月、三个月、半年、一年、永久、其他。选择其他时需要额外选择到期时间。
申请原因
输入申请权限的原因。本例中bob填写"需要读取order_db库中user_orders表的数据进行数据分析"。
-
-
-
配置完成后,单击申请权限,即可提交权限申请。
管理员:审批权限
开发者bob提交权限申请后,身份凭证中账号类型为管理员的RAM用户(本例为alice@company.com)需要在安全中心审批该申请。
-
查看待审批的申请。
进入权限审批页签,选择数据源类型为Lindorm,查看bob提交的权限申请。
说明只有身份凭证中账号类型为管理员的RAM用户或RAM角色拥有审核权限。本例中只有alice(管理员类型)可以审批。
-
查看审批详情。
单击目标申请操作列的审批,您可以在审批详情对话框查看目标申请的申请详情、审批记录等详细信息。
说明Lindorm权限的审批详情中会显示Lindorm实例和引擎类型信息,不显示工作空间。
-
审批申请。
根据申请的详细内容及当前需求判断是否同意审批该申请,填写审批意见,选择同意或拒绝当前申请。
您也可以直接在权限审批页面,勾选全部申请,单击批量同意或批量拒绝,填写审批意见,批量处理目标申请。
管理员alice审批通过后,Ranger会自动在Lindorm实例中生成对应的Policy。开发者bob即可通过DataWorks访问order_db库中user_orders表的数据。