跳转至

资源权限详情

1. 接口说明

用于查询某个资源(如指标、维度)的权限列表,返回拥有该资源权限的用户及其权限详情。

2、 接口URL

POST http://{anymetrics_host:anymetrics_port}/anymetrics/api/v1/authority/userList

anymetrics_host:anymetrics_port 获取方式请参考:调用方式

3、 请求参数

3.1、 公共请求参数(HEADERS)

参数 类型 是否必选 描述
tenant-id String 租户 ID,用于标识资源所属租户
auth-type String 认证方式,用于设置身份认证方式
UID:使用 UID 进行身份认证
TOKEN:使用 TOKEN 进行身份认证
ACCOUNT:使用ACCOUNT 进行身份认证
APIKEY:使用APIKEY 进行身份认证,详情见:API Key 管理
auth-value String 与 auth-type 对应的认证值

3.1.1 公共参数获取方式

tenant-id 与 auth-value:在 Aloudata CAN 顶部导航栏选择指标应用,左边菜单栏选择 API 集成。在 API 集成界面获取取到tenant-id 与auth-value。

3.2 请求体参数

参数 类型 是否必选 描述
resourceType String 资源类型DATASET:数据集名称,例如:order
METRIC:指标 code,例如:uv_7day
DIMENSION:维度 code,例如:dmfa48e4cb69c60912210bc5162ff324
ANALYSIS_VIEW:视图名称,例如:order_view
DATASOURCE:数据源,例如:default_catalog RESULT_PLAN:物化方案WORKBOOK:指标看板
resourceId String 资源唯一 ID(UUID)
resourceName String 资源名称

4、 响应参数

参数 类型 描述
data Array 权限列表数据
success Boolean 是否请求成功
code String 返回状态码,200 表示成功
errorMsg String 错误信息(成功时为 null)
detailErrorMsg String 详细错误信息
traceId String 请求链路追踪 ID

4.1、data 数组结构说明

data 为数组,每一项代表一个账号在该资源上的权限信息,由以下两部分组成:

  • authorityResource:权限角色与能力

  • authorityAccount:账号基础信息

4.2、authorityAccount(账号信息)

字段 类型 描述
accountType String 账号类型(USER)
account String 登录账号
id String 账号唯一 ID
displayName String 显示名称
photo String 头像

4.3、 authorityResource(权限信息)

4.3.1、基础字段

字段 类型 描述
authorityRole String 权限角色
authoritySource String 权限来源
expiredTime Long / null 过期时间,null 表示永久
extendResourceDTO Object / null 继承来源资源
canEdit Boolean 是否可编辑
canDelete Boolean 是否可删除
canUsage Boolean 是否可使用
canAuth Boolean 是否可授权
canTransfer Boolean 是否可转交

4.3.2、authorityRole(角色定义)

角色 含义 说明
OWNER 所有者 拥有资源全部权限
ADMIN 管理员 可管理资源
USAGER 使用者 仅可使用资源

4.3.3、authoritySource(权限来源)

含义 说明
DIRECT 直接授权 账号被直接授予当前资源权限
EXTEND 继承 权限来自上层资源(如目录)

4.3.4、extendResourceDTO(仅 EXTEND 时存在)

authoritySource = EXTEND 时,用于说明权限继承来源。

字段 类型 描述
resourceType String 来源资源类型
resourceId String 来源资源 ID
resourceName String 来源资源名称(可为空)

5、请求示例

curl --location 'http://localhost:8083/anymetrics/api/v1/authority/userList' \
--header 'tenant-id: tn_21571046' \
--header 'auth-value: authority_test' \
--header 'auth-type: ACCOUNT' \
--header 'Content-Type: application/json' \
--data '{
  "resourceType": "METRIC",
  "resourceId": "mc1b097411fb64f0d4034605fb4e687d"
}'

6、 返回示例

{
    "data": [
        {
            "authorityResource": {
                "authorityRole": "OWNER",
                "expiredTime": null,
                "authoritySource": "EXTEND",
                "extendResourceDTO": {
                    "resourceType": "CATEGORY_METRIC",
                    "resourceId": "3f311c51-7c36-4f80-9973-b86cd2d5c1dc",
                    "resourceName": null
                },
                "canEdit": true,
                "canDelete": true,
                "canUsage": true,
                "canAuth": true,
                "canTransfer": true
            },
            "authorityAccount": {
                "accountType": "USER",
                "account": "jm",
                "id": "463663891121963008",
                "displayName": "CAN_A",
                "photo": null
            }
        },
        {
            "authorityResource": {
                "authorityRole": "OWNER",
                "expiredTime": null,
                "authoritySource": "EXTEND",
                "extendResourceDTO": {
                    "resourceType": "CATEGORY_METRIC",
                    "resourceId": "3f311c51-7c36-4f80-9973-b86cd2d5c1dc",
                    "resourceName": null
                },
                "canEdit": true,
                "canDelete": true,
                "canUsage": true,
                "canAuth": true,
                "canTransfer": true
            },
            "authorityAccount": {
                "accountType": "USER",
                "account": "jingming04",
                "id": "495992141479149568",
                "displayName": "CAN_E",
                "photo": null
            }
        },
        {
            "authorityResource": {
                "authorityRole": "USAGER",
                "expiredTime": null,
                "authoritySource": "EXTEND",
                "extendResourceDTO": {
                    "resourceType": "CATEGORY_METRIC",
                    "resourceId": "3f311c51-7c36-4f80-9973-b86cd2d5c1dc",
                    "resourceName": null
                },
                "canEdit": false,
                "canDelete": false,
                "canUsage": true,
                "canAuth": false,
                "canTransfer": false
            },
            "authorityAccount": {
                "accountType": "USER",
                "account": "jm",
                "id": "582150047047614464",
                "displayName": "CAN_F",
                "photo": null
            }
        },
        {
            "authorityResource": {
                "authorityRole": "OWNER",
                "expiredTime": null,
                "authoritySource": "DIRECT",
                "extendResourceDTO": null,
                "canEdit": true,
                "canDelete": true,
                "canUsage": true,
                "canAuth": true,
                "canTransfer": true
            },
            "authorityAccount": {
                "accountType": "USER",
                "account": "jm",
                "id": "463663891121963008",
                "displayName": "CAN_A",
                "photo": null
            }
        }
    ],
    "success": true,
    "code": "200",
    "errorMsg": null,
    "detailErrorMsg": null,
    "traceId": "a1b80defcb9a44b0bc5108686229839e.195.17678368883570017"
}