安全设置

安全设置是您可以对数据安全及访问进行精细化控制、对SPARK Batch任务(Spark Jar、PySpark)的开关及鉴权模式的设置,来保障数据的安全性。本文为您介绍如何设置严格权限模式和SPARK Batch任务(Spark Jar、PySpark)。

前提条件

需购买智能研发版或基础研发版才能使用安全设置功能。

严格权限模式

背景信息

Dataphin管理中心支持项目安全模式设置功能,在未设置的情况下,会存在以下安全问题:

  • 不同项目,在项目管理员不知情的情况下,用户可以随意跨项目进行DDL操作。

    说明

    DDL语句详情,请参见DDL语句

  • 同一项目,用户可以在Dev环境直接操作Prod环境的数据,造成Prod环境数据泄漏或意外变更。

    下表以开发者角色为例,介绍安全模式开启与关闭的情况下,对项目的操作权限。

    操作

    默认(权限模式均未开启)

    跨项目安全模式(开启)

    生产数据安全模式(开启)

    当前项目Dev环境的所有表操作

    支持

    -

    -

    当前项目Prod环境的所有表操作

    支持

    -

    不支持

    跨项目查询

    支持

    -

    -

    跨项目DDL

    支持

    不支持

    -

    重要
    • 设置安全模式后,项目数据有更高的安全性,但是会导致系统使用流畅程度下降,建议您根据业务需求进行设置。

    • 表示当前操作不受跨项目安全模式或生产数据安全模式功能管控。

严格权限模式的默认配置

  1. Dataphin首页的顶部菜单栏,选择管理中心 > 规范设置

  2. 在左侧导航栏选择数据访问 > 安全设置,进入安全设置页面。

  3. 安全设置页面,单击严格权限模式页签,在默认配置区域,开启或关闭跨项目安全模式、生产数据安全模式。

    严格权限模式

    描述

    跨项目安全模式

    • 关闭:在具备操作目标对象权限的前提下,允许跨项目执行DDL任务。

    • 开启:禁止跨项目执行和提交DDL任务(包括建表、删表、改表等)。

    生产数据安全模式

    • 关闭:允许在Dev环境修改Prod环境数据。

    • 开启:在Dev环境将不能修改Prod环境的数据(包括表的增删改)。

      说明

      开启后,如需修改Prod环境的数据,需要走发布流程,详情请参见发布中心

严格权限模式的项目配置

说明
  • 未单独配置的项目以默认配置为准。

  • 每个项目仅可配置一次安全模式。

  1. 严格权限模式页签,单击添加安全模式配置按钮。

  2. 添加安全模式配置对话框,选择需要开启严格权限模式的项目。

    参数

    描述

    项目

    选择需要配置安全模式的项目,支持多选。

    跨项目安全模式

    • 开启:禁止从任意项目到当前项目DDL(create、drop、alter)。

    • 关闭:允许有权限的账号跨项目执行DDL操作。

    生产数据安全模式

    • 开启:禁止从任意项目DDL(create、drop、alter)该项目的生产环境。

    • 关闭:允许有权限的账号DDL该项目的生产环境数据。

    说明

    开启后,如需修改Prod环境的数据,需要走发布流程,详情请参见发布中心

  3. 单击确定,完成项目级的严格权限模式配置。

项目配置列表

  1. 支持在项目配置列表查看项目的名称、跨项目安全模式和生产数据安全模式的状态。

  2. (可选)您可以根据项目的名称搜索目标项目。

  3. 您可以对目标项目执行如下操作。

    操作

    描述

    查看安全模式说明

    可单击跨项目安全模式或生产数据安全模式后的image.png图标,再单击查看图解,了解跨项目安全模式和生产数据安全模式的管控详情。

    编辑

    可添加或减少项目、开启或关闭跨项目安全模式和生产数据安全模式的状态。

    删除

    项目安全模式配置删除后不可撤销,请谨慎操作。

SPARK_JAR_ON_MAX_COMPUTE任务

使用限制

  • 在使用SPARK_JAR_ON_MAX_COMPUTE任务时,需要对逻辑表的访问进行鉴权(读、写等权限)。

  • 不同的计算引擎支持不同版本的SPARK_JAR_ON_MAX_COMPUTE任务(MaxCompute引擎中的SPARK_JAR_ON_MAX_COMPUTE任务默认使用SPARK V2.4.5。Hadoop引擎中的SPARK_JAR_ON_MAX_COMPUTE任务使用的版本为TBD)。

  • MaxCompute引擎下可开启SPARK_JAR_ON_MAX_COMPUTE任务鉴权模式。Hadoop引擎下(除Inceptor外)不可开启SPARK_JAR_ON_MAX_COMPUTE任务鉴权模式。

  • 当计算引擎为ArgoDB、Lindorm(计算引擎)、StarRocks、GaussDB(DWS)、Databricks、Doris、SelectDB时,不支持配置该任务。

操作步骤

  1. 安全设置页面,单击SPARK_JAR_ON_MAX_COMPUTE任务页签,开启或关闭SPARK_JAR_ON_MAX_COMPUTE任务、鉴权模式。

    SPARK_JAR_ON_MAX_COMPUTE任务

    描述

    SPARK_JAR_ON_MAX_COMPUTE

    • 关闭:原有的SPARK_JAR_ON_MAX_COMPUTE任务仍可进行编辑、删除、执行、提交、发布等操作。

    • 开启:支持创建SPARK_JAR_ON_MAX_COMPUTE任务

    鉴权模式

    • 关闭:需开启OpenAPI功能模块的情况下才可开启。

    • 开启:鉴权开启后,SPARK Batch任务(Spark Jar、PySpark)的数据访问将进行权限校验,原有的任务若无相应权限,则将导致任务执行失败。

      说明

      开启后可访问逻辑表,且使用逻辑项目和板块的方式访问数据表。

  2. 单击确定,完成配置。

函数鉴权配置

说明

默认所有项目下的离线函数可以通过项目名.函数名的方式被调用,添加了函数鉴权的项目,需申请函数的使用权限。

背景信息

在本项目中创建的函数,可以被跨项目调用,对数据的安全性造成很大风险,需对离线函数的调用加以管控,增加数据安全性。

  1. 安全设置页面,单击函数鉴权设置页签,再单击添加项目按钮。

  2. 添加项目对话框中,配置参数。

    项目:添加函数的所属项目。

    重要

    如果生产环境中的任务调用了所选项目的函数,此操作可能导致生产任务报错,请谨慎操作。

  3. 单击确定,完成添加。

项目设置列表

  1. 您可查看已添加项目的名称、环境、描述信息。

  2. 您可通过项目名称关键字进行搜索。

  3. 支持对目标项目执行如下操作。

    删除:单击目标项目操作列下的删除图标,删除后,该项目下的函数被跨项目调用时,将不再进行鉴权。