ODPS-0420095

本文为您介绍错误码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角色权限授予报错账号。

  • 配置新的管理角色并授权报错账号,角色配置操作可参考配置项目中角色管理部分,创建管理类(Admin)角色,进行Policy授权。管理类权限Policy支持的Action、Resource可参考项目管理类权限一览表,可以使用通配符对资源进行授权。

    {
        "Statement": [{
                "Action": ["odps:*"],
                "Effect": "Allow",
                "Resource": ["acs:odps:*:projects/<project_name>/authorization/roles",
                  "acs:odps:*:projects/<project_name>/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的权限控制走租户权限控制,需要到租户管理页面查看对应用户是否有权限,详情请参见租户级别对象操作权限授权