DataWorks在产品管控功能使用等方面提供了完善的权限管控体系,其中产品管控通过阿里云RAM Policy实现,管控对象是控制台操作,如创建工作空间等操作,本文为您详细介绍DataWorks控制台的权限体系。

权限管控范围

DataWorks的“产品管控”权限指的是与所有在DataWorks管理控制台中执行的操作相关的权限。例如,工作空间列表页面中创建空间、禁用空间、删除空间等操作;资源组列表页面中的创建独享资源组、配置独享资源组网络等操作;报警配置页面的配置联系人等操作。控制台权限您可以进入DataWorks管理控制台查看DataWorks控制台支持执行的操作。
针对DataWorks控制台的操作:

使用限制

通过细分RAM Policy对DataWorks的管控权限进行自定义管控的功能,当前仅在部分用户中受限应用,还未全面上线。如果您还没有使用此功能的权限,敬请等待功能的全面上线。

控制台大范围权限管控:系统内置策略

DataWorks为您内置了如下系统策略,您可以直接给RAM用户授权时选择此权限策略,为RAM用户授予对应的权限。
系统内置权限策略 权限控制
AliyunDataWorksFullAccess DataWorks工作空间所有操作权限
AliyunBSSOrderAccess 购买相关服务的权限
给RAM用户授权的操作步骤请参见下文的授权操作步骤

控制台细分权限管控:自定义RAM Policy

自定义RAM Policy的结构包含:
  • 版本号。
  • 授权语句列表。每条授权语句包括授权效果(Effect)、操作(Action)、资源(Resource)以及限制条件(Condition,可选项)。权限策略结构
    说明 更多RAM Policy的语法结构详情请参见权限策略语法和结构
