外观
权限错误码(102*)
段位:102001 - 102011;共 11 个;全部 V1 暴露
通用约定(HTTP status /
code=1兜底 / 响应结构)见 README
102001 PERMISSION_DENIED
- HTTP status:200
- 含义:权限不足
- 典型触发条件:当前调用主体(Client 或委派的用户)对目标资源不具备所需权限位(READ / WRITE / DELETE 等)
- 处理建议:检查目标资源的 ACL;必要时由资源所有者(或 MANAGER 角色)通过
/v1/acl/set授权 - 示例响应:
json
{ "code": 102001, "msg": "权限不足", "data": null }102002 SCOPE_DENIED
- HTTP status:200
- 含义:Scope 不足
- 典型触发条件:API Client 的 Scope 配置不包含目标端点所需的
client:storage:xxx:xxxScope - 处理建议:联系租户管理员在 Console 给该 API Client 增配缺失的 Scope;与 102001 区别——102001 是资源层 ACL,102002 是 API Client 自身能力范围
- 示例响应:
json
{ "code": 102002, "msg": "Scope 不足", "data": null }102003 PERMISSION_SESSION_MISSING
- HTTP status:200
- 含义:当前会话无 ACL 主体集合
- 典型触发条件:会话上下文中无法解析出 ACL 主体集(subject set)——通常发生在委派链路解析异常时
- 处理建议:核对委派 Header 是否正确;若使用弱通道,确认弱通道用户已在 atkonbase 内完成主体同步
- 示例响应:
json
{ "code": 102003, "msg": "当前会话无 ACL 主体集合", "data": null }102004 PERMISSION_BIT_UNSUPPORTED
- HTTP status:200
- 含义:不支持的权限位
- 典型触发条件:请求传入了未定义的
permissionMask位值 - 处理建议:权限位仅支持:
READ=1, DOWNLOAD=2, WRITE=4, DELETE=8, SHARE=16, MANAGE=32;优先用role字段(VIEWER / EDITOR / MANAGER)传预设角色而非自行组合位掩码 - 示例响应:
json
{ "code": 102004, "msg": "不支持的权限位", "data": null }102005 RESOURCE_ACCESS_DENIED
- HTTP status:200
- 含义:无权访问资源
- 典型触发条件:被访问的 docId / containerId 在本租户内存在但当前调用主体无任何权限位(包括 READ)
- 处理建议:与 102001 类似——核对 ACL 后授权;常见根因是未对集成方 API Client 自身或委派用户授权
- 示例响应:
json
{ "code": 102005, "msg": "无权访问资源", "data": null }102006 PERMISSION_CONFIG_ERROR
- HTTP status:200
- 含义:权限配置错误
- 典型触发条件:服务端权限配置异常导致,集成方正常调用不会触发
- 处理建议:若集成方碰到此错误,请携带完整的
rid/X-Request-Id与请求路径联系 ATKONBASE 支持团队;集成方无法自助处理 - 示例响应:
json
{ "code": 102006, "msg": "权限配置错误", "data": null }102007 ACL_RESOURCE_TYPE_INVALID
- HTTP status:200
- 含义:非法的资源类型
- 典型触发条件:调用 ACL 端点时
resource.resourceType不在允许枚举内 - 处理建议:
resourceType仅支持DOCUMENT/CONTAINER;检查传值大小写(必须全大写) - 示例响应:
json
{ "code": 102007, "msg": "非法的资源类型", "data": null }102008 ACL_ENTRY_NOT_FOUND
- HTTP status:200
- 含义:ACL 条目不存在
- 典型触发条件:调用
/v1/acl/delete等端点时指定的aclId不存在(aclId 来自此前/v1/acl/set//v1/acl/getAcl的响应) - 处理建议:先用
/v1/acl/getAcl查询确认条目存在;ACL 删除幂等性的处理需在集成方代码中显式(不存在视为已删除) - 示例响应:
json
{ "code": 102008, "msg": "ACL 条目不存在", "data": null }102009 ACL_GRANTEE_TYPE_INVALID
- HTTP status:200
- 含义:非法的 ACL 主体类型
- 典型触发条件:
grantee.granteeType不在允许枚举内 - 处理建议:
granteeType仅支持USER/ROLE/DEPARTMENT;检查传值大小写 - 示例响应:
json
{ "code": 102009, "msg": "非法的 ACL 主体类型", "data": null }102010 ACL_POLICY_NOT_FOUND
- HTTP status:200
- 含义:ACL Policy 不存在
- 典型触发条件:引用了不存在的 ACL Policy ID(Policy 是预定义的权限策略模板)
- 处理建议:核对 Policy ID;Policy 通常由租户管理员预先在 Console 配置
- 示例响应:
json
{ "code": 102010, "msg": "ACL Policy 不存在", "data": null }102011 ACL_POLICY_GRANT_TYPE_INVALID
- HTTP status:200
- 含义:非法的 ACL Policy 授权类型
- 典型触发条件:Policy 的
grantType不在允许枚举内 - 处理建议:
grantType仅支持ALLOW/DENY - 示例响应:
json
{ "code": 102011, "msg": "非法的 ACL Policy 授权类型", "data": null }