文档首页/ 数据治理中心 DataArts Studio/ 最佳实践/ 企业级权限管理与规范化数据开发
更新时间:2026-10-21 GMT+08:00
分享

企业级权限管理与规范化数据开发

针对大型企业在构建企业级数据平台时常面临的权限混乱、开发不规范以及运维困难等问题,不仅影响了数据的安全性,还降低了开发效率。华为云DataArts Studio提供企业级数据治理与开发能力,通过完善的权限管理机制和规范化开发流程,保障数据安全与开发质量。本文档阐述权限管理与规范化开发的核心实践方法。

核心架构

DataArts Studio支持两种工作空间模式:简单模式和企业模式,两种类型在权限管理上有细分差异。

简单模式介绍

简单模式是DataArts Studio传统的工作空间模式,也是默认的工作空间模式。其核心特点是简单、方便、易用:

  • 单环境架构:只有一个生产环境,所有脚本和作业直接在生产环境中开发和执行。
  • 无发布流程:提交脚本或作业后无需发布,即可直接进入调度系统周期性执行。
  • 快速上手:仅需授权开发者角色即可完成所有数据开发工作。
图1 简单模式工作空间

优势

无审批等待,开发效率高。

劣势

  1. 数据安全风险:开发者可直接访问和修改生产环境的数据表,可能导致数据被误删或篡改。
  2. 流程失控风险:开发者可以不经过审批直接发布代码到生产调度系统,给业务带来不稳定因素。
  3. 环境同步困难:无法便捷地完成开发和生产环境的代码同步,缺少审批管控环节。

企业模式介绍

企业模式是为解决简单模式存在的风险而新增的工作空间模式。其核心特点是安全、规范、可控:

  • 双环境架构:支持开发环境和生产环境隔离,有效防止开发者对生产环境的误操作。
  • 发布审批流程:脚本和作业必须经过“开发 > 提交 > 审批 > 发布”的完整流程才能上线到生产环境。
  • 角色分工明确:通过管理员、开发者、部署者、运维者等角色的分工协作,实现规范化的数据开发流程。
图2 企业模式工作空间

优势

生产环境受保护,变更可控可追溯。

劣势

增加审批环节,上线周期较长。

目前仅管理中心和数据开发组件支持企业模式。

工作空间模式对比

本章节从架构设计、工作流程、权限管控三个核心维度,系统对比简单模式与企业模式的差异,帮助您快速理解两种模式的本质区别。

核心差异

对比维度

简单模式

企业模式

差异说明

环境架构

单环境(仅生产环境)。

双环境(开发+生产隔离)。

企业模式通过物理隔离防止误操作。

发布机制

提交即生效,直接进入调度。

开发 > 提交 > 审批 > 发布,完整流水线。

企业模式增加审批环节保障稳定性。

角色分工

管理员、开发者两类角色。

管理员、开发者、部署者、运维者四类角色。

企业模式实现职责分离。

数据安全

开发者可直接读写生产数据。

开发者仅能访问开发环境数据。

企业模式杜绝生产数据被误删改。

工作流程对比

  • 简单模式工作空间下,DataArts Studio数据开发组件以及对应管理中心组件无法设置开发环境和生产环境,只能进行简单的数据开发。提交脚本或作业后,您无需发布,脚本或作业即可进入调度系统周期性执行,产出结果数据。
    图3 简单模式流程

  • 企业模式下,DataArts Studio数据开发组件以及对应管理中心组件的数据连接支持设置开发环境和生产环境,有效隔离开发者对生产环境业务的影响。其中:开发环境只针对开发人员开放,只用于脚本或作业开发,开发完后发布到生产环境中。生产环境内不能做任何修改,只对最终用户开放,任何修改必须回退到开发环境中重新修改发布。
    图4 企业模式流程

组件操作差异

下表列出DataArts Studio的管理中心和数据开发组件在两种模式下的具体操作差异。

表1 组件操作差异

功能组件

简单模式

