Lindorm数据访问权限控制

更新时间:
复制为 MD 格式

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向管理员申请访问Lindormuser_orders表为例(READ权限),演示Lindorm数据访问权限控制的完整配置和使用流程:

角色/资源

说明

管理员

RAM用户alice@company.com,身份凭证中账号类型为管理员(可在DataWorks安全中心审批权限申请)。

开发者

RAM用户bob@company.com,身份凭证中账号类型为普通用户

Lindorm实例

已开启Ranger服务的Lindorm实例。

Lindorm Service

Ranger Service Namelindorm_service

目标数据

Lindormorder_db库中的user_orders表。

说明

在整个流程中,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的数据访问权限。

  1. 在安全中心页面,选择安全策略 > 管理Ranger

  2. 单击目标Ranger配置的管理Service

  3. 单击新增关联,配置以下信息:

    参数

    描述

    Ranger Service Type

    选择Lindorm(宽表引擎)

    Ranger Service Name

    输入Lindorm实例中已配置的Ranger Service名称。本例中填写lindorm_service

    Lindorm实例

    选择已关联到当前RangerLindorm实例。

详细操作步骤请参见新增Ranger配置中的关联Service部分。

步骤三:配置身份凭证

管理员需要为每个需要访问Lindorm数据的RAM用户配置身份凭证,将RAM用户与Lindorm账号关联。

重要
  • 身份凭证中的账号名称必须与Ranger中的用户名称保持一致。这是Ranger进行用户识别和授权的唯一依据。

  • 建议账号名称与阿里云RAM账号保持同名,便于管理。

本例中,管理员需要分别为alicebob配置身份凭证:

为管理员alice配置身份凭证

参数

示例值

阿里云RAM用户/角色

alice@company.com

数据源类型

Lindorm

Lindorm实例

选择已配置RangerLindorm实例。

账号类型

管理员。管理员可审批其他用户的权限申请。

账号名称

user_alice(需与Ranger中的用户名称一致)

账号密码

填写Lindorm账号user_alice的密码。

为开发者bob配置身份凭证

参数

示例值

阿里云RAM用户/角色

bob@company.com

数据源类型

Lindorm

Lindorm实例

选择已配置RangerLindorm实例(与alice相同的实例)。

账号类型

普通用户。普通用户只能申请权限,不能审批权限。

账号名称

user_bob(需与Ranger中的用户名称一致)

账号密码

填写Lindorm账号user_bob的密码。

详细操作步骤请参见身份凭证

开发者:申请Lindorm数据访问权限

管理员完成上述配置后,开发者bob即可在DataWorks安全中心申请Lindorm数据的访问权限。

步骤一:进入数据访问控制

  1. 登录DataWorks控制台,进入目标工作空间。在左侧导航栏,选择数据治理 > 安全中心

  2. 在安全中心页面,在左侧导航栏单击数据访问控制

步骤二:申请权限

在数据访问控制页面进行权限申请,需要配置申请内容申请信息两个模块的信息。

说明
  • Lindorm的权限申请仅支持表级权限,不支持库级权限。

  • Lindorm的权限申请,只能由身份凭证中账号类型为管理员的RAM用户/RAM角色审核。

  1. 数据访问控制页面,单击进入权限申请页签。

  2. 申请资源权限。

    1. 申请内容区域,选择数据源类型Lindorm,即可配置申请内容。

      1. Lindorm实例:选择已在DataWorks中绑定的Lindorm实例。

      2. 引擎类型:选择宽表引擎

      3. 选择数据库(本例为order_db),系统自动加载该库中所有可申请权限的数据表。选择需要申请权限的表(本例为user_orders)以及表权限(本例为READ)。

    2. 配置申请信息。

      参数

      描述

      使用者

      选择需要为谁申请目标资源权限。

      • 当前登录账号:表示为当前登录DataWorks工作空间的阿里云账号申请权限。本例中bob选择此项。

      • 代他人申请:表示当前登录DataWorks工作空间的阿里云账号为其他阿里云账号申请权限。选择该选项时,需要配置用户名参数。

      申请时长

      支持选择一个月三个月、半年、一年永久其他。选择其他时需要额外选择到期时间。

      申请原因

      输入申请权限的原因。本例中bob填写"需要读取order_db库中user_orders表的数据进行数据分析"。

  3. 配置完成后,单击申请权限,即可提交权限申请。

管理员:审批权限

开发者bob提交权限申请后,身份凭证中账号类型为管理员的RAM用户(本例为alice@company.com)需要在安全中心审批该申请。

  1. 查看待审批的申请。

    进入权限审批页签,选择数据源类型Lindorm,查看bob提交的权限申请。

    说明

    只有身份凭证中账号类型为管理员的RAM用户或RAM角色拥有审核权限。本例中只有alice(管理员类型)可以审批。

  2. 查看审批详情。

    单击目标申请操作列的审批,您可以在审批详情对话框查看目标申请的申请详情审批记录等详细信息。

    说明

    Lindorm权限的审批详情中会显示Lindorm实例引擎类型信息,不显示工作空间。

  3. 审批申请。

    根据申请的详细内容及当前需求判断是否同意审批该申请,填写审批意见,选择同意拒绝当前申请。

    您也可以直接在权限审批页面,勾选全部申请,单击批量同意批量拒绝,填写审批意见,批量处理目标申请。

说明

管理员alice审批通过后,Ranger会自动在Lindorm实例中生成对应的Policy。开发者bob即可通过DataWorks访问order_db库中user_orders表的数据。