由Project Owner或具備Admin角色的使用者為低層級使用者授予訪問高敏感等級資料的許可權。
注意事項
顯式授予使用者的表的列Label許可權,會覆蓋顯式授予使用者的表的Label許可權。
命令格式
grant Label <number> on table <table_name> [(<column_list>)] to {USER|ROLE} <name> [with exp <days>];
參數說明
參數名稱 | 是否必填 | 說明 |
number | 是 | 指定使用者或角色可訪問的最高資料敏感等級。 取值範圍為0~9,與資料敏感等級標籤相對應。 |
table_name | 是 | 指定目標表或視圖的名稱。 您可以通過MaxCompute用戶端執行 |
column_list | 否 | 當需要授予目標表或視圖中指定列的存取權限時,需要配置該參數。單次授權可以指定多個列名,列名之間用英文逗號(,)分隔。 |
name | 是 | 指定使用者或角色的名稱。 您可以通過MaxCompute用戶端執行 |
days | 否 | 指定許可權到期時間,單位為天。取值範圍為:0~263-1。不指定該參數時,預設到期時間為180天。 |
使用樣本
假設專案test_project_a中存在一張表sale_detail,shop_name、customer_id和total_price為表的列。Bob@aliyun.com是test_project_a的專案所有者。Allen為隸屬於Bob的RAM使用者,已被添加至專案test_project_a中。
為Allen顯式授予訪問高敏感級資料的許可權,命令樣本如下。
--Bob進入專案test_project_a。
use test_project_a;
--顯式授權Allen訪問sale_detail表中敏感度不超過3級的資料,授權有效期間為4天。
grant Label 3 on table sale_detail to USER RAM$Bob@aliyun.com:Allen with exp 4;
--查看Allen的顯式授權結果。
show label grants on table sale_detail for USER RAM$Bob@aliyun.com:Allen;
--返回結果如下。
User Label: 1
+-------------+--------------+--------------------------+
| Column | GrantedLabel | Expires |
+-------------+--------------+--------------------------+
| total_price | 3 | 2021-12-31T19:56:18+0800 |
+-------------+--------------+--------------------------+
--顯式授權Allen訪問sale_detail表的shop_name、customer_id和total_price列中敏感度不超過3級的資料,授權有效期間為10天。
grant Label 3 on table sale_detail(shop_name, customer_id, total_price) to USER RAM$Bob@aliyun.com:Allen with exp 10;
--查看Allen的顯式授權結果。
show label grants on table sale_detail for USER RAM$Bob@aliyun.com:Allen;
--返回結果如下。
User Label: 1
+-------------+--------------+--------------------------+
| Column | GrantedLabel | Expires |
+-------------+--------------+--------------------------+
| customer_id | 3 | 2022-01-06T19:58:00+0800 |
+-------------+--------------+--------------------------+
| shop_name | 3 | 2022-01-06T19:58:00+0800 |
+-------------+--------------+--------------------------+
| total_price | 3 | 2022-01-06T19:58:00+0800 |
+-------------+--------------+--------------------------+
相關命令
SET LABEL:為表或列資料設定敏感等級標籤。
REVOKE:由Project Owner或具備Admin角色的使用者撤銷Label顯式授權。
CLEAR EXPIRED GRANTS:清理到期Label顯式授權許可權。