企业模式

管理中心

操作生产环境(数据连接、数据导入导出)。

操作开发环境+生产环境(数据源资源映射配置、数据连接、数据导入导出)。

数据开发

操作生产环境(实例、数据库)。

操作开发环境+生产环境(实例、数据库)。

创建企业模式工作空间实现环境隔离

简单模式下为实现开发环境和生产环境隔离,需要创建两个工作空间,一个是开发环境工作空间,一个是生产环境工作空间,然后将开发工作空间导出的脚本或作业,导入到生产工作空间。在这种方式下,无法简单便捷地完成生产环境和开发环境同步,缺少审批管控环节。

企业空间模式,在一个工作空间实现开发环境与生产环境隔离、不同环境计算资源隔离、权限隔离、任务发布流程管控等需求。

  1. 创建企业模式工作空间。

    若您当前使用简单模式工作空间,但希望使用开发环境与生产环境隔离机制,您可以将简单模式工作空间升级为企业模式工作空间,如果您之前未使用过简单模式、无需继承业务数据,则可以直接新建企业模式工作空间。

  2. 准备两套相互隔离的数据湖引擎,用于隔离开发环境和生产环境。
    不同工作空间模式对于数据湖引擎存在一定的要求,企业模式工作空间需要分别为开发环境和生产环境进行数据湖引擎配置,才可以实现开发环境和生产环境隔离。配置开发环境和生产环境隔离包含以下方式:
    图5 配置开发生产环境隔离
    • 配置两套数据湖服务,进行开发与生产环境隔离。

      对于集群化的数据源(例如MRS、DWS、RDS、MySQL、Oracle、DIS、ECS等),DataArts Studio通过管理中心的创建数据连接区分开发环境和生产环境的数据湖服务,在开发和生产流程中自动切换对应的数据湖。因此您需要准备两套数据湖服务,且两套数据湖服务的版本、规格、组件、区域、VPC、子网以及相关配置等信息,均应保持一致,详细操作请参见创建DataArts Studio数据连接。

      创建数据连接时,通过不同的集群来进行开发与生产环境的隔离,如图6所示。
      图6 创建数据连接时选择不同集群
    • 配置DLI环境隔离。

      配置企业模式环境隔离,包含DLI队列配置和DB配置。

      对于Serverless服务(例如DLI),DataArts Studio通过管理中心的环境隔离来配置生产环境和开发环境数据湖服务的对应关系,在开发和生产流程中自动切换对应的数据湖。因此您需要在Serverless数据湖服务中准备两套队列、两套数据库资源,建议通过名称后缀进行区分,详细操作请参见配置DataArts Studio企业模式环境隔离。

    • 配置DB,在同一个数据湖服务下配置两套数据库,进行开发与生产环境隔离。
      对于DWS、MRS Hive和MRS Spark这三种数据源,如果在创建数据连接时选择同一个集群,如图7所示,则需要配置数据源资源映射的DB数据库映射关系进行开发生产环境隔离,如图8所示。详细操作请参见DB配置。
      图7 创建数据连接时选择同一个集群
      图8 DB配置

建立DataArts Studio权限管理体系

