快速配置子账号权限

本文主要介绍如何快速配置RAM子账号权限并提交DLA Spark作业。

重要

云原生数据湖分析(DLA)产品已退市,云原生数据仓库 AnalyticDB MySQL 版湖仓版支持DLA已有功能,并提供更多的功能和更好的性能。AnalyticDB for MySQL相关使用文档,请参见账号授权

前提条件

背景信息

目前DLA Spark的权限分为三部分。

  • DLA控制接口的访问权限:用于控制RAM子账号是否允许登录DLA控制台,是否允许RAM子账号调用Spark作业管理相关API。具体操作请参见操作步骤1

  • DLA表的访问权限:DLA表的访问权限默认通过DLA账号进行权限管理,Spark作业通过RAM子账号提交。Spark作业如果要访问表,需要将DLA账号跟RAM账号绑定。具体操作请参见操作步骤2

  • Spark作业所依赖其他资源的访问权限:用于控制RAM子账号所提交Spark作业所依赖的JAR包、非DLA表的其他数据源,比如直接访问OSS目录等。具体操作请参见操作步骤3

操作步骤

  1. 登录RAM控制台,为RAM子账号授予DLA访问权限。具体请参见为RAM用户授权

    当前RAM系统中已经预设了三种DLA授权策略,在系统策略输入框中输入DLA就可以快速选择。

    权限策略的说明如下。

    权限名称

    权限说明

    AliyunDLAFullAccess

    用于数据湖分析的管理员权限,拥有数据湖分析的所有权限,可以执行新建集群、删除集群、提交作业等操作,拥有授权给DLA服务的角色的使用权。

    AliyunDLAReadOnlyAccess

    用于数据湖分析的访客权限,拥有数据湖分析的只读权限,可以查看集群状态、作业状态等信息。无法修改集群的状态,也无法提交作业。

    AliyunDLADeveloperAccess

    用于数据湖分析的开发者权限,可以查看集群、作业的状态,提交和执行作业,无法新建和删除集群,拥有授权给DLA账户的角色的使用权。

  2. DLA子账号绑定RAM子账号。具体请参见DLA子账号绑定RAM账号

  3. 单击快速授权链接为RAM子账户快速授予资源访问权限。

    该操作步骤自动帮您创建AliyunDLASparkProcessingDataRole角色,该角色包含用户账号下所有OSS Bucket的读写权限。

说明

上述3个步骤均是必选的,否则作业会报权限错误。

验证RAM子账号权限配置

当您完成以上操作后,即可使用RAM子账号登录Data Lake Analytics管理控制台Serverless Spark > 作业管理页签下,提交Spark作业验证RAM子账号权限配置是否正确。具体请参见创建和执行Spark作业作业配置指南配置示例如下。

{
    "name": "SparkPi",
    "file": "local:///tmp/spark-examples.jar",
    "className": "org.apache.spark.examples.SparkPi",
    "args": [
        "100"
    ],
    "conf": {
        "spark.driver.resourceSpec": "medium",
        "spark.executor.instances": 1,
        "spark.executor.resourceSpec": "medium"
    }
}
说明

如果您在conf中没有填写spark.dla.roleArn配置信息时,系统会默认使用AliyunDLASparkProcessingDataRole,您也可以自定义roleArn。具体请参见细粒度配置RAM子账号权限