更新时间:2025-10-10 GMT+08:00
分享

身份认证与访问控制

身份认证

用户访问DataArts Studio的方式有多种,包括控制台、开放API等,无论访问方式封装成何种形式,其本质都是通过DataArts Studio提供的REST风格的API接口进行请求。

DataArts Studio的接口均需要进行认证鉴权以此来判断是否通过身份认证。通过控制台发出的请求需要通过Token认证鉴权,调用API接口认证鉴权支持Token认证和AK/SK认证两种方式。

您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全地控制华为云资源的访问。关于IAM的详细介绍,请参见IAM产品介绍

权限体系如图1所示,支持角色与策略权限管理身份策略权限管理两种授权模型,不支持角色与策略授权模型下的系统策略和自定义策略方式。两种授权模型下的策略/身份策略、授权项等并不互通,对比如图2所示,推荐您使用身份策略授权(ABAC)方式可以实现细粒度授权并确保授予最小化权限。具体授权方法请参见创建IAM用户并授予DataArts Studio权限
当为某IAM用户同时配置角色与策略权限DAYU Administrator、DAYU User或DataArts Studio User系统角色)和身份策略权限(DataArtsStudioFullAccessPolicy、DataArtsStudioOperatorPolicy、DataArtsStudioReadOnlyPolicy系统策略或自定义身份策略)时,出于兼容性考虑,此IAM用户最终所拥有的权限如下:
  • 如果二者配置的权限中存在拒绝(deny)授权项,则拒绝策略优先生效。
  • 对于二者配置的权限中的允许(allow)授权项,则允许策略取二者并集。
图1 权限体系
图2 两种授权模型对比

角色与策略授权是IAM早期支持的基于角色授权(RBAC)模型,核心关系为“用户-角色-权限”,提供了系统角色和系统策略两种授权机制。每个用户可以根据被分配的角色相对快速地被授予相关权限,但灵活性较差,难以满足细粒度精确权限控制需求。DataArts Studio支持角色与策略授权中的系统角色(DAYU Administrator和DAYU User),不支持其中的系统策略和自定义策略。其中DAYU Administrator为用户提供了所有操作权限,DAYU User系统角色为用户提供了实例及工作空间和依赖服务的相关权限,具体工作空间内的业务操作权限由工作空间角色提供,最终实现了基于系统角色+工作空间角色的精细权限管控。

IAM提供了以下两种授权机制。注意,DataArts Studio仅支持其中的IAM角色方式,不支持IAM策略。
  • IAM角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。传统的IAM角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。
  • IAM策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。
DataArts Studio的系统角色包括DAYU Administrator和DAYU User;工作空间角色是基于IAM角色DAYU User进一步授予的,如表1所示。另外,权限列表列出了DataArts Studio常用操作与工作空间角色的授权关系,您可以参照这些权限列表选择合适的角色。
表1 DataArts Studio系统角色

系统角色名称

描述

类别

依赖关系

DAYU Administrator

实例管理员,拥有对DataArts Studio实例及工作空间的所有管理权限、依赖服务权限,以及所有工作空间内的所有业务操作权限。

说明:

Tenant Administrator具有除统一身份认证服务外,其他所有服务的所有执行权限。即Tenant Administrator权限的用户也拥有对DataArts Studio的所有执行权限。

系统角色

DAYU User

普通用户,具备DataArts Studio实例及工作空间的查看权限,以及依赖服务权限。普通用户需要被授予任一工作空间角色后,才能拥有对应角色的业务操作权限。

工作空间有管理员、开发者、部署者、运维者和访客五种预置角色和自定义角色,每种角色的介绍如下,具体操作权限请参见权限列表
  • 管理员:工作空间管理员,拥有工作空间内所有的业务操作权限。建议将项目负责人、开发责任人、运维管理员设置为管理员角色。
  • 开发者:开发者拥有工作空间内创建、管理工作项的业务操作权限。建议将任务开发、任务处理的用户设置为开发者。
  • 运维者:运维者具备工作空间内运维调度等业务的操作权限,但无法更改工作项及配置。建议将运维管理、状态监控的用户设置为运维者。
  • 访客:访客可以查看工作空间内的数据,但无法操作业务。建议将只查看空间内容、不进行操作的用户设置为访客。
  • 部署者:企业模式独有,具备工作空间内任务包发布的相关操作权限。在企业模式中,开发者提交脚本或作业版本后,系统会对应产生发布任务。开发者确认发包后,需要部署者审批通过,才能将修改后的作业同步到生产环境。
  • 自定义角色:如果预置角色不能满足您的需求,您也可以创建自定义角色。自定义角色的权限可自由配置,实现业务操作权限最小化。