DataArts Studio采取统一身份认证服务(Identity and Access Management,简称IAM)的角色与策略授权(RBAC)/身份策略授权(ABAC)+工作空间角色的细粒度权限管理体系。此外,数据安全权限管理以数据为中心,构建覆盖全链路的数据湖安全解决方案,并支持对服务资源的管控,从而全方位保障数据湖安全。

  1. 统一身份认证IAM权限管理
    目前IAM支持两类授权,一类是角色与策略授权,另一类为身份策略授权。了解更多两类授权详情请参见权限管理。

    实际生产过程中,项目管理员可以按照用户授权最小化权限实践进行权限最小化配置,这样既能满足实际业务使用,也避免了权限过大的风险。

  2. 用户角色和权限管理

    对于非DAYU Administrator或Tenant Administrator账号权限的IAM用户而言,DataArts Studio工作空间角色决定了其在工作空间内的权限。请采取统一身份认证IAM权限管理准备IAM用户,然后将该用户添加为工作空间成员并配置工作空间角色。详细操作步骤请参见添加工作空间成员和角色。各角色权限的详细说明请参见权限列表章节。

    • 分配角色

      当前可分配的预置角色有管理员、开发者、部署者、运维者和访客这几种。

      • 管理员:建议将项目负责人、开发责任人、运维管理员设置为管理员角色。
      • 开发者:建议将任务开发、任务处理的用户设置为开发者。
      • 运维者:建议将运维管理、状态监控的用户设置为运维者。
      • 部署者:在企业模式中,开发者提交脚本或作业版本后,系统会对应产生发布任务。开发者确认发包后,需要部署者审批通过,才能将修改后的作业同步到生产环境。
      • 访客:建议将只查看空间内容、不进行操作的用户设置为访客。
    • 分配权限
      不同的工作空间角色决定了该用户在工作空间内的权限。
      • 管理员:工作空间管理员拥有工作空间内所有的业务操作权限。
      • 开发者:开发者拥有工作空间内创建、管理工作项的业务操作权限。
      • 运维者:运维者具备工作空间内运维调度等业务的操作权限,但无法更改工作项及配置。
      • 部署者:企业模式独有,具备工作空间内任务包发布的相关操作权限。
      • 访客:访客可以查看工作空间内的数据,但无法操作业务。

    如果预置角色不能满足您的需求,您也可以创建自定义角色。自定义角色的权限可自由配置,实现业务操作权限最小化。可以参考(可选)自定义工作空间角色章节创建自定义角色。

  3. 数据安全权限管理

    DataArts Studio数据安全访问权限控制,为用户配置数据访问权限和服务资源访问权限,控制资源使用范围,进一步保障数据的安全。

    • 配置数据权限访问控制

      按不同角色、用户、用户组进行数据权限分配,保障数据的访问安全。

    • 配置服务资源访问控制

      对队列权限、数据连接、委托等资源进行管控,对各组件目录权限、数据下载权限进行限制,保障资源不被滥用。

标准化数据开发流程

当前DataArts Studio企业模式,主要涉及管理中心和数据开发组件,数据开发流程由管理员、开发者、部署者、运维者等角色共同完成。标准化的开发流程应遵循“设计 > 开发 > 测试 > 审核 > 发布 > 运维”的闭环。

图9 企业模式角色架构

在进行数据开发与生产前,您还需要了解一项重要的操作:配置调度身份。

作业执行机制默认以启动作业的用户身份执行该作业。然而,在实际作业执行中可能因权限不足导致作业执行失败,需要通过配置作业调度身份来解决。调度身份分为委托和IAM账户两大类。系统按照作业委托>公共委托>执行用户>公共IAM账号>调度作业的用户的顺序来获取权限,然后以该权限来执行作业。配置调度身份详情请参考配置调度身份。

