本文主要介紹了在DLA通過RAM訪問控制授權(quán)的Action列表和Resource列表,適用于創(chuàng)建自定義策略實(shí)現(xiàn)精細(xì)化權(quán)限控制的業(yè)務(wù)需求。
說明 您可以使用釘釘搜索群號(hào)30372915加入數(shù)據(jù)湖DLA開發(fā)交流群,聯(lián)系技術(shù)支持答疑。
自定義策略
您可以通過RAM控制臺(tái)或者調(diào)用RAM APICreatePolicy創(chuàng)建一個(gè)自定義策略,在腳本配置方式的自定義策略中,您需要根據(jù)JSON模板文件填寫策略內(nèi)容。如何創(chuàng)建自定義權(quán)限策略,請(qǐng)參見創(chuàng)建自定義權(quán)限策略。
示例
示例一:主賬號(hào)ID為123456****
的賬戶,在杭州區(qū)建立一個(gè)虛擬集群dla-vc1
,配置一組策略dla-vc1-policy
,允許用戶在這個(gè)集群中提交作業(yè),但被授權(quán)用戶只能查看自己作業(yè)的詳細(xì)日志信息,并終止自己提交的作業(yè)。
被授權(quán)用戶無權(quán)進(jìn)行如下操作:
- 查看其他用戶作業(yè)的詳細(xì)日志信息。
- 終止其他用戶提交的作業(yè)。
- 提交代碼給其他用戶的交互式作業(yè)。
策略內(nèi)容如下:
示例二:{
"Version": "1",
"Statement": [
{
"Action": [
"openanalytics:ConsolePermission",
"openanalytics:ListSparkJobs",
"openanalytics:SubmitSparkJob"
],
"Resource": "acs:openanalytics:cn-hangzhou:123456****:virtualcluster/dla-vc1",
"Effect": "Allow"
}
]
}
主賬號(hào)ID為123456****
的賬戶,期望賦予某個(gè)RAM用戶在杭州區(qū)的管理權(quán)限,委托這個(gè)RAM用戶全權(quán)管理杭州區(qū)的所有數(shù)據(jù)湖的資產(chǎn)。此時(shí)主賬號(hào)可以建立一個(gè)policy
,命名為dla-cn-hangzhou-admin
。
策略內(nèi)容如下:
{
"Version": "1",
"Statement": [
{
"Action": [
"openanalytics:*"
],
"Resource": "acs:openanalytics:cn-hangzhou:123456****:*",
"Effect": "Allow"
}
]
}
說明 代碼中的參數(shù)說明,請(qǐng)參見鑒權(quán)列表。
鑒權(quán)列表
說明 Resource格式為
acs:openanalytics:${RegionId}:${OwnerId}:virtualcluster/${VirtualClusteName}
,所有資產(chǎn)通配符用*
表示,更多信息,請(qǐng)參見權(quán)限策略基本元素。Action | Resource | Action說明 |
---|---|---|
ConsolePermission | * | 允許被授權(quán)的RAM賬號(hào)可以訪問DLA控制臺(tái),如果RAM賬號(hào)沒有此權(quán)限則只能通過阿里云OpenAPI的方式來使用DLA。 |
Action | Resource | Action說明 |
---|---|---|
ListSparkJobs | acs:openanalytics:<region>:<account-id>:virtualcluster/<virtualClusteName>/sparkjobs/* | 查詢所有的Spark作業(yè)列表。 |
SubmitSparkJob | 提交一個(gè)Spark作業(yè)。 | |
提交一個(gè)Spark SQL。 | ||
GetSparkJob | acs:openanalytics:<region>:<account-id>:virtualcluster/<virtualClusteName>/sparkjobs/jobid | 獲取Spark作業(yè)當(dāng)前狀態(tài)。 |
獲取Spark作業(yè)的日志。 | ||
獲取Spark作業(yè)的詳細(xì)配置信息和UI地址等內(nèi)容。 | ||
獲取當(dāng)前Session的狀態(tài) | ||
KillSparkJob | acs:openanalytics:<region>:<account-id>:virtualcluster/<virtualClusteName>/sparkjobs/jobid | 終止一個(gè)Spark作業(yè)。 |
ExecuteSparkStatement | acs:openanalytics:<region>:<account-id>:virtualcluster/<virtualClusteName>/sparkjobs/<jobid>/statements/* | 在Session中執(zhí)行一段代碼, 并獲得代碼塊的ID。 |
ListSparkStatements | 獲取Session緩存中所有的代碼塊的執(zhí)行信息。 | |
CancelSparkStatement | acs:openanalytics:<region>:<account-id>:virtualcluster/<virtualClusteName>/sparkjobs/<jobid>/statements/<statementid> | 嘗試終止一個(gè)代碼塊的執(zhí)行。 |
GetSparkStatement | 獲取指定代碼塊的執(zhí)行信息。 |
Action | Resource | Action說明 |
---|---|---|
ListLakehouses | acs:openanalytics:${regionId}:${account-id}:lakehouse/* | 查看湖倉列表。 |
CreateLakehouse | acs:openanalytics:${regionId}:${account-id}:lakehouse/* | 創(chuàng)建新湖倉。 |
ListLakehouseWorkloads | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/* | 查看工作負(fù)載列表。 |
CreateLakehouseWorkload | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/* | 創(chuàng)建入湖負(fù)載。 |
DeleteLakehouseWorkload | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/${workloadId} | 刪除一個(gè)工作負(fù)載。 |
StartLakehouseWorkload | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/${workloadId} | 啟動(dòng)運(yùn)行工作負(fù)載。 |
StopLakehouseWorkload | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/${workloadId} | 停止一個(gè)正在運(yùn)行的工作負(fù)載。 |
RedoLakehouseWorkload | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/${workloadId} | 對(duì)工作負(fù)載重新校正數(shù)據(jù),例如部分?jǐn)?shù)據(jù)重導(dǎo)。 |
DescribeLakehouseWorkload | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/${workloadId} | 查看工作負(fù)載的描述詳情。 |
GetLakehouseWorkloadMonitorInfo | acs:openanalytics:${regionId}:${account-id}:lakehouse/${lakehouseId}/workload/${workloadId} | 查看工作負(fù)載運(yùn)行時(shí)的失敗日志和日志UI界面。 |