全部產品
Search
文件中心

MaxCompute:ODPS-0420095

更新時間:Aug 02, 2024

本文為您介紹錯誤碼ODPS-0420095: Access Denied的報錯情境,並提供對應的解決方案。

錯誤1:You have no privilege to create external project - you have to be owner,super admin or admin of the referred project.

錯誤資訊

ODPS-0420095: Access Denied - You have no privilege to create external project - you have to be owner,super admin or admin of the referred project.

錯誤碼描述

只有Super_Administrator或admin角色才可以建立外部項目。

解決方案

您需要為對應操作帳號授予Super_Administrator或admin角色許可權,簡單命令如下,詳情請參考通過命令系統管理使用者許可權

grant Super_Administrator TO RAM$xxx;

grant admin TO RAM$xxx;

錯誤2:You have no privilege 'odps:<Action>' on {acs:odps:*:projects/<project_name>}

錯誤資訊(樣本)

ODPS-0420095: Access Denied - You have no privilege 'odps:CreateInstance' on {acs:odps:*:projects/maxcompute_dev}

錯誤碼描述

報錯中的action為CreateInstance,resource為專案maxcompute_dev;此條報錯含義為:

執行人沒有專案maxcompute_dev的CreateInstance許可權。

更多action和resource含義,請參考MaxCompute許可權

解決方案

需要maxcompute_dev專案的所有者為執行人授予Project的CreateInstance許可權。

通過命令授權:授權文法參見通過角色為使用者授予對象的操作許可權

樣本:grant CreateInstance on project maxcompute_dev to USER RAM$xxx;

錯誤3:You don't exist in project <project_name>

錯誤資訊

ODPS-0420095: Access Denied - You don't exist in project <project_name>.

錯誤碼描述

當前操作未被授權,您尚未成為當前專案成員,請聯絡主帳號或擁有授權許可權的使用者將您添加至專案。

解決方案

您需要將執行人添加為專案成員,簡單命令如下:

  • 添加阿里雲帳號使用者:add user ALIYUN$<account_name>;

  • 添加RAM使用者:add user RAM$[<account_name>:]<RAM名稱>;

  • 添加RAM角色:add user `RAM$<accout_name>:role/<RAM角色名稱>`;

    重要

    命令中的`,不可缺失。

由於後續涉及到需要在DataWorks上操作,在修改RAM角色的權限原則時,您需要把RAM角色同時授權給DataWorks服務,以便在DataWorks上能夠提交周期性調度作業至MaxCompute。RAM角色的權限原則配置如下。

{
    "Statement": [
        {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "dataworks.aliyuncs.com"
                ]
            }
        }
    ],
    "Version": "1"
}

更多相關操作請參見使用者規劃與管理

錯誤4You have NO privilege to do the PROJECT SECURITY OPERATION for {<resource>}

錯誤資訊

com.aliyun.odps.OdpsException: ODPS-0420095: Access Denied - Authorization Failed [4003], You have NO privilege to do the PROJECT SECURITY OPERATION for {acs:odps:*:projects/test_sx_0831006/authorization/roles}. Context ID:312d7f21-ae64-4a43-b558-e8712eb85291. (MC RequestID: 638DB6702EC9C84692F2F55A)",

錯誤碼描述

執行人沒有專案管理類操作,此報錯指沒有針對資源{acs:odps:*:projects/test_sx_0831006/authorization/roles}的操作授權。

解決方案

需要找專案owner或者擁有專案super_administrator角色的帳號給報錯帳號授權對應專案的管理類許可權,可以是專案的admin或者super_administrator角色,也可以是專案管理類許可權一覽表

一般該模組會涉及多類資源許可權,因此建議使用萬用字元對資源進行授權。

{
    "Statement": [{
            "Action": ["odps:*"],
            "Effect": "Allow",
            "Resource": ["acs:odps:*:projects/logreadtest/authorization/roles",
                "acs:odps:*:projects/logreadtest/authorization/roles/*/*"]}],
    "Version": "1"}

錯誤5:The task is not in release range: CUPID

錯誤資訊

ODPS-0420095: Access Denied - The task is not in release range: CUPID

錯誤碼描述

當前運行作業所使用的 Quota(或當前 Project 所綁定的預設 Quota)不支援運行Spark on MaxCompute作業。

解決方案

隨用隨付開發人員版僅支援MaxCompute SQL(支援使用UDF)、PyODPS作業。

請購買並綁定隨用隨付或訂用帳戶的Quota運行Spark作業,Spark相關操作請參見概述

錯誤6:You have no privilege 'odps:Usage' on {acs:odps:*:tanents/<tenant_id:regions/region_id>/quotas/<quotaname>}

錯誤資訊

ODPS-0420095: Access Denied - Authorization Failed [], You have NO privilege 'odps:Usage' on {acs:odps:*:tenants/111111/regions/cn-beijing/quotas/q_1}

錯誤碼描述

使用了作業層級指定Quota方式執行作業,需要校正Quota的使用許可權,此錯誤即為沒有使用Quota的許可權。

解決方案

Quota的許可權控制走租戶許可權控制,需要到租戶管理頁面查看對應使用者是否有許可權。