跨账号授权配置

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

背景信息

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

前提条件

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

跨账号授权操作流程

数据源为MaxCompute、Hologres、AnalyticDB for PostgreSQLAnalyticDB for MySQL

数据源为RDS、HiveKafka

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

  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、HiveKafka数据源。

    关键参数:

    参数

    说明

    数据源类型

    阿里云实例模式

    实例所属账号

    选择其他云账号其他阿里云主账户

    说明

    请根据数据源的具体配置进行选择。

    其他云账号主账号ID(对方阿里云主账号UID

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

    RAM账号授权角色名称(对方RAM角色

    配置已创建的RAM角色。

  3. 测试连通性。