系统角色

DataArts Studio User

普通用户,具备DataArts Studio实例及工作空间的查看权限,但不具备依赖服务权限。普通用户需要被授予依赖服务权限+任一工作空间角色后,才能拥有对应角色的业务操作权限。

  • 依赖服务权限详见表4
  • 工作空间有管理员、开发者、部署者、运维者和访客五种预置角色和自定义角色,每种角色的介绍如下,具体操作权限请参见权限列表
    • 管理员:工作空间管理员,拥有工作空间内所有的业务操作权限。建议将项目负责人、开发责任人、运维管理员设置为管理员角色。
    • 开发者:开发者拥有工作空间内创建、管理工作项的业务操作权限。建议将任务开发、任务处理的用户设置为开发者。
    • 运维者:运维者具备工作空间内运维调度等业务的操作权限,但无法更改工作项及配置。建议将运维管理、状态监控的用户设置为运维者。
    • 访客:访客可以查看工作空间内的数据,但无法操作业务。建议将只查看空间内容、不进行操作的用户设置为访客。
    • 部署者:企业模式独有,具备工作空间内任务包发布的相关操作权限。在企业模式中,开发者提交脚本或作业版本后,系统会对应产生发布任务。开发者确认发包后,需要部署者审批通过,才能将修改后的作业同步到生产环境。
    • 自定义角色:如果预置角色不能满足您的需求,您也可以创建自定义角色。自定义角色的权限可自由配置,实现业务操作权限最小化。

系统角色

身份策略授权是IAM最新支持的基于策略授权(ABAC)模型,核心关系为“用户-策略”,管理员可根据业务需求定制不同的访问控制策略,能够做到更细粒度更灵活的权限控制。支持身份策略授权。系统身份策略为用户提供了实例及工作空间的相关权限,另配依赖服务权限后,具体工作空间内的业务操作权限由工作空间角色提供,最终实现了基于系统身份策略+依赖服务权限+工作空间角色的精细权限管控。

的系统身份策略包括DataArtsStudioFullAccessPolicy、DataArtsStudioOperatorPolicy和DataArtsStudioOperatorPolicy,需要注意的是,身份策略权限仅包含实例及工作空间管理的相关权限,因此用户在策略授权后仍需要被授予依赖服务权限和工作空间角色后,才拥有对应角色的业务操作权限,并正常进行业务操作。另外,策略授权支持以API接口为粒度进行权限拆分,支持的API授权项请参见权限及授权项说明章节。

表2 DataArts Studio系统身份策略权限

系统身份策略名称

描述

策略类别

DataArtsStudioFullAccessPolicy

拥有对DataArts Studio实例及工作空间的所有管理权限,不具备工作空间内的业务操作权限和依赖服务权限。

策略授权后,用户还需要被授予任一工作空间角色和依赖服务权限,才拥有对应角色的业务操作权限,并正常进行业务操作,详见表5

系统身份策略

DataArtsStudioOperatorPolicy

拥有对DataArts Studio实例及工作空间的普通操作权限,不具备工作空间内的业务操作权限和依赖服务权限。

策略授权后,用户还需要被授予任一工作空间角色和依赖服务权限,才拥有对应角色的业务操作权限,并正常进行业务操作,详见表5

系统身份策略

DataArtsStudioReadOnlyPolicy

拥有对DataArts Studio实例及工作空间的查看权限,不具备工作空间内的业务操作权限和依赖服务权限。

策略授权后,用户还需要被授予任一工作空间角色和依赖服务权限,才拥有对应角色的业务操作权限,并正常进行业务操作,详见表5

系统身份策略

相关文档