すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:権限問題のトラブルシューティング

最終更新日:Jun 23, 2026

このトピックでは、タスクをブロックする一般的な権限関連のエラーメッセージと、その解決方法について説明します。

以下は、プロジェクトオーナー向けの一般的な権限付与スクリプトです。

-- 方法1:ユーザーに直接権限を付与します
use project_xxx;  -- プロジェクトに切り替えます。開発環境の場合は _dev を追加します。
grant CreateResource to user_xxx@aliyun.com;  -- RAM ユーザー
-- 方法2:ロールを使用して権限を付与します
use project_xxx;
create role worker; -- ロールを作成します。
grant worker to user_xxx@aliyun.com; -- ロールを RAM ユーザーに割り当てます。
grant CreateInstance, CreateResource, CreateFunction, CreateTable, List ON PROJECT project_xxx TO ROLE worker; -- ロールに権限を付与します。
-- 以下は、特定のシナリオ向けのスクリプト例です。
-- ボリューム権限の付与
use project_xxx;
grant CreateVolume on project project_xxx to user user_xxx@aliyun.com;
grant Read on volume volume_xxx to user user_xxx@aliyun.com;
grant Write on volume volume_xxx to user user_xxx@aliyun.com;
-- 権限の表示
use project_xxx;
show grants for user_xxx@aliyun.com;

MaxCompute ボリュームへの不正アクセス

  • エラーメッセージ

    [403] com.aliyun.odps.OdpsException: ODPS-0420095: Access Denied - Volumes is not allowed in project config.
            at com.aliyun.odps.rest.RestClient.handleErrorResponse(RestClient.java:382)
            at com.aliyun.odps.rest.RestClient.request(RestClient.java:321)
            at com.aliyun.odps.rest.RestClient.request(RestClient.java:275)
            at com.aliyun.odps.Volume.reload(Volume.java:109)
            at com.aliyun.odps.Volumes.exists(Volumes.java:117)
            at com.aliyun.odps.Volumes.exists(Volumes.java:100)
  • ソリューション

    • MaxCompute ボリュームは Object Storage Service (OSS) 上に構築されています。使用するには、まず OSS を有効化する必要があります。OSS の有効化方法の詳細については、「OSS サービスを有効にする」をご参照ください。

    • また、ご利用のアカウントでボリューム機能を有効にする必要もあります。そのためには、ボリュームアクセスを申請してください。

MaxCompute テーブルの Download 権限の欠落

  • エラーメッセージ

    elNum":0,"smallCategorySeekJobReduce2Num":0,"topk":"500","vectorSeparator":",","workerRtMap":{}}
    2019-11-26 09:44:06.772 [main] INFO  c.a.p.p.CentauriPipelineExecutor - [] - execute RowColWorker worker start ..........
    [ODPS] getCountOfTable 建立DownloadSession失败  RequestId=20191126094406d6cf890b01803690, ErrorCode=NoPermission, ErrorMessage=Authorization Failed [4019], You have NO privilege 'odps:Download' on {acs:odps:*:projects/palgo_fpage/tables/behemoth_plt_item_img_emb_proxima}.  Context ID:fd326e9d-9ac4-47a5-a088-87ad724f519f. --->Tips: CurrentProject:palgo_fpage_dev; Pricipal:ALIYUN$bsehfglmglm0@aliyun.com; No permission 'odps:Download' on resource acs:odps:*:projects/palgo_fpage/tables/behemoth_plt_item_img_emb_proxima
    CentauriException(code=20005, msg=odps任务运行失败, detailMsg=getCountOfTable error , odps client is null. tableName : palgo_fpage.behemoth_plt_item_img_emb_proxima)
    	at com.alibaba.proxima.utils.OdpsUtil.getCountOfTable(OdpsUtil.java:125)
    	at com.alibaba.proxima.pipeline.worker.odps.RowColWorker.apply(RowColWorker.java:23)
    	at com.alibaba.proxima.pipeline.runner.OdpsPipelineRunner.run(OdpsPipelineRunner.java:40)
    	at com.alibaba.proxima.pipeline.CentauriPipelineExecutor.execute(CentauriPipelineExecutor.java:30)
    	at com.alibaba.proxima.CentauriRunner.runWithNormal(CentauriRunner.java:30)
    	at com.alibaba.proxima.CentauriRunner.main(CentauriRunner.java:208)
    2019-11-26 09:44:07.138 [main] INFO  c.a.p.p.CentauriPipelineExecutor - [] - execute CleanUpWorker worker start ..........
    Exception in thread "main" java.lang.NullPointerException
    	at com.alibaba.proxima.pipeline.worker.odps.CleanUpWorker.apply(CleanUpWorker.java:24)
    	at com.alibaba.proxima.pipeline.runner.OdpsPipelineRunner.run(OdpsPipelineRunner.java:40)
    	at com.alibaba.proxima.pipeline.CentauriPipelineExecutor.execute(CentauriPipelineExecutor.java:30)
    	at com.alibaba.proxima.CentauriRunner.runWithNormal(CentauriRunner.java:44)
    	at com.alibaba.proxima.CentauriRunner.main(CentauriRunner.java:208)
    FAILED: Run job failed.
    2019-11-26 09:44:07 INFO ===========================================================
    2019-11-26 09:44:07 INFO Exit code of the Shell command 100
    2019-11-26 09:44:07 INFO --- Invocation of Shell command completed ---
  • ソリューション

    DataWorks コンソールの Data Map に移動します。MaxCompute テーブルを検索し、Download 権限を申請します。権限が付与されると、テーブルデータをダウンロードできます。詳細については、「データマップ」をご参照ください。

Describe、Select、またはその他のテーブル権限の欠落

  • エラーメッセージ

    OK
    OK
    OK
    Running job in console.
    2022-09-22 16:46:36.310 [main] INFO  c.a.proxima.config.ConfigConvert - [1] - lead sign from resource : PROXIMA_CENTAURI_CHECK_SIGN
    ...
    ODPS-0420095: Access Denied - Authorization Failed [4019]
    You don't have the permission to access 'odps:Describe' on {acs:odps:*:projects/alinlp_kgb_algo/tables/df_sem_query_offline_embedding}
    Context ID:37a079dc-0c9b-4053-b718-06adc10e5b2
    Tips: Principal:ALIYUN$xxx@xxx.com
    ...
    FAILED
    CentauriException(code=20005) odps样本运行失败
  • ソリューション

    プロジェクト内のテーブルに必要な権限を申請してください。

    シナリオ

    ソリューション

    プロジェクト間

    テーブルが別のプロジェクトにある場合は、テーブルのオーナーに連絡して必要な権限をリクエストします。または、DataWorks コンソールの [データマップ] でテーブルを検索し、そこで権限を申請します。

    同一プロジェクト

    • 現在のプロジェクトでテーブルを作成した場合、必要な権限は自動的に付与されます。

    • 別のユーザーがテーブルを作成した場合は、プロジェクト間のテーブルと同様に権限を申請します。

    • プロジェクトが保護されている などの特殊なケースでは、プロジェクトのオーナーに連絡して必要な権限を付与してもらいます。スクリプトの例については、このトピックの冒頭にある権限付与スクリプトをご参照ください。