當外部項目(External Project)建立成功後,其表的所有者歸屬於建立External Project的帳號。如果您需要將外部項目許可權或表操作許可權授權給其他使用者,請根據本文進行操作。
注意事項
由於MaxCompute在湖倉一體模式下不持久化資料來源中繼資料,權限原則依據資料來源對象名稱管理。資料來源對象名稱變更會導致授權失效,須通過Revoke
命令或刪除Policy移除授權;未及時移除可能導致新同名對象繼承舊策略的許可權定義,允許原使用者獲得外部項目中的資料來源新同名對象的非預期許可權。
授權命令
切換為External project。
use <external_project_name>;
external_project_name為External Project名稱。
如果使用RAM使用者,需要在External Project中先開啟RAM支援。
add accountprovider ram;
如果是基於Hadoop外部資料源的外部項目,需要開啟Hive相容模式。
set odps.sql.hive.compatible=true;
添加使用者。
add user <阿里雲帳號>;
阿里雲帳號格式為
ALIYUN$<account_name>
,您可以通過MaxCompute用戶端(odpscmd)執行list users;
命令查看使用者資訊。賦予show tables許可權。
grant List on project external_project to USER <阿里雲帳號>;
阿里雲帳號格式為
ALIYUN$<account_name>
,您可以通過MaxCompute用戶端(odpscmd)執行list users;
命令查看使用者資訊。賦予某張表全部許可權。
grant All on table <table_name> to user <阿里雲帳號>;
阿里雲帳號格式為
ALIYUN$<account_name>
,您可以通過MaxCompute用戶端(odpscmd)執行list users;
命令查看使用者資訊。切換為運行作業的專案。
use <main_project_name>;
阿里雲帳號格式為
ALIYUN$<account_name>
,您可以通過MaxCompute用戶端(odpscmd)執行list users;
命令查看使用者資訊。賦予執行作業的許可權。
grant CreateInstance on project <main_project_name> to user <阿里雲帳號>;
阿里雲帳號格式為
ALIYUN$<account_name>
,您可以通過MaxCompute用戶端(odpscmd)執行list users;
命令查看使用者資訊。
當需要對其他阿里雲帳號或RAM使用者授予External Project表存取權限時,請您按照MaxCompute的標準安全規範進行授權。詳情請參見許可權概述。
相關文檔
如果您想對外部項目及其中的表進行管理,例如執行查詢或更新表資料等操作,請參見使用SQL管理外部項目。