全部产品
Search
文档中心

大数据开发治理平台 DataWorks:配置关联角色(使用STS方式)访问其他云产品

更新时间:Dec 26, 2025

传统的DataWorks节点开发模式,在访问OSS等外部服务时,依赖于配置明文AccessKey。这种方式存在安全隐患和管理难题:一方面,永久密钥的硬编码带来泄露风险,一旦泄露将可能导致整个数据资产的暴露;另一方面,由于为每个任务单独管理密钥过于复杂,AccessKey在实践中通常被授予较粗粒度的权限,这使得遵循最小权限原则的精细化访问控制难以落地。为解决这些问题,推荐采用RAM角色授权的方案,它通过动态获取临时凭证(STS)的方式,在杜绝密钥泄露风险的同时,实现按需、按任务的精细化权限管理。

方案说明

整个配置过程分为三个主要部分:创建RAM角色创建权限策略授权给RAM用户

image

权限准备

拥有一个阿里云主账号,或一个被授予 AliyunRAMFullAccess 权限的RAM管理员账号。

步骤一:创建并配置 RAM 角色

此角色是DataWorks服务访问其他云资源的“身份凭证”。

  1. 创建RAM角色:登录RAM控制台-角色页面,点击创建角。 保持默认选项,并单击确认,填写一个有辨识度的角色名称,例如 DataWorksRAMROLEforDataStudio

    image

  2. 修改信任策略:创建成功后,在角色详情页的信任策略页签下编辑,仅允许 dataworks.aliyuncs.com 服务可以扮演此角色。策略内容如下:

    更多信息请参考文档:修改RAM角色的信任策略

    image

    {
      "Version": "1",
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "dataworks.aliyuncs.com"
            ]
          }
        }
      ]
    }
  3. 为RAM角色授权:在角色详情页的权限管理页签下,单击新增授权,按需为DataWorksRAMROLEforDataStudio角色授予相应的权限。

    例如,如果需要访问OSS,则可以授予 AliyunOSSReadOnlyAccess(只读)或 AliyunOSSFullAccess(完全)权限。

    更多信息请参考文档:为RAM角色授权

    image

步骤二:创建权限策略

此策略用于授权RAM用户可以将第一步创建的RAM角色传递给DataWorks服务。

  1. 登录RAM控制台-权限策略,单击创建权限策略,切换至脚本编辑,编辑权限策略内容。

    image

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ram:ListRoles"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": "ram:PassRole",
          "Resource": "acs:ram::<account-id>:role/<role-name>"
        }
      ]
    }

策略

说明

ram:ListRoles

允许用户查看账户下的角色列表(以便在界面中选择)。

ram:PassRole

允许用户将指定的角色传递给云服务。

请务必将策略中的 <account-id><role-name> 替换为您的实际信息:

  1. <account-id>:替换为阿里云的主账号UID

  2. <role-name>:替换为步骤一创建的 RAM角色名称DataWorksRAMROLEforDataStudio)。

    Resource中填写的即为DataWorksRAMROLEforDataStudio 这个角色的 ARN。
更多信息请参考文档:创建自定义权限策略
  1. 单击确定,将权限策略保存为DataWorksRAMPolicyforDataStudio

步骤三:为 RAM 用户授权

这是最后一步,将“允许传递角色”的权力赋予最终用户。

  1. 登录RAM控制台-用户页面,找到需要授权的RAM用户(例如 new_ram_user@...),点击操作列的添加权限

  2. 新增授权面板中,搜索并选中步骤二创建的权限策略(DataWorksRAMPolicyforDataStudio),确认新增授权即可。

说明

若要授权多个RAM用户,需为每一个需要此权限的RAM用户重复执行此步骤。

后续步骤

完成授权后,使用new_ram_user@...账号前往新版数据开发,即可在相关节点使用关联角色运行任务。详情请参见在节点调度中配置节点关联角色

支持节点请以实际界面为准。