租户隔离
Dataphin支持租户的概念,不同租户之间的数据、任务、成员、权限是完全隔离的,只能通过跨租户发布进行数据和任务的流通。常见的情况有以下两种:
两套独立部署的,物理隔离的Dataphin。如两家完全不同的企业之间的Dataphin,或者一家企业的测试环境和生产环境独立部署两套Dataphin。
同一套部署下,逻辑隔离的两个Dataphin租户。如一家拥有多个业态的集团型企业,为每个业务单独开启一个租户。
项目隔离
同一个租户内,可以使用项目对数据开发人员、数据任务、数据表进行管理。
Dataphin不同项目之间的成员和数据是在初始状态下是隔离的,无法跨项目使用数据,最大程度的保证数据的安全性。如果因为业务需要访问某个项目的数据,可以申请项目所产出表的权限,或者申请加入到对应的项目中去。
这和租户隔离是不同的,租户之间是不能互相访问的,但是不同项目之间,可以通过权限的申请或授权进行相互的访问。
除了基础的人员和数据权限隔离外,还有下面两个安全配置:
跨项目安全模式:禁止跨项目DDL,只能在当前项目内进行表的创建和修改等,管理权限更明确。
读写权限申请开关:如果项目有非常敏感的数据,不希望被项目外的成员读写,可以关闭读写权限的申请功能,更好保护敏感数据。
项⽬成员角色分配
Dataphin支持通过项目角色管理不同项目成员可执行的操作及查看的数据范围;添加项目成员时,需要为每个成员分配对应项目角色,不同角色享有不同的功能权限和数据权限,合理配置项目成员角色可以有效防止敏感数据泄露或越权操作等场景。支持更改成员角色或移除成员,更改角色后对应的权限范围立刻跟随修改;移除成员前,需要手动一键转交该账号负责的对象,避免影响后续的权限申请审批或编辑等操作。
每个账号独立申请或被授权的数据访问与操作权限不会跟随角色变更而更新,需要手动回收授权。
Dataphin提供内置项目角色,包括:
项目管理员
拥有管理项目成员的权限、项目文件(含规范建模对象)增删改及发布权限、项目节点操作权限。数据操作权限中拥有本项目所有物理表的开发权限,跨项目权限以租户安全权限策略为准。
项目访客
拥有项目文件(含规范建模对象)查看权限、项目内任务节点查看权限。无项目内对象的数据权限,需要单独申请;跨项目数据访问权限以租户安全权限策略为准。
数据访客
拥有项目文件(含规范建模对象)查看权限、项目内任务节点查看权限。数据操作权限中拥有本项目所有物理表的查询权限,跨项目权限以租户安全权限策略为准。
分析师(仅单环境项目或开发项目可配置)
拥有项目文件(含规范建模对象)查看权限、项目即席查询文件增删改权限、项目内任务节点查看权限。数据操作权限中拥有本项目所有物理表的查询权限和本项目建表权限,跨项目权限以租户安全权限策略为准。
开发者(仅单环境项目或开发项目可配置)
拥有项目文件(含规范建模对象)增删改权限、提交发布以更新生产调度并监控运维权限(Basic模式)、项目节点操作权限。数据操作权限中拥有本项目所有物理表的开发权限,跨项目权限以租户安全权限策略为准。
运维(仅单环境项目或生产项目可配置)
拥有将项目文件从Dev发布至Prod权限(Dev-Prod模式)、项目内任务节点操作权限。数据操作权限中拥有本项目所有物理表的开发权限,跨项目权限以租户安全权限策略为准。
此外,为了支持更细粒度、更灵活的项目角色权限管理,Dataphin支持自定义配置项目角色并为其分配相关权限,可以定制的内容包括下面的内容:
规划:包括是否可以管理项目内的成员、是否可以配置项目信息和业务实体等。
集成:数据集成相关功能的查看、编辑、执行权限。
开发:数据开发相关功能的查看、编辑、执行权限。
项目数据资产:包括是否可以通过角色获取当前项目内数据资产(如物理表、逻辑表)的各种权限(查表数据、改表数据、删除表等);数据资产权限通常是需要自定义项目角色的关键点,建议按照最小需求范围配置。
发布运维:包括是否可以查看、发布、移除对象,是否可以执行运维操作或修改资源配置等;需要特殊说明的是,开发项目角色的运维功能仅在开发环境的运维模块生效;如果需要操作已上线的生产任务,需要在生产项目有运维相关的权限。
生产开发隔离
Dataphin提供了不同等级的生产开发安全隔离的方案,隔离等级从低到高的方案为:
无生产开发隔离:基础的非隔离的模式运行。这种基础模式一般适用于对项目生产开发隔离无强诉求,对系统资源消耗成本有负担的用户。
同租户下的逻辑隔离。业务板块及项目使用生产开发隔离的模式。这种模式可通过发布的管控控制开发和生产环境,更好的保障生产的变更的安全以及数据的安全。通常情况下,建议至少开启业务板块及项目的生产开发隔离模式,做到生产开发完全的数据隔离管控。同时为了更好保护生产数据,还支持设置生产数据安全模式,开启后将不能在开发环境对生产环境进行DDL,从而更好保护生产数据。
同一部署实例下的不同租户的逻辑隔离:使用不同的租户分别用户开发、测试和生产环境,并配置底层计算引擎的隔离,形成代码及配置规则的逻辑隔离,并在数据上进行完全的隔离。这种方式的发布需要通过跨租户发布进行任务的发布。
完全的物理隔离:部署完全独立的两个Dataphin实例,并可将不同的实例部署在不同的网络环境中,进行物理的隔离。同样地,这种方式需要通过跨租户发布进行任务的发布。
权限申请与授权
在通过项目和角色获取权限之外,Dataphin也支持通过单独的权限申请和授权获取相应的权限。
Dataphin目前支持数据表权限、数据源权限、函数权限、变量权限、密钥权限、数据服务权限的单独申请和授权。
权限申请
当需要使用到某个表或者数据源权限时,可以在权限中心发起权限申请,申请后需要对应的负责人审批,一般是资源的负责人或者模块的管理员。也可以在权限审批策略自定义申请不同资源时的审批策略,详情请参见 权限申请审批策略。
权限授权
作为资源的负责人或者模块的管理员,可以将自己管理的资源,直接授权给需要的成员使用。
权限的申请、审批和授权记录都可以在权限审计模块进行审计,便于后续进行合规审查,详情请参见权限审计。
个人账号或用户组申请权限、以及或给个人账号或用户组主动授权时,支持配置权限有效期。为了保障权限被合理使用,建议以最小需求范围选择权限有效期。职责变动或离职时,建议主动交还已申请或已被授权的权限。
权限申请审批策略
Dataphin针对不同的资源内置了丰富的权限审批策略,同时也支持客户按照企业的实际情况定制权限审批策略。如果可以有自己的OA系统,Dataphin也支持对接客户的OA进行审批。
内置权限申请审批策略
Dataphin针对不同的资源,内置了不同的权限审批策略。如Dataphin物理表的权限需要项目管理员审批,逻辑表的权限需要板块管理员审批。
自定义权限申请审批策略
Dataphin支持按照资源类型、资源所属项目、是否涉及敏感数据自定义不同的审批策略。如:
不涉及敏感数据,可以直接免审批使用。
涉及敏感数据,需要项目管理员和安全管理员审批。
涉及到绝密数据,不允许申请权限。
支持对接客户OA系统
如果客户希望在自己的OA系统中完成权限的审批,Dataphin也支持对接客户自己的OA系统,将任务的审批流转发到客户的OA系统进行审批,审批通过后将审批结果返回到Dataphin完成实际的授权。
数据下载控制
Dataphin支持数据结果的下载,在Dataphin的代码任务和即席分析中执行的结果可以下载到本地,方便继续后续的业务。但对于涉及保密数据和绝密数据的项目,作为管理员希望能够管控数据下载行为。
Dataphin提供了下面两个功能管控数据下载行为:
关闭数据结果下载:对于绝密数据,需要管控数据不能下载。这时候可以关闭整个项目的数据结果下载功能,防止敏感数据泄露。
下载审批:对于保密数据,需要对下载数据、下载用户、下载场景进行审批后,才能进行下载。Dataphin支持给项目配置数据下载审批,支持自定义选择项目管理员或者安全管理员审批,需要审批后才能进行数据的下载,防止敏感数据被直接下载。