安全设置是您可以对数据安全及访问进行精细化控制、对SPARK Batch任务(Spark Jar、PySpark)的开关及鉴权模式的设置,来保障数据的安全性。本文为您介绍如何设置严格权限模式和SPARK Batch任务(Spark Jar、PySpark)。
前提条件
需购买智能研发版或基础研发版才能使用安全设置功能。
严格权限模式
背景信息
Dataphin管理中心支持项目安全模式设置功能,在未设置的情况下,会存在以下安全问题:
- 不同项目,在项目管理员不知情的情况下,用户可以随意跨项目进行DDL操作。 说明- DDL语句详情,请参见DDL语句。 
- 同一项目,用户可以在Dev环境直接操作Prod环境的数据,造成Prod环境数据泄漏或意外变更。 - 下表以开发者角色为例,介绍安全模式开启与关闭的情况下,对项目的操作权限。 - 操作 - 默认(权限模式均未开启) - 跨项目安全模式(开启) - 生产数据安全模式(开启) - 当前项目Dev环境的所有表操作 - 支持 - - - - - 当前项目Prod环境的所有表操作 - 支持 - - - 不支持 - 跨项目查询 - 支持 - - - - - 跨项目DDL - 支持 - 不支持 - - 重要- 设置安全模式后,项目数据有更高的安全性,但是会导致系统使用流畅程度下降,建议您根据业务需求进行设置。 
- 表示当前操作不受跨项目安全模式或生产数据安全模式功能管控。 
 
严格权限模式的默认配置
- 在Dataphin首页的顶部菜单栏,选择管理中心 > 规范设置。 
- 在左侧导航栏选择数据访问 > 安全设置,进入安全设置页面。 
- 在安全设置页面,单击严格权限模式页签,在默认配置区域,开启或关闭跨项目安全模式、生产数据安全模式。 - 严格权限模式 - 描述 - 跨项目安全模式 - 关闭:在具备操作目标对象权限的前提下,允许跨项目执行DDL任务。 
- 开启:禁止跨项目执行和提交DDL任务(包括建表、删表、改表等)。 
 - 生产数据安全模式 - 关闭:允许在Dev环境修改Prod环境数据。 
- 开启:在Dev环境将不能修改Prod环境的数据(包括表的增删改)。 说明- 开启后,如需修改Prod环境的数据,需要走发布流程,详情请参见发布中心。 
 
严格权限模式的项目配置
- 未单独配置的项目以默认配置为准。 
- 每个项目仅可配置一次安全模式。 
- 在严格权限模式页签,单击添加安全模式配置按钮。 
- 在添加安全模式配置对话框,选择需要开启严格权限模式的项目。 - 参数 - 描述 - 项目 - 选择需要配置安全模式的项目,支持多选。 - 跨项目安全模式 - 开启:禁止从任意项目到当前项目DDL(create、drop、alter)。 
- 关闭:允许有权限的账号跨项目执行DDL操作。 
 - 生产数据安全模式 - 开启:禁止从任意项目DDL(create、drop、alter)该项目的生产环境。 
- 关闭:允许有权限的账号DDL该项目的生产环境数据。 
 说明- 开启后,如需修改Prod环境的数据,需要走发布流程,详情请参见发布中心。 
- 单击确定,完成项目级的严格权限模式配置。 
项目配置列表
- 支持在项目配置列表查看项目的名称、跨项目安全模式和生产数据安全模式的状态。 
- (可选)您可以根据项目的名称搜索目标项目。 
- 您可以对目标项目执行如下操作。 - 操作 - 描述 - 查看安全模式说明 - 可单击跨项目安全模式或生产数据安全模式后的  图标,再单击查看图解,了解跨项目安全模式和生产数据安全模式的管控详情。 图标,再单击查看图解,了解跨项目安全模式和生产数据安全模式的管控详情。- 编辑 - 可添加或减少项目、开启或关闭跨项目安全模式和生产数据安全模式的状态。 - 删除 - 项目安全模式配置删除后不可撤销,请谨慎操作。 
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时,不支持配置该任务。 
操作步骤
- 在安全设置页面,单击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)的数据访问将进行权限校验,原有的任务若无相应权限,则将导致任务执行失败。 说明- 开启后可访问逻辑表,且使用逻辑项目和板块的方式访问数据表。 
 
- 单击确定,完成配置。 
函数鉴权配置
默认所有项目下的离线函数可以通过项目名.函数名的方式被调用,添加了函数鉴权的项目,需申请函数的使用权限。
背景信息
在本项目中创建的函数,可以被跨项目调用,对数据的安全性造成很大风险,需对离线函数的调用加以管控,增加数据安全性。
- 在安全设置页面,单击函数鉴权设置页签,再单击添加项目按钮。 
- 在添加项目对话框中,配置参数。 - 项目:添加函数的所属项目。 重要- 如果生产环境中的任务调用了所选项目的函数,此操作可能导致生产任务报错,请谨慎操作。 
- 单击确定,完成添加。 
项目设置列表
- 您可查看已添加项目的名称、环境、描述信息。 
- 您可通过项目名称关键字进行搜索。 
- 支持对目标项目执行如下操作。 - 删除:单击目标项目操作列下的删除图标,删除后,该项目下的函数被跨项目调用时,将不再进行鉴权。