进行数据开发与生产最佳实践流程:
  1. 管理员创建工作空间,准备两套数据湖服务,配置开发环境和生产环境,准备数据,配置项目用户权限等。
    管理员可按部门、项目或数据域划分权限边界,实现权限隔离。实际生产过程中,可以设置项目管理员、数据架构师、安全管理员等多个管理员角色,分别负责项目管理、数据管理、权限配置相关业务。
    • 项目管理员创建企业模式工作空间,创建IAM用户,配置用户权限和用户角色。
    • 数据架构师:准备两套数据湖服务,配置开发环境和生产环境,准备数据。
    • 安全管理员:进行用户访问权限控制,保障数据资产安全。

    具体操作请参见创建企业模式工作空间实现环境隔离和建立DataArts Studio权限管理体系。

    数据架构师准备数据须知:

    数据湖服务创建完成后,您需要按照项目规划(例如数据开发需要操作的库表等),分别在开发和生产环境的数据湖服务中,新建数据库、数据库模式(仅DWS需要)、数据表等。

    数据源类型

    命名规范

    集群化的数据源(例如MRS、DWS、RDS、MySQL、Oracle、DIS、ECS等)

    使用两套集群资源,两套环境中的数据库、数据库模式(仅DWS需要)和数据表必须保持同名。

    Serverless服务(例如DLI)

    两套队列和两套数据库建议通过名称和后缀(开发环境添加后缀“_dev”,生产环境无后缀)进行关联与区分,数据表必须保持同名。

    DWS、MRS Hive和MRS Spark数据源

    如果使用一套相同的集群资源,通过两个数据库(开发环境添加后缀“_dev”,生产环境无后缀)进行开发环境和生产环境隔离,两套环境中数据库模式(仅DWS需要)和数据表必须保持同名。

    数据库、数据库模式(仅DWS需要)、数据表等新建完成后,如果涉及原始数据表等,您还需要将两套数据湖服务之间的数据进行同步:
    • 数据湖中已有数据:通过CDM或DRS等数据迁移服务,在数据湖间批量同步数据。
    • 数据源待迁移数据:通过对等的CDM或DRS等数据迁移服务作业进行同步,保证生产环境和开发环境的数据湖服务数据一致。
  2. 开发者在数据开发的开发环境进行脚本、作业开发,提交版本等操作。
    • 脚本开发:
      1. 新建脚本:新建相应类型的脚本。具体操作请参见新建脚本。
      2. 开发脚本:基于新建的脚本,进行脚本的在线开发、调试和执行。具体操作请参见开发脚本。
      3. 提交版本并解锁:脚本开发完成后,您需要提交版本并解锁,提交版本并解锁后才能正式地被作业调度运行,便于其他开发者修改。具体操作请参见提交版本。
    • 作业开发
      1. 新建作业:创建一个批处理的Pipeline作业。具体操作请参见新建作业。
      2. 开发作业:基于新建的作业,进行作业开发,您可以进行编排、配置节点。具体操作请参见开发Pipeline作业。
      3. 配置调度作业:配置作业调度任务。具体操作请参见调度作业。

        如果您的作业是批处理作业,您可以配置作业级别的调度任务,即以作业为一个整体进行调度,支持单次调度、周期调度、事件驱动调度三种调度方式。具体操作请参见配置作业调度任务(批处理作业)。

      4. 提交版本:作业调度配置完成后,您需要提交版本,提交版本后才能用于调度运行,便于其他开发者修改。具体操作请参见提交版本。
      5. 调度作业:作业开发完成后,用户可以在“作业监控”页面中管理作业的调度任务,例如:执行调度、暂停调度、恢复调度、停止调度。批作业监控:调度作业。
      6. 查看批处理作业监控详情:批作业监控提供了对批处理作业的状态进行监控的能力。具体操作请参见批作业监控。
  3. 部署者在数据开发的开发环境,发布版本,将脚本、作业任务发布到生产环境。

    在企业模式中,开发者完成脚本、作业开发后,提交脚本、作业版本,系统会对应产生一个脚本、作业类型的发布任务。部署者审批开发者提交的版本,审批通过,将脚本、作业同步到生产环境。

    发布脚本版本具体操作请参见发布脚本任务,发布作业版本具体操作请参见发布作业任务。

  4. 运维者在数据开发的生产环境,基于开发者发布的资源,进行作业监控、通知管理、备份等操作。
    • 运维监控:运维者进行作业监控、实例监控,查看作业和其内各任务节点的运行详情。
    • 通知管理:运维者配置多种方式报警,作业和任务发生错误时可及时通知相关人,保证业务正常运行。
    • 备份和还原管理:运维者可以通过备份功能,定时备份系统中的所有作业、脚本、资源和环境变量。通过还原功能,还原已备份的资产,包含作业、脚本、资源和环境变量。

    具体操作请参见运维调度。

  5. 访客在数据开发的生产环境查看工作空间内容。

相关文档