使用Hologres加速查詢MaxCompute表資料時,可能會因為許可權問題產生報錯。本文內容將為您介紹幾個常見許可權問題的解決方案。
問題匯總
查詢外部表格報錯:You have NO privilege 'odps:Select' on xxx
問題現象
當您在Hologres管理主控台建立外部表格之後,查詢外部表格時報錯提示“You have NO privilege 'odps:Select' on xxx”。
問題原因
當前帳號不具備MaxCompute表的查詢(Select)許可權。
解決方案
需要MaxCompute管理員在MaxCompute中授予當前帳號查詢表(Select)的許可權,具體操作請參見MaxCompute許可權。
查詢外表報錯:The sensitive label of column 'xxx' is 2, but your effective label is 0
問題現象
當您在Hologres管理主控台建立外部表格之後,查詢外部表格時報錯提示“The sensitive label of column 'xxx' is 2, but your effective label is 0”。
問題原因
當前帳號只有MaxCompute表的部分欄位許可權。
解決方案
您可以選擇如下三種方法中的一種來解決該問題:
(推薦)建議您搜尋加入即時數倉Hologres交流群申請將當前執行個體版本升級至V0.8,詳情請參見如何擷取更多的線上支援?。
您可以在執行的Query前增加如下參數解決報錯問題。
set hg_experimental_enable_odps_executor=on; set hg_experimental_enable_query_master=on;
擷取MaxCompute表全部欄位的許可權,具體操作請參見MaxCompute許可權。
跨project訪問MaxCompute表報錯:You have NO privilege 'odps:Select' on xxx
問題現象
當前帳號已經具備MaxCompute表查詢許可權,但是跨project訪問MaxCompute表報錯”You have NO privilege 'odps:Select' on xxx“。
問題原因
若是當前帳號已經具備MaxCompute已經有表的查詢許可權,跨project訪問MaxCompute表還是報錯,則MaxCompute當前可能採用的是package授權,您需要添加SQL語句解決該問題。
解決方案
當前如果MaxCompute是project授權方式,在Hologres中,您可以在SQL前添加如下參數解決。
// V0.7版本的執行個體請執行以下語句授權 set seahawks.seahawks_internal_current_odps_project='holoprojectname'; //V0.8版本的執行個體請執行以下語句授權 set hg_experimental_odps_current_project_name = 'holoprojectname';
建立外部表格報錯:You have NO privilege 'odps:List' on xxx
問題現象
當您在Hologres管理主控台使用HoloWeb或DataStudio可視化建立外部表格時報錯提示“You have NO privilege 'odps:List' on xxx”。
問題原因
當前帳號在MaxCompute中不具備查看所有表(List)的許可權。
解決方案
需要MaxCompute管理員在MaxCompute中授予當前帳號查看所有表(List)的許可權,具體操作請參見MaxCompute許可權。
使用SQL語句建立外部表格查詢資料,具體操作請參見通過建立外部表格加速查詢MaxCompute資料。
建立外部表格時報錯:Access denied by project ip white list: sourceIP:'xxxx' is not in white list. project: xxxx
問題現象
當您在Hologres管理主控台使用HoloWeb建立外部表格時報錯提示“Access denied by project ip white list: sourceIP:'xxxx' is not in white list. project: xxxx”。
問題原因
當前MaxCompute叢集設定了白名單訪問,Holoweb不在白名單內。
解決方案
當MaxCompute專案開啟白名單功能時,僅允許白名單內的裝置訪問專案空間;非白名單內的裝置訪問專案空間時,即使擁有正確的AccessKey ID及AccessKey Secret,也無法通過鑒權。因此需要將報錯資訊中的IP設定為白名單才可以建立外表,具體操作請參見設定IP白名單。
建立外部表格時報錯:You don't exist in project xxx
問題現象
當您在建立外部表格時報錯提示“You don't exist in project xxx”。
問題原因
執行建立外部表格的帳號不具有訪問對應MaxCompute Project的許可權。
解決方案
請先確認需要訪問的MaxCompute Project名稱,如果Project名稱錯誤請先換成正確的Project名。如果Project名稱正確仍然報同樣的錯誤,需要前往MaxCompute中給報錯的帳號授權,詳情請參見許可權概述。