更新时间:2024-02-07 GMT+08:00
分享

权限管理概述

DLI服务不仅在服务本身有一套完善的权限控制机制,同时还支持通过统一身份认证服务(Identity and Access Management,简称IAM)细粒度鉴权,可以通过在IAM创建策略来管理DLI的权限控制。两种权限控制机制可以共同使用,没有冲突。

IAM鉴权使用场景

企业用户在华为云上使用DLI服务时,需要对不同部门的员工使用DLI资源(队列)进行管理,包括资源的创建、删除、使用、隔离等。同时,也需要对不同部门的数据进行管理,包括数据的隔离、共享等。

DLI使用IAM进行精细的企业级多租户管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全地控制华为云资源的访问。

通过IAM,您可以在华为云帐号中给员工创建IAM用户,并使用策略来控制他们对华为云资源的访问范围。例如您的员工中有负责软件开发的人员,您希望他们拥有DLI的使用权限,但是不希望他们拥有删除DLI等高危操作的权限,那么您可以使用IAM为开发人员创建用户,通过授予仅能使用DLI,但是不允许删除DLI的权限策略,控制他们对DLI资源的使用范围。

对于新建的用户,需要先登录一次DLI,记录元数据,后续才可正常使用。

IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您帐号中的资源进行付费。关于IAM的详细介绍,请参见《IAM产品介绍》

如果华为云帐号已经能满足您的需求,不需要创建独立的IAM用户进行权限管理,您可以跳过本章节,不影响您使用DLI服务的其他功能。

DLI系统权限

表1所示,包括了DLI的所有系统权限。

权限类别:根据授权精程度分为角色和策略。
  • 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。
  • 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对DLI服务,管理员能够控制IAM用户仅能对某一类云服务器资源进行指定的管理操作。

了解DLI SQL常用操作与系统策略的授权关系,请参考常用操作与系统权限关系

表1 DLI系统权限

系统角色/策略名称

描述

类别

依赖关系

DLI FullAccess

数据湖探索所有权限。

系统策略

该角色有依赖,需要在同项目中勾选依赖的角色:

  • 创建跨源连接:VPC ReadOnlyAccess
  • 创建包年/包月资源:BSS Administrator
  • 创建标签:TMS FullAccess、EPS EPS FullAccess
  • 使用OBS存储:OBS OperateAccess
  • 创建委托:Security Administrator

DLI ReadOnlyAccess

数据湖探索只读权限。

只读权限可控制部分开放的、未鉴权的DLI资源和操作。例如创建全局变量、创建程序包以及程序包组、default队列提交作业、default数据库下建表、创建跨源连接、删除跨源连接等操作。

系统策略

Tenant Administrator

租户管理员。

  • 操作权限:具有数据湖探索服务资源的所有执行权限。创建后,可通过ACL赋权给其他子用户使用。
  • 作用范围:项目级服务。

系统角色

DLI Service Administrator

数据湖探索管理员。

  • 操作权限:具有数据湖探索服务资源的所有执行权限。创建后,可通过ACL赋权给其他子用户使用。
  • 作用范围:项目级服务。

系统角色

具体的授权方式请参考创建IAM用户并授权使用DLI以及《如何创建子用户》和《如何修改用户策略》。

DLI权限分类

DLI服务权限分类如表2所示,其可控制的资源请参考表4

表2 DLI权限分类

权限大类

权限小类

控制台操作

SQL语法

API定义

队列权限

队列管理权限

请参考队列权限管理

请参考《队列赋权》。

队列使用权限

数据权限

数据库权限

请参考数据库权限管理表权限管理

请参考 《权限列表》。

请参考《数据赋权》 。

表权限

列权限

作业权限

Flink作业

请参考Flink作业权限管理

请参考《数据赋权》 。

程序包权限

程序包组权限

请参考程序包组和程序包权限管理

请参考《数据赋权》 。

程序包权限

跨源认证权限

跨源认证权限

请参考跨源认证权限管理

请参考《数据赋权》 。

场景举例

某互联网公司,主要有游戏和音乐两大业务,使用DLI服务进行用户行为分析,辅助决策。

图1所示,“基础平台组组长”在华为云上申请了一个“租户管理员”(Tenant Administrator)帐号,用于管理和使用华为云的各个服务。因为“大数据平台组”需要使用DLI进行数据分析,所有“基础平台组组长”增加了一个权限为“DLI服务管理员”(DLI Service Administrator)的子帐号用于管理和使用DLI服务。“基础平台组组长”按照公司两个业务对于数据分析的要求,创建了“队列A”分配给“数据工程师A”运行游戏数据分析业务,“队列B”分配给“数据工程师B”运行音乐数据分析业务,并分别赋予“DLI普通用户”权限,具有队列使用权限,数据(除数据库)的管理和使用权限。

图1 权限分配

“数据工程师A”创建了一个gameTable表用于存放游戏道具相关数据,userTable表用于存放游戏用户相关数据。因为音乐业务是一个新业务,想在存量的游戏用户中挖掘一些潜在的音乐用户,所以“数据工程师A”把userTable表的查询权限赋给了“数据工程师B”。同时,“数据工程师B”创建了一个musicTable用于存放音乐版权相关数据。

“数据工程师A”“数据工程师B”对于队列和数据的使用权限如表3所示。

表3 使用权限说明

用户

数据工程师A(游戏数据分析)

数据工程师B(音乐数据分析)

队列

队列A(队列使用权限)

队列B(队列使用权限)

数据(表)

gameTable(表管理和使用权限)

musicTable(表管理和使用权限)

userTable(表管理和使用权限)

userTable(表查询权限)

队列的使用权限包括提交作业和终止作业两个权限。

分享:

    相关文档

    相关产品