本文主要介紹了在DLA通過RAM存取控制授權的Action列表和Resource列表,適用於建立自訂策略實現精微調權限控制的業務需求。
說明 您可以使用DingTalk搜尋群號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介面。 |