当前针对DataWorks控制台各细节操作的权限管控,DataWorks细分出以下的自定义策略组成。
说明 Resource说明:
  • 实际自定义策略时,您需要将下表中Resource中占位符$表示的内容替换为真实ID值。例如,$regionid需要替换为真实的地域ID值、$accountid需要替换为阿里云主账号的UID。
  • *为通配符,实际使用时您可以替换为具体的参数值,用来做进一步权限管控范围的细化。例如,将workspace/*替换为workspace/workspaceid则表明权限策略生效的范围为指定的这个工作空间内。
  • 功能分类:工作空间工作空间
    Action Resource Action说明
    CreateWorkspace acs:dataworks:$regionid:$accountid:workspace/* 创建工作空间
    ModifyWorkspace acs:dataworks:$regionid:$accountid:workspace/$workspaceName 修改工作空间
    DeleteWorkspace acs:dataworks:$regionid:$accountid:workspace/$workspaceName 删除工作空间
    DisableWorkspace acs:dataworks:$regionid:$accountid:workspace/$workspaceName 禁用工作空间
    EnableWorkspace acs:dataworks:$regionid:$accountid:workspace/$workspaceName 启用工作空间
  • 功能分类:资源组资源组
    Action Resource Action说明 注意事项
    ListResourceGroup acs:dataworks:$regionid:$accountid:exclusive_resource_group/* 展示独享资源组页签。如果没有此授权,则在控制台中看不到独享资源组的页签。 ListResourceGroup和ShowResourceGroupDetail通常组合应用于控制用户查看独享资源组页签的权限。
    • 仅有ListResourceGroup权限时:用户可看到独享资源组页签,单页签中没有内容,为空白页面。
    • 同时有ListResourceGroup、ShowResourceGroupDetail:用户可看到独享资源组页签,且页签中展示ShowResourceGroupDetail指定的资源组详情。
    说明 授权ShowResourceGroupDetail前必须先授权ListResourceGroup,仅有ShowResourceGroupDetail权限时无法查看独享资源组详情。
    ShowResourceGroupDetail acs:dataworks:$regionid:$accountid:exclusive_resource_group/$resourceGroupName 根据资源组名称展示资源组详情。
    CreateResourceGroup acs:dataworks:$regionid:$accountid:exclusive_resource_group/* 创建独享资源组。 非购买独享资源组,此处为授权用户可根据已购买的订单在DataWorks的控制台上创建资源组。资源组的购买、扩容、缩容、续费、规格变更等资源购买相关操作需要有AliyunDataWorksFullAccess和AliyunBSSOrderAccess权限。
    ModifyResourceGroup acs:dataworks:$regionid:$accountid:exclusive_resource_group/$resourceGroupName 修改独享资源组。 -
  • 功能分类:报警信息报警信息
    Action Resource Action说明
    ListContacts acs:dataworks:$regionid:$accountid:contacts_ram_user/* 列出联系人
    ModifyContacts acs:dataworks:$regionid:$accountid:contacts_ram_user/* 修改联系人信息
    ListAlarmResource acs:dataworks:$regionid:$accountid:alarm_resource/* 列出报警资源
    SetUpperLimits acs:dataworks:$regionid:$accountid:alarm_resource/* 设置报警数上限
进行管控台细分权限的授权时,您需要首先参考上表中的权限细分来自定义权限策略,然后给RAM用户绑定自定义的权限策略进行授权操作,操作步骤请参见下文的授权操作步骤

授权操作步骤

您可以使用阿里云账号(主账号)或具有管理权限(AdministratorAccess)的RAM用户进行授权操作,详细操作步骤如下。

  1. (可选)新建自定义权限策略。
    如果您希望通过细分的RAM Policy来做细粒度的权限管控,您需要根据实际需要先完成创新权限策略,如果您使用内置策略进行大范围的授权则无需进行此步骤。

    您可以使用阿里云主账号登录RAM控制台后,在权限管理 > 权限策略页面新建自定义权限策略,操作详情请参见创建自定义权限策略

    当前DataWorks仅支持使用脚本编辑的方式进行创建,创建时,您可以根据需要参考当前已支持的细分自定义权限策略来配置权限,要点如下。自定义角色
    说明 Resource说明:
    • 实际自定义策略时,您需要将下表中Resource中占位符$表示的内容替换为真实ID值。例如,$regionid需要替换为真实的地域ID值、$accountid需要替换为阿里云主账号的UID。
    • *为通配符,实际使用时您可以替换为具体的参数值,用来做进一步权限管控范围的细化。例如,将workspace/*替换为workspace/workspaceid则表明权限策略生效的范围为指定的这个工作空间内。
    典型场景的脚本编辑代码示例请参见下文内容。
  2. 给对应的RAM用户授权。
    您可以使用阿里云主账号登录RAM控制台后,在权限管理 > 授权页面为RAM用户授权,操作详情请参见为RAM用户授权

应用示例1:自定义角色,授予角色修改工作空间权限

脚本编辑的权限策略代码如下。
{
    "Statement": [
        {
            "Action": "dataworks:ModifyWorkspace",
            "Effect": "Allow",
            "Resource": "acs:dataworks:$regionid:$accountid:workspace/$workspaceName"
        }
    ],
    "Version": "1"
}

应用示例2:自定义角色,授予角色查看并管理某个独享资源组的权限

脚本编辑的权限策略代码如下。
{
"Statement": [
{
"Action": "dataworks:ListResourceGroup",
"Effect": "Allow",
"Resource": "acs:dataworks:*:1111:exclusive_resource_group/*"
},
{
"Action": "dataworks:ShowResourceGroupDetail",
"Effect": "Allow",
"Resource": "acs:dataworks:*:11111:exclusive_resource_group/resourceGroupName2"
},
{
"Action": "dataworks:ModifyResourceGroup",
"Effect": "Allow",
"Resource": "acs:dataworks:*:111:exclusive_resource_group/resourceGroupName2"
}
],
"Version": "1"
}

应用示例3:自定义角色,授予角色查看报警资源、设置报警数量上线、查看联系人权限

脚本编辑的权限策略代码如下。
{
  "Statement": [
    {
      "Action": "dataworks:ListAlarmResource",
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Action": "dataworks:SetUpperLimits",
      "Effect": "Allow",
      "Resource": "acs:dataworks:$regionid:$accountid:alarm_resource/*"
    },
    {
      "Action": "dataworks:ListContacts",
      "Effect": "Allow",
      "Resource": "acs:dataworks:$regionid:$accountid:contacts_ram_user/*"
    }
  ],
  "Version": "1"
}

应用示例4:自定义角色,授予角色查看所有上海地域资源组、创建及修改独享资源组的权限

说明 创建独享资源组权限指选择订单来新建资源组,而非购买独享资源的权限。
脚本编辑的权限策略代码如下。
{
  "Statement": [
    {
      "Action": "dataworks:ListResourceGroup",
      "Effect": "Allow",
      "Resource": "acs:dataworks:*:$accountid:exclusive_resource_group/*"
    },
    {
      "Action": "dataworks:ShowResourceGroupDetail",
      "Effect": "Allow",
      "Resource": "acs:dataworks::cn-shanghai:$accountid:exclusive_resource_group/*"
    },
    {
      "Action": "dataworks:CreateResourceGroup",
      "Effect": "Allow",
      "Resource": "acs:dataworks:cn-shanghai:$accountid:exclusive_resource_group/*"
    },
    {
      "Action": "dataworks:ModifyResourceGroup",
      "Effect": "Allow",
      "Resource": "acs:dataworks:cn-shanghai:$accountid:exclusive_resource_group/resourceGroupName1"
    },
    {
      "Action": "dataworks:ModifyResourceGroup",
      "Effect": "Allow",
      "Resource": "acs:dataworks:cn-shanghai:$accountid:exclusive_resource_group/resourceGroupName2"
    }
  ],
  "Version": "1"
}