跨账号授权配置

在数据集成模块中同步阿里云部分实例(例如MaxCompute、Hologres、AnalyticDB for PostgreSQL等)的数据时,如果在创建数据源时选择的数据源类型为阿里云实例模式,且实例所属云账号和同步任务的云账号不一致,您需要进行实例跨账号授权的配置,即授权同步任务所属云账号对实例有“读”权限后,才能正常进行数据同步操作。

背景信息

在添加数据源时,您可以选择添加数据源类型为阿里云实例模式,如果实例所属的云账号与进行DataWorks集成配置的云账号不一致,您则需参考下文进行跨账号授权配置。

前提条件

已配置云企业网等网络连通方案,完成两个账号中数据源实例与DataWorks资源组的VPC网络互通,更多信息,请参见网络连通方案

跨账号授权操作流程

数据源为MaxCompute、Hologres、AnalyticDB for PostgreSQL或AnalyticDB for MySQL

数据源为RDS、Hive或Kafka

数据源实例所属云账号操作

  1. 登录RAM 访问控制-角色控制台,创建一个RAM角色。具体操作,请参见创建可信实体为阿里云账号的RAM角色

    关键参数:

    • 选择可信实体类型阿里云账号

    • 角色名称自定义。

    • 选择信任的云账号其他账号,填写DataWorks工作空间所属的云账号。

  2. 为创建好的RAM角色精确授权。具体操作,请参见在RAM角色页面为RAM角色精确授权

    关键参数:

    • 选择权限类型:选择系统策略。

    • 输入策略名称:参照下表。

      实例类型

      策略名称

      RDS(MySQL、SQL Server、PostgreSQL、MariaDB)

      AliyunDataWorksAccessingRdsReadOnlyPolicy

      Hive

      AliyunDataWorksAccessingDLFReadOnlyPolicy、AliyunDataWorksAccessingEMRReadOnlyPolicy

      Kafka

      AliyunDataWorksAccessingAlikafkaPolicy

  3. 为创建好的RAM角色修改信任策略。具体操作,请参见修改RAM角色的可信实体为阿里云账号

    信任策略:

    {
        "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "<DataWorks使用者主账号的云账号ID>@cdp.aliyuncs.com"
                    ]
                }
            }
        ],
        "Version": "1"
    }
    说明

    <DataWorks使用者主账号的云账号ID>需要替换为您的DataWorks工作空间的阿里云账号主账号ID。

DataWorks工作空间所属的云账号操作

  1. 进入数据集成页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据集成,在下拉框中选择对应工作空间后单击进入数据集成

  2. 新增RDS、Hive或Kafka数据源。

    关键参数:

    参数

    说明

    数据源类型

    阿里云实例模式

    实例所属账号

    选择其他阿里云主账号

    其他云账号主账号ID

    配置RDS、Hive或Kafka实例所属的阿里云账号主账号ID。

    RAM账号授权角色名称

    配置已创建的RAM角色。

  3. 测试连通性。