本文主要介绍了在DLA通过RAM访问控制授权的Action列表和Resource列表,适用于创建自定义策略实现精细化权限控制的业务需求。
说明 您可以使用钉钉搜索群号30372915加入数据湖DLA开发交流群,联系技术支持答疑。
自定义策略
您可以通过RAM控制台或者调用RAM APICreatePolicy创建一个自定义策略,在脚本配置方式的自定义策略中,您需要根据JSON模板文件填写策略内容。如何创建自定义权限策略,请参见创建自定义权限策略。
示例
示例一:主账号ID为123456****
的账户,在杭州区建立一个虚拟集群dla-vc1
,配置一组策略dla-vc1-policy
,允许用户在这个集群中提交作业,但被授权用户只能查看自己作业的详细日志信息,并终止自己提交的作业。
被授权用户无权进行如下操作:
- 查看其他用户作业的详细日志信息。
- 终止其他用户提交的作业。
- 提交代码给其他用户的交互式作业。
策略内容如下:
示例二:{
"Version": "1",
"Statement": [
{
"Action": [
"openanalytics:ConsolePermission",
"openanalytics:ListSparkJobs",
"openanalytics:SubmitSparkJob"
],
"Resource": "acs:openanalytics:cn-hangzhou:123456****:virtualcluster/dla-vc1",
"Effect": "Allow"
}
]
}
主账号ID为123456****
的账户,期望赋予某个RAM用户在杭州区的管理权限,委托这个RAM用户全权管理杭州区的所有数据湖的资产。此时主账号可以建立一个policy
,命名为dla-cn-hangzhou-admin
。
策略内容如下:
{
"Version": "1",
"Statement": [
{
"Action": [
"openanalytics:*"
],
"Resource": "acs:openanalytics:cn-hangzhou:123456****:*",
"Effect": "Allow"
}
]
}
说明 代码中的参数说明,请参见鉴权列表。
鉴权列表
说明 Resource格式为
acs:openanalytics:${RegionId}:${OwnerId}:virtualcluster/${VirtualClusteName}
,所有资产通配符用*
表示,更多信息,请参见权限策略基本元素。Action | Resource | Action说明 |
---|---|---|
ConsolePermission | * | 允许被授权的RAM账号可以访问DLA控制台,如果RAM账号没有此权限则只能通过阿里云OpenAPI的方式来使用DLA。 |
Action | Resource | Action说明 |
---|---|---|
ListSparkJobs | acs:openanalytics:<region>:<account-id>:virtualcluster/<virtualClusteName>/sparkjobs/* | 查询所有的Spark作业列表。 |
SubmitSparkJob | 提交一个Spark作业。 | |
提交一个Spark SQL。 | ||
GetSparkJob | acs:openanalytics:<region>:<account-id>:virtualcluster/<virtualClusteName>/sparkjobs/jobid | 获取Spark作业当前状态。 |
获取Spark作业的日志。 | ||
获取Spark作业的详细配置信息和UI地址等内容。 | ||
获取当前Session的状态 | ||
KillSparkJob | acs:openanalytics:<region>:<account-id>:virtualcluster/<virtualClusteName>/sparkjobs/jobid | 终止一个Spark作业。 |
ExecuteSparkStatement | acs:openanalytics:<region>:<account-id>:virtualcluster/<virtualClusteName>/sparkjobs/<jobid>/statements/* | 在Session中执行一段代码, 并获得代码块的ID。 |
ListSparkStatements | 获取Session缓存中所有的代码块的执行信息。 | |
CancelSparkStatement | acs:openanalytics:<region>:<account-id>:virtualcluster/<virtualClusteName>/sparkjobs/<jobid>/statements/<statementid> | 尝试终止一个代码块的执行。 |
GetSparkStatement | 获取指定代码块的执行信息。 |
Action | Resource | Action说明 |
---|---|---|
ListLakehouses | acs:openanalytics:${regionId}:${account-id}:lakehouse/* | 查看湖仓列表。 |
CreateLakehouse | acs:openanalytics:${regionId}:${account-id}:lakehouse/* | 创建新湖仓。 |
ListLakehouseWorkloads | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/* | 查看工作负载列表。 |
CreateLakehouseWorkload | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/* | 创建入湖负载。 |
DeleteLakehouseWorkload | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/${workloadId} | 删除一个工作负载。 |
StartLakehouseWorkload | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/${workloadId} | 启动运行工作负载。 |
StopLakehouseWorkload | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/${workloadId} | 停止一个正在运行的工作负载。 |
RedoLakehouseWorkload | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/${workloadId} | 对工作负载重新校正数据,例如部分数据重导。 |
DescribeLakehouseWorkload | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/${workloadId} | 查看工作负载的描述详情。 |
GetLakehouseWorkloadMonitorInfo | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/${workloadId} | 查看工作负载运行时的失败日志和日志UI界面。 |