账号授权

更新时间: 2023-12-05 10:44:54

AnalyticDB MySQL Spark支持使用RAM用户访问同账号或其他阿里云账号(跨账号)下的云资源。访问同账号的云资源时,需要具备AliyunADBSparkProcessingDataRole权限;访问跨账号的云资源时,需要为其他阿里云账号授权。您可以参考本文档完成对应的授权操作。

前提条件

已创建湖仓版(3.0)集群。详情请参见创建集群

Spark作业权限说明

提交Spark作业,需要具备以下三种权限。

  • AliyunADBFullAccess:管理AnalyticDB MySQL集群的权限。具体操作请参见为RAM子账号授权

  • AnalyticDB MySQL库表的读写权限:AnalyticDB MySQL默认通过数据库账号进行库表权限管理。通过RAM用户提交Spark作业时,如果Spark作业需要读写数据,需要将数据库普通账号与RAM用户绑定。具体操作请参见绑定或解绑RAM用户与数据库账号

  • AliyunADBSparkProcessingDataRole:用于授权AnalyticDB MySQL Spark访问其他云资源,如访问OSS目录,OTS数据等。具体操作请参见同账号授权

同账号授权

同账号授权时,需先创建RAM用户。详情请参见创建RAM用户

  1. 单击快速授权链接

  2. 单击左下角同意授权,快速授予AliyunADBSparkProcessingDataRole权限。

    授权后将自动创建可供AnalyticDB MySQL使用的服务角色AliyunADBSparkProcessingDataRole,AnalyticDB MySQL使用此角色来访问其他云资源。

重要

仅支持使用阿里云账号(主账号)为RAM用户授权。

跨账号授权

本文以阿里云账号A(主账号,账号ID为testAccountID)跨账号访问阿里云账号B(主账号,账号ID为testAccountID1)中的数据为例,介绍跨账号授权的具体操作。

步骤1:为B账号创建RAM角色并授权

  1. 创建RAM角色,并允许A账号扮演该RAM角色。

    说明

    如果您已创建RAM角色,并允许A账号扮演该RAM角色,可跳过该步骤,执行后续步骤。

    1. 使用阿里云账号B(主账号)或RAM管理员登录RAM控制台

    2. 在左侧导航栏,选择身份管理 > 角色

    3. 角色页面,单击创建角色

    4. 创建角色面板,选择可信实体类型为阿里云账号,然后单击下一步

    5. 设置角色信息。

      1. 设置角色名称,本示例角色名称设置为admin-oss

      2. 可选:输入备注

      3. 信任的云账号选择其他云账号,然后输入A账号的阿里云账号UID(testAccountID)。

    6. 单击完成

  2. 为RAM角色精确授权。

    1. 单击精确授权

    2. 添加权限面板,选择权限策略类型为系统策略自定义策略,然后输入权限策略名称。

    3. 单击确定

    4. 单击关闭

  3. 修改信任策略,允许A账号下任意的RAM用户扮演该RAM角色。

    1. 角色页面,单击对应的RAM角色名称。

    2. 在RAM角色的基本信息页面,单击信任策略管理页签。

    3. 单击修改信任策略。将下述代码复制至策略框中。

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "RAM": [
                "acs:ram::testAccountID:root"
              ]
            }
          },
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "testAccoun***@ads.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }

步骤2:为A账号创建RAM用户并授予允许扮演RAM角色的权限

  1. 创建RAM用户。

    1. 使用阿里云账号A(主账号)或RAM管理员登录RAM控制台

    2. 在左侧导航栏,选择身份管理 > 用户

    3. 用户页面,单击创建用户

    4. 创建用户页面的用户账号信息区域,设置用户基本信息。

      • 登录名称:可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。

      • 显示名称:最多包含128个字符或汉字。

      • 标签:单击edit,然后输入标签键和标签值。为RAM用户绑定标签,便于后续基于标签的用户管理。

      说明

      单击添加用户,可以批量创建多个RAM用户。

    5. 访问方式区域,选择控制台访问,并根据需要设置控制台登录密码、重置密码策略和多因素认证策略。详情请参见控制台访问

    6. 单击确定

  2. 创建权限策略,允许RAM用户扮演任何角色。

    1. 权限管理>权限策略页面,单击创建权限策略

    2. 创建权限策略页面,选择脚本编辑,输入对应策略:

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": "ram:PassRole",
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    3. 单击继续编辑基本信息,输入策略的名称和备注信息。

    4. 单击确定

  3. 为RAM用户授权。

    1. 用户页面,单击目标RAM用户操作列的添加权限

    2. 添加权限面板,为RAM用户添加步骤2所创建的权限。

    3. 单击确定

    4. 单击完成

阿里云首页 云原生数据仓库AnalyticDB MySQL版 相关技术圈