服务资源操作相关接口

获取服务列表

描述

  • 获取所有IAM服务列表

URI

GET /auth/v1/services

请求参数

无

返回参数

名称 位置 类型 是否必须 描述
id body String 是 服务ID
name body String 是 服务编码
displayName body String 是 服务名称
description body String 否 服务描述
isDisplay body Bool 是 是否在页面展示
attributes body List 否 服务拓展属性

示例

获取所有服务列表,请求url为:GET /auth/v1/services

响应示例

[
    { 
        "id": "8ac834e5670af51a01670af5a10d0000",
        "name": "cvm", 
        "displayName": "云服务器", 
        "description": "",
        "isDisplay": true,
        "attributes": null
    }, 
    { 
        "id": "8ac834e5670afe5c01670afecde40000",
        "name": "oss", 
        "displayName": "对象存储服务", 
        "description": "",
        "isDisplay": true,
        "attributes": null
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

获取指定服务信息

描述

  • 根据serviceId获取指定的服务信息

URI

GET /auth/v1/services/{serviceId}

请求参数

名称 位置 类型 是否必须 描述
serviceId path String 是 服务ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 服务ID
name body String 是 服务编码
displayName body String 是 服务名称
description body String 否 服务描述
isDisplay body Bool 是 是否在页面展示
attributes body List 否 服务拓展属性

示例

获取ID为8ac834e5670af51a01670af5a10d0000的服务,请求url为:GET /auth/v1/services/8ac834e5670af51a01670af5a10d0000

响应示例

{ 
    "id": "8ac834e5670af51a01670af5a10d0000",
    "name": "cvm", 
    "displayName": "云服务器", 
    "description": "",
    "isDisplay": true,
    "attributes": null
}

返回值

请参考通用请求返回值

错误码

获取指定服务的资源类型列表

描述

  • 根据服务ID,获取指定服务下的资源类型列表

URI

GET /auth/v1/services/{serviceId}/resource-types

请求参数

名称 位置 类型 是否必须 描述
serviceId path String 是 服务ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 资源类型ID
name body String 是 资源类型编码
displayName body String 是 资源类型名称
context body String 否 资源类型个性化鉴权上下文
description body String 否 资源类型描述
serviceId body String 是 所属服务ID
isDisplay body Bool 是 是否在页面展示
attributes body List 否 资源类型拓展属性

示例

假设需要获取服务ID为"8ac834e5670af51a01670af5a10d0000"的服务下的资源类型列表。

请求url为:GET /auth/v1/services/8ac834e5670af51a01670af5a10d0000/resource-types

响应示例

[
    { 
        "id": "user",
        "name": "user", 
        "displayName": "用户", 
        "context": "", 
        "description": "用户",
        "serviceId": "8ac834e5670af51a01670af5a10d0000",
        "isDisplay": true,
        "attributes": null
    },
    { 
        "id": "role",
        "name": "role", 
        "displayName": "角色", 
        "context": "", 
        "description": "角色",
        "serviceId": "8ac834e5670af51a01670af5a10d0000",
        "isDisplay": true,
        "attributes": null
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

获取指定资源类型信息

描述

  • 根据resourceTypeId获取指定的资源类型信息

URI

GET /auth/v1/services/{serviceId}/resource-types/{resourceTypeId}

请求参数

名称 位置 类型 是否必须 描述
serviceId path String 是 所属服务ID
resourceTypeId path String 是 资源类型ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 资源类型ID
name body String 是 资源类型编码
displayName body String 是 资源类型名称
context body String 否 资源类型个性化鉴权上下文
description body String 否 资源类型描述
serviceId body String 是 所属服务ID
isDisplay body Bool 是 是否在页面展示
attributes body List 否 资源类型拓展属性

示例

获取ID为8ac834e5670af51a01670af5a10d0000的资源类型,请求url为:GET /auth/v1/services/iam/resource-types/8ac834e5670af51a01670af5a10d0000

响应示例

{ 
    "id": "8ac834e5670af51a01670af5a10d0000",
    "name": "user", 
    "displayName": "用户", 
    "context": "", 
    "description": "", 
    "serviceId": "iam",
    "isDisplay": true,
    "attributes": null
}

返回值

请参考通用请求返回值

错误码

请参考错误码

获取指定资源类型的操作列表

描述

  • 根据资源类型ID,获取指定资源类型下的操作列表

URI

GET /auth/v1/services/{serviceId}/resource-types/{resourceTypeId}/actions

请求参数

名称 位置 类型 是否必须 描述
serviceId path String 是 所属服务ID
resourceTypeId path String 是 资源类型ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 操作ID
name body String 是 操作编码
displayName body String 是 操作名称
description body String 否 操作描述
resourceTypeId body String 是 关联的资源类型ID
serviceId body String 是 关联的服务ID
isDisplay body Bool 是 是否在页面展示
isInstanceAction body Bool 是 是否针对实例的操作

示例

假设需要获取服务ID为"iam"资源类型ID为"user"的资源类型下的操作列表。

请求url为:GET /auth/v1/services/iam/resource-types/user/actions

响应示例

[
    { 
        "id": "iam_get_user",
        "name": "GetUser", 
        "displayName": "查看用户", 
        "description": "查看用户",
        "resourceTypeId": "user",
        "serviceId": "iam",
        "isDisplay": true,
        "isInstanceAction": true
    },
    { 
        "id": "iam_create_user",
        "name": "CreateUser", 
        "displayName": "创建用户", 
        "description": "创建用户",
        "resourceTypeId": "user",
        "serviceId": "iam",
        "isDisplay": true,
        "isInstanceAction": false
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

获取指定操作信息

描述

  • 根据操作Id获取指定的操作信息

URI

GET /auth/v1/services/{serviceId}/resource-types/{resourceTypeId}/actions/{actionId}

请求参数

名称 位置 类型 是否必须 描述
serviceId path String 是 所属服务ID
resourceTypeId path String 是 所属资源类型ID
actionId path String 是 操作ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 操作ID
name body String 是 操作编码
displayName body String 是 操作名称
description body String 否 操作描述
resourceTypeId body String 是 关联的策略类型ID
serviceId body String 是 关联的服务ID
isDisplay body Bool 是 是否在页面展示
isInstanceAction body Bool 是 是否针对实例的操作

示例

获取ID为iam_get_user的操作,请求url为:GET /auth/v1/services/iam/resource-types/user/actions/iam_get_user

响应示例

{ 
    "id": "iam_get_user",
    "name": "GetUser", 
    "displayName": "查看用户", 
    "description": "", 
    "resourceTypeId": "user", 
    "serviceId": "iam",
    "isDisplay": true,
    "isInstanceAction": true
}

返回值

请参考通用请求返回值

错误码

请参考错误码

策略授权相关接口

分页获取策略列表

描述

  • 分页获取所有IAM策略列表
  • 根据编码、名称、内容、类型、服务ID查询

URI

GET /auth/v1/policies/{pageIndex}/{pageSize}

请求参数

名称 位置 类型 是否必须 描述
pageIndex path Integer 是 页码
pageSize path Integer 是 每页显示数据量
name params String 否 策略编码,模糊匹配
displayName params String 否 策略名称,模糊匹配
policyContent params String 否 策略内容,模糊匹配
policyType params String 否 策略类型,精确匹配
serviceId params String 否 策略所属服务ID,精确匹配

返回参数

名称 位置 类型 是否必须 描述
totalRows body Integer 是 总记录数
nowPage body Integer 是 当前显示页码
pageSize body Integer 是 页大小
data body Array 是 策略数据
id data String 是 策略ID
name data String 是 策略编码
displayName data String 是 策略名称
description data String 否 策略描述
policyContent data String 是 策略内容
policyType data String 是 策略类型
accountId data String 是 账户ID
createdAt data String 是 创建时间
updatedAt data String 否 更新时间
deletedAt data String 否 删除时间
isDeleted data String 是 是否已删除
serviceId data String 是 所属服务ID
serviceName data String 是 所属服务编码
serviceDisplayName data String 是 所属服务名称

示例

获取策略列表,每页展示3条,展示第一页。查询策略名包含“云服务”的策略信息。请求url为:GET /auth/v1/policies/1/3?displayName=云服务

响应示例

{
    "data": [
        {
            "displayName": "云服务器新增实例权限",
            "isDeleted": "0",
            "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\",\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\\/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:createCloudServer\"]}",
            "updateAt": null,
            "serviceDisplayName": "云服务器2",
            "serviceName": "cvm",
            "policyType": "custom",
            "deletedAt": null,
            "accountId": "55e0de8f-877c-49c2-9ad5-dd9257ca682e",
            "name": "createCloudServer",
            "createdAt": "2018-12-21T07:47:39Z",
            "id": "8ac834e567c5cf330167cfbbedd80001",
            "description": "该策略允许您对云服务器进行增加实例",
            "serviceId": "8ac834e5670af51a01670af5a10d0000"
        },
        {
            "isDeleted": "0",
            "id": "8ac834e567e3424c0167e343a3880000",
            "description": "该策略允许您对所有云服务器实例进行开机",
            "updateAt": null,
            "accountId": "c2f103b6-e78f-4fee-8c2f-1b765c6eb62e",
            "serviceDisplayName": "云服务器2",
            "serviceName": "cvm",
            "policyType": "custom",
            "deletedAt": null,
            "displayName": "云服务器实例开机权限",
            "createdAt": "2018-12-25T02:48:40Z",
            "name": "startCloudServer",
            "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:startCloudServer\"]}",
            "serviceId": "8ac834e5670af51a01670af5a10d0000"
        },
        {
            "isDeleted": "0",
            "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:stopCloudServer\"]}",
            "description": "该策略允许您对所有云服务器实例进行关机",
            "updateAt": null,
            "accountId": "c2f103b6-e78f-4fee-8c2f-1b765c6eb62e",
            "serviceDisplayName": "云服务器2",
            "serviceName": "cvm",
            "id": "8ac834e567e3424c0167e345f5920001",
            "policyType": "custom",
            "deletedAt": null,
            "createdAt": "2018-12-25T02:51:12Z",
            "name": "stopCloudServer",
            "serviceId": "8ac834e5670af51a01670af5a10d0000",
            "displayName": "云服务器实例关机权限"
        }
    ],
    "pageSize": 3,
    "totalRows": 16,
    "nowPage": 1
}

返回值

请参考通用请求返回值

错误码

请参考错误码

获取自定义策略数量

描述

  • 获取当前账户下的自定义策略数量

URI

GET /auth/v1/policies/count

请求参数

无

返回参数

位置 类型 是否必须 描述
body Integer 是 策略数量

示例

获取当前账户下的自定义策略数量。

请求url为:GET /auth/v1/policies/count

响应示例

    6

返回值

请参考通用请求返回值

错误码

请参考错误码

创建策略

描述

  • 创建一个IAM自定义策略

URI

POST /auth/v1/policies

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
name body String 是 策略编码
description body String 否 策略描述
policyContent body String 是 策略内容
serviceId body String 是 策略所属服务ID

返回参数

名称 位置 类型 是否必须 描述
error body String 否 错误信息,当前支持"excess"即用户数量超额
id body String 否 策略ID
name body String 否 策略编码
displayName body String 否 策略名称
description body String 否 策略描述
policyContent body String 否 策略内容
policyType body String 否 策略类型
accountId body String 否 账户ID
createdAt body String 否 创建时间
updatedAt body String 否 更新时间
deletedAt body String 否 删除时间
isDeleted body String 否 是否已删除
serviceId body String 否 所属服务ID

示例

在云服务器服务下创建允许新增云服务器权限的策略。

请求示例

content-type:application/json; 请求url为:POST /auth/v1/policies

{ 
    "name": "createCloudServer", 
    "description": "该策略允许您对云服务器进行增加实例",
    "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\\/<.*>\"],\"conditions\":{},\"actions\":[\"cvm:createCloudServer\"]}",
    "serviceId": "8ac834e5670af51a01670af5a10d0000"
}

响应示例

{
    "displayName": "云服务器新增实例权限",
    "isDeleted": "0",
    "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\",\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\\/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:createCloudServer\"]}",
    "updateAt": null,
    "policyType": "custom",
    "deletedAt": null,
    "accountId": "55e0de8f-877c-49c2-9ad5-dd9257ca682e",
    "name": "createCloudServer",
    "createdAt": "2018-12-21T07:47:39Z",
    "id": "8ac834e567c5cf330167cfbbedd80001",
    "description": "该策略允许您对云服务器进行增加实例",
    "serviceId": "8ac834e5670af51a01670af5a10d0000"
}

超额响应示例

{
    "error": "excess"
}

返回值

请参考通用请求返回值

错误码

请参考错误码

获取策略信息

描述

  • 根据policyId获取指定的策略信息

URI

GET /auth/v1/policies/{policyId}

请求参数

名称 位置 类型 是否必须 描述
policyId path String 是 策略ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 策略ID
name body String 是 策略编码
displayName body String 是 策略名称
description body String 否 策略描述
policyContent body String 是 策略内容
policyType body String 是 策略类型
accountId body String 是 账户ID
createdAt body String 是 创建时间
updatedAt body String 否 更新时间
deletedAt body String 否 删除时间
isDeleted body String 是 是否已删除
serviceId body String 是 所属服务ID

示例

获取ID为8ac834e567c5cf330167cfbbedd80001的策略,请求url为:GET /auth/v1/policies/8ac834e567c5cf330167cfbbedd80001

响应示例

{
    "displayName": "云服务器新增实例权限",
    "isDeleted": "0",
    "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\",\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\\/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:createCloudServer\"]}",
    "updateAt": null,
    "policyType": "custom",
    "deletedAt": null,
    "accountId": "55e0de8f-877c-49c2-9ad5-dd9257ca682e",
    "name": "createCloudServer",
    "createdAt": "2018-12-21T07:47:39Z",
    "id": "8ac834e567c5cf330167cfbbedd80001",
    "description": "该策略允许您对云服务器进行增加实例",
    "serviceId": "8ac834e5670af51a01670af5a10d0000"
}

返回值

请参考通用请求返回值

错误码

请参考错误码

更新策略

描述

  • 根据策略ID更新指定策略信息
  • 只允许修改name、displayName、description、policyContent

URI

PATCH /auth/v1/policies/{policyId}

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
policyId path String 是 策略ID
name body String 是 策略编码
displayName body String 是 策略名称
description body String 否 策略描述
policyContent body String 是 策略内容

返回参数

名称 位置 类型 是否必须 描述
id body String 是 策略ID
name body String 是 策略编码
displayName body String 是 策略名称
description body String 否 策略描述
policyContent body String 是 策略内容
policyType body String 是 策略类型
accountId body String 是 账户ID
createdAt body String 是 创建时间
updatedAt body String 否 更新时间
deletedAt body String 否 删除时间
isDeleted body String 是 是否已删除
serviceId body String 是 所属服务ID

示例

假设需要更新ID为"8ac834e567c5cf330167cfbbedd80001"的策略名称为“云服务器新增实例权限2”。

请求示例

content-type:application/json; 请求url为:PATCH /auth/v1/policies/8ac834e567c5cf330167cfbbedd80001

{ 
    "name": "", 
    "displayName": "云服务器新增实例权限2", 
    "description": "",
    "policyContent": "" 
}

响应示例

{
    "displayName": "云服务器新增实例权限2",
    "isDeleted": "0",
    "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\",\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\\/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:createCloudServer\"]}",
    "updateAt": null,
    "policyType": "custom",
    "deletedAt": null,
    "accountId": "55e0de8f-877c-49c2-9ad5-dd9257ca682e",
    "name": "createCloudServer",
    "createdAt": "2018-12-21T07:47:39Z",
    "id": "8ac834e567c5cf330167cfbbedd80001",
    "description": "该策略允许您对云服务器进行增加实例",
    "serviceId": "8ac834e5670af51a01670af5a10d0000"
}

返回值

请参考通用请求返回值

错误码

请参考错误码

删除策略

描述

  • 根据策略ID,删除指定策略

URI

DELETE /auth/v1/policies/{policyId}

请求参数

名称 位置 类型 是否必须 描述
policyId path String 是 策略ID

返回参数

无

示例

假设需要删除ID为"8ac834e567c5cf330167cfbbedd80001"的策略。

请求url为:DELETE /auth/v1/policies/8ac834e567c5cf330167cfbbedd80001

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定策略可关联的用户

描述

  • 当前账号下的子用户
  • 未与当前策略直接关联

URI

GET /auth/v1/policies/{policyId}/available-users

请求参数

名称 位置 类型 是否必须 描述
policyId path String 是 策略ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 用户ID
name body String 是 用户名
email body String 否 用户邮箱
phone body String 否 用户电话
description body String 否 用户描述
accountId body String 是 账户ID
isRootUser body Boolean 是 是否根用户
createdAt body LONG 是 创建时间

示例

查询ID为"8ac834e5680d6cd801680de164ee0004"的策略可关联的用户。

请求url为:GET /auth/v1/policies/8ac834e5680d6cd801680de164ee0004/available-users

响应示例

[
    {
        "id": "fe026176-65f7-48f3-87a7-963f032de919",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "createdAt": 1548661485599,
        "name": "lkx-05",
        "email": "user05@inspur.com",
        "phone": "110",
        "description": "描述5",
        "isRootUser": false
    },
    {
        "id": "0591a6fa-7dda-40f2-955c-d8d7e0bf57b7",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "createdAt": 1548661485856,
        "name": "lkx-06",
        "email": "user06@inspur.com",
        "phone": "110",
        "description": "描述6",
        "isRootUser": false
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定策略可关联的用户组

描述

  • 当前账号下的用户组
  • 未与当前策略直接关联

URI

GET /auth/v1/policies/{policyId}/available-user-groups

请求参数

名称 位置 类型 是否必须 描述
policyId path String 是 策略ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 用户组ID
name body String 是 用户组名
description body String 否 用户组描述
accountId body String 是 账户ID
createdAt body LONG 是 创建时间

示例

查询ID为"8ac834e5680d6cd801680de164ee0004"的策略可关联的用户组。

请求url为:GET /auth/v1/policies/8ac834e5680d6cd801680de164ee0004/available-user-groups

响应示例

[
    {
        "id": "438723e1-a974-4af7-b11a-4130c1948874",
        "name": "glkx-02",
        "description": "描述",
        "createdAt": 1548661860782,
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af"
    },
    {
        "id": "53f1f63b-472d-4167-9aae-9dd7dd92b49c",
        "name": "glkx-03",
        "description": "描述",
        "createdAt": 1548661863905,
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af"
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定策略已关联的用户

描述

  • 当前账号下的子用户
  • 与当前策略直接关联

URI

GET /auth/v1/policies/{policyId}/users

请求参数

名称 位置 类型 是否必须 描述
policyId path String 是 策略ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 用户ID
name body String 是 用户名
email body String 否 用户邮箱
phone body String 否 用户电话
description body String 否 用户描述
accountId body String 是 账户ID
isRootUser body Boolean 是 是否根用户
createdAt body LONG 是 创建时间
refrenceId body String 是 关联ID

示例

查询ID为"8ac834e5680d6cd801680de164ee0004"的策略已关联的用户。

请求url为:GET /auth/v1/policies/8ac834e5680d6cd801680de164ee0004/users

响应示例

[
    {
        "id": "56ad2c65-bcfc-4050-875f-db8dfdf1df2e",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "createdAt": 1548663892895,
        "name": "lkx-01",
        "email": "user01@inspur.com",
        "phone": "110",
        "description": "描述1",
        "refrenceId": "8ac834e568e62b050168e62d9c030000",
        "isRootUser": false
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定策略已关联的用户组

描述

  • 当前账号下的用户组
  • 与当前策略直接关联

URI

GET /auth/v1/policies/{policyId}/user-groups

请求参数

名称 位置 类型 是否必须 描述
policyId path String 是 策略ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 用户组ID
name body String 是 用户组名
description body String 否 用户组描述
accountId body String 是 账户ID
createdAt body LONG 是 创建时间
refrenceId body String 是 关联ID

示例

查询ID为"8ac834e5680d6cd801680de164ee0004"的策略已关联的用户组。

请求url为:GET /auth/v1/policies/8ac834e5680d6cd801680de164ee0004/user-groups

响应示例

[
    {
        "id": "438723e1-a974-4af7-b11a-4130c1948874",
        "name": "glkx-04",
        "description": "描述",
        "createdAt": 1548661860782,
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "refrenceId": "8ac834e568e62b050168e62d9c030000"
    },
    {
        "id": "53f1f63b-472d-4167-9aae-9dd7dd92b49c",
        "name": "glkx-05",
        "description": "描述",
        "createdAt": 1548661863905,
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "refrenceId": "8ac834e568e62b050168e62d9c030000"
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

为指定策略关联用户/组

描述

  • 将用户或用户组与给定策略关联,即授权

URI

POST /auth/v1/policies/{policyId}/action/attach-objects

请求参数

名称 位置 类型 是否必须 描述
policyId path String 是 策略ID
userIds body Array 否 用户ID数组
userGroupIds body Array 否 用户组ID数组

返回参数

无

示例

为ID为"8ac834e5680d6cd801680de164ee0004"的策略关联的用户/组。

请求url为:POST /auth/v1/policies/8ac834e5680d6cd801680de164ee0004/action/attach-objects

请求示例

{
    "userIds": [ 
        "userId01", 
        "userId02"
    ],
    "userGroupIds": [ 
        "groupId01", 
        "groupId02"
    ]
}

返回值

请参考通用请求返回值

错误码

请参考错误码

统一授权

描述

  • 为用户、用户组授权统一接口,可授权多个策略

URI

POST /auth/v1/authorizations

请求参数

名称 位置 类型 是否必须 描述
userIds body Array 否 要授权的用户ID列表
groupIds body Array 否 要授权的用户组ID列表
policyIds body Array 是 要授权的策略ID列表

返回参数

无

示例

将ID为"8ac834e56ad40e53016ad4124aa80000"和"8a8186d76abeea4b016ac4bee39c001f"的策略授权给ID为"a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a"和"fe026176-65f7-48f3-87a7-963f032de919"的用户和ID为"638331ce-e64c-4d62-a4f0-8b11252378aa"和"c3e42d41-d38d-45b4-8630-a09412c542eb"的用户组。

请求url为:POST /auth/v1/authorizations

请求示例

content-type:application/json;

{
    "policyIds": [
        "8a8186d76abeea4b016ac4bee39c001f", 
        "8ac834e56ad40e53016ad4124aa80000"
    ],
    "userIds":[
        "a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a",
        "fe026176-65f7-48f3-87a7-963f032de919" 
    ],
    "groupIds":[
        "638331ce-e64c-4d62-a4f0-8b11252378aa", "c3e42d41-d38d-45b4-8630-a09412c542eb"
    ]
}

返回值

请参考通用请求返回值

错误码

请参考错误码

权限回收

描述

  • 回收权限,即解除策略与用户/组的关联
  • 直接关联,回收时,直接删除关联关系
  • 间接关联(用户通过用户组关联),解除用户与用户组的关系(不通过此接口实现)

URI

DELETE /auth/v1/policies/action/detach/{policySubjectId}

请求参数

名称 位置 类型 是否必须 描述
policySubjectId path String 是 策略ID

返回参数

无

示例

解除为ID为"8ac834e5680d6cd801680de164ee0004"的关联关系。

请求url为:DELETE /auth/v1/policies/action/detach/8ac834e5680d6cd801680de164ee0004

返回值

请参考通用请求返回值

错误码

请参考错误码

用户相关接口

获取用户列表

描述

  • 获取当前账户下所有子用户列表

URI

GET /auth/v1/users

请求参数

名称 位置 类型 是否必须 描述
name param String 否 用户名,模糊查询
phone param String 否 手机号,精确查询
email param String 否 邮箱,精确查询

返回参数

名称 位置 类型 是否必须 描述
id body String 是 用户ID
name body String 是 用户名
email body String 否 用户邮箱
phone body String 否 用户电话
description body String 否 用户描述
accountId body String 是 账户ID
accountName body String 是 账户名
isRootUser body Boolean 是 是否根用户
createdAt body LONG 是 创建时间
apiAccess body String 是 是否允许编程访问
consoleAccess body String 是 是否允许控制台访问
thisLoginTime body LONG 否 当前登录时间
lastLoginTime body LONG 否 上次登录时间
isMsgReciever body String 是 是否消息接收人
resetPwd body String 否 用户下次登录是否需要重置密码
changePwd body String 否 是否允许子用户修改密码

示例

查询用户名包含"cloud"的子用户列表,请求url为:GET /auth/v1/users?name=cloud

响应示例

[
    {
        "id": "56ad2c65-bcfc-4050-875f-db8dfdf1df2e",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "accountName": "cloud",
        "createdAt": 1548663892895,
        "name": "cloud-01",
        "email": "user01@inspur.com",
        "phone": "110",
        "description": "描述1",
        "apiAccess": "0",
        "consoleAccess": "1",
        "thisLoginTime": 1550040274357,
        "lastLoginTime": 1550040245040,
        "isMsgReciever": "1",
        "resetPwd": "1",
        "changePwd": "1",
        "isRootUser": false
    },
    {
        "id": "bdb98a35-5f31-41c4-b3f0-eed4d5c98028",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "accountName": "cloud",
        "createdAt": 1548663893136,
        "name": "cloud-02",
        "email": "user02@inspur.com",
        "phone": "110",
        "description": "描述2",
        "apiAccess": "1",
        "consoleAccess": "1",
        "thisLoginTime": 0,
        "lastLoginTime": 0,
        "isMsgReciever": "1",
        "resetPwd": "1",
        "changePwd": "1",
        "isRootUser": false
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

获取用户数量

描述

  • 获取当前账户下的子用户数量

URI

GET /auth/v1/users/count

请求参数

无

返回参数

位置 类型 是否必须 描述
body Integer 是 策略数量

示例

获取当前账户下的子用户数量

请求url为:GET /auth/v1/users/count

响应示例

    6

返回值

请参考通用请求返回值

错误码

请参考错误码

创建用户

描述

  • 在当前账户下创建子用户,可批量

URI

POST /auth/v1/users

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
name body String 是 用户名
password body String 是 密码
receiveEmail body String 否 用户邮箱
receivePhone body String 否 用户电话
description body String 否 用户描述
apiAccess body String 是 是否允许编程访问
consoleAccess body String 是 是否允许控制台访问
isMsgReciever body String 是 是否消息接收人
resetPwd body String 否 用户下次登录是否需要重置密码
changePwd body String 否 是否允许子用户修改密码

返回参数

名称 位置 类型 是否必须 描述
error body String 否 错误信息,当前支持"excess"即用户数量超额
result body Boolean 否 创建结果,所有用户均新建成功为true,否则为false(未超额时返回)
results body JSONArray 否 各用户创建结果集(未超额时返回)
result results Boolean 是 创建结果
userId results String 是 用户ID
name results String 是 用户名
password results String 是 密码
error results String 否 失败原因,创建失败时返回
secretId results String 否 密钥ID,允许编程访问时返回
secretKey results String 否 密钥KEY,允许编程访问时返回

示例

在当前账户下创建用户名为cloud-01和cloud-02的子用户。

请求示例

content-type:application/json; 请求url为:POST /auth/v1/users

[
    { 
        "name": "cloud-01", 
        "password": "123456a?", 
        "receiveEmail": "user01@inspur.com", 
        "receivePhone": "110", 
        "description": "描述",
        "apiAccess": "1",
        "consoleAccess": "1",
        "isMsgReciever": "1",
        "resetPwd": "1",
        "changePwd": "1"
    },
    { 
        "name": "cloud-02", 
        "password": "123456a?", 
        "receiveEmail": "user02@inspur.com", 
        "receivePhone": "110", 
        "description": "描述",
        "apiAccess": "1",
        "consoleAccess": "1",
        "isMsgReciever": "1",
        "resetPwd": "1",
        "changePwd": "1"
    }
]

响应示例

{
    "result": true,
    "results": [
        {
            "result": true,
            "password": "123456a?",
            "secretKey": "ODUzNWU3N2QtYWY0Ny00MDc4LTgzMGYtYWNkMjFiMDY1MThl",
            "userId": "b80083f4-9e84-458b-8cab-d860e23539a0",
            "name": "cloud-01",
            "secretId": "ODI3NTNlNTUtZmVkZS00MDZkLTk0YjUtYzQ3YjA4ZGMyYmJi"
        },
        {
            "result": true,
            "password": "123456a?",
            "secretKey": "OTdlY2I4NjMtNGE0MC00NzA1LTllYTEtOTBhYTFhZmNmYzY1",
            "userId": "b80083f4-9e84-458b-8cab-d860e23539a0",
            "name": "cloud-02",
            "secretId": "OGFiY2IzYzEtMzdiMS00NWM5LWJkMTgtYWViNzcwYzBmZGVk"
        }
    ]
}

超额响应示例

{
    "error": "excess"
}

返回值

请参考通用请求返回值

错误码

请参考错误码

获取用户信息

描述

  • 根据用户Id获取指定的用户信息

URI

GET /auth/v1/users/{userId}

请求参数

名称 位置 类型 是否必须 描述
userId path String 是 用户ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 用户ID
name body String 是 用户名
email body String 否 用户邮箱
phone body String 否 用户电话
description body String 否 用户描述
accountId body String 是 账户ID
accountName body String 是 账户名
isRootUser body Boolean 是 是否根用户
createdAt body LONG 是 创建时间
apiAccess body String 是 是否允许编程访问
consoleAccess body String 是 是否允许控制台访问
thisLoginTime body LONG 否 当前登录时间
lastLoginTime body LONG 否 上次登录时间
isMsgReciever body String 是 是否消息接收人
resetPwd body String 否 用户下次登录是否需要重置密码
changePwd body String 否 是否允许子用户修改密码

示例

获取ID为a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a的用户,请求url为:GET /auth/v1/users/a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a

响应示例

{
    "id": "a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a",
    "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
    "accountName": "lkx",
    "createdAt": 1548663934200,
    "name": "cloud-04",
    "email": "user04@inspur.com",
    "phone": "110",
    "description": "描述4",
    "apiAccess": "1",
    "consoleAccess": "1",
    "thisLoginTime": 0,
    "lastLoginTime": 0,
    "isMsgReciever": "1",
    "resetPwd": "1",
    "changePwd": "1",
    "isRootUser": false
}

返回值

请参考通用请求返回值

错误码

请参考错误码

更新用户

描述

  • 根据用户ID更新指定用户信息

URI

PUT /auth/v1/users/{userId}

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
userId path String 是 用户ID
email body String 否 用户邮箱
phone body String 否 用户电话
description body String 否 用户描述
apiAccess body String 否 是否允许编程访问
consoleAccess body String 否 是否允许控制台访问
isMsgReciever body String 否 是否消息接收人
resetPwd body String 否 用户下次登录是否需要重置密码
changePwd body String 否 是否允许子用户修改密码

返回参数

无

示例

更新ID为"a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a"的用户信息。 请求url为:PUT /auth/v1/users/a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a

请求示例

content-type:application/json;

{ 
    "email": "user03@inspur.com",
    "phone": "110",
    "description": "描述3",
    "apiAccess": "",
    "consoleAccess": "1",
    "password": "123456", 
    "isMsgReciever": "1",
    "resetPwd": "1",
    "changePwd": "0"
}

返回值

请参考通用请求返回值

错误码

请参考错误码

修改密码

描述

  • 根据用户ID修改用户密码

URI

PUT /auth/v1/users/{userId}/action/changePwd

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
userId path String 是 用户ID
accountName body String 是 主账户名
userName body String 是 子用户名
oldPwd body String 是 旧密码
newPwd body String 是 新密码

返回参数

名称 位置 类型 是否必须 描述
error body String 否 错误信息

示例

将ID为"a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a"的用户的密码由123456修改为123456a?。 请求url为:PUT /auth/v1/users/a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a/action/changePwd

请求示例

content-type:application/json;

{
    "accountName": "lkx",
    "userName": "lkx-08",
    "oldPwd": "123456",
    "newPwd": "123456a?"
}

响应示例

{
    "error": "unauthorized"
}

返回值

请参考通用请求返回值

错误码

请参考错误码

删除用户

描述

  • 根据用户ID,删除指定用户
  • 可批量,多个用逗号分隔

URI

DELETE /auth/v1/users/{userIds}

请求参数

名称 位置 类型 是否必须 描述
userIds path String 是 用户ID,多个用逗号分隔

返回参数

无

示例

假设需要删除ID为"a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a"和"0591a6fa-7dda-40f2-955c-d8d7e0bf57b7"的用户。

请求url为:DELETE /auth/v1/users/a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a,0591a6fa-7dda-40f2-955c-d8d7e0bf57b7

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定用户可授权的策略

描述

  • 所有策略排除掉已授权的策略

URI

GET /auth/v1/users/{userId}/available-policies

请求参数

名称 位置 类型 是否必须 描述
userId path String 是 用户ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 策略ID
name body String 是 策略编码
displayName body String 是 策略名称
description body String 否 策略描述
policyContent body String 是 策略内容
policyType body String 是 策略类型
accountId body String 是 账户ID
createdAt body String 是 创建时间
updatedAt body String 否 更新时间
deletedAt body String 否 删除时间
isDeleted body String 是 是否已删除

示例

查询ID为"a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a"的用户可授权的策略。

请求url为:GET /auth/v1/users/a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a/available-policies

响应示例

[
    {
        "id": "8ac834e567c5cf330167cfbbedd80001",
        "name": "createCloudServer",
        "displayName": "云服务器新增实例权限",
        "description": "该策略允许您对云服务器进行增加实例",
        "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\",\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\\/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:createCloudServer\"]}",
        "policyType": "custom",
        "isDeleted": "0",
        "createdAt": "2018-12-21 15:47:39.0",
        "updatedAt": null,
        "deletedAt": null,
        "accountId": "55e0de8f-877c-49c2-9ad5-dd9257ca682e"
    },
    {
        "id": "8ac834e567e3424c0167e343a3880000",
        "name": "startCloudServer",
        "displayName": "云服务器实例开机权限",
        "description": "该策略允许您对所有云服务器实例进行开机",
        "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:startCloudServer\"]}",
        "policyType": "custom",
        "isDeleted": "0",
        "createdAt": "2018-12-25 10:48:40.0",
        "updatedAt": null,
        "deletedAt": null,
        "accountId": "c2f103b6-e78f-4fee-8c2f-1b765c6eb62e",
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定用户已授权的策略

描述

  • 已与用户关联的策略列表
  • 包含直接关联和间接关联的策略

URI

GET /auth/v1/users/{userId}/policies

请求参数

名称 位置 类型 是否必须 描述
userId path String 是 用户ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 策略ID
name body String 是 策略编码
displayName body String 是 策略名称
description body String 否 策略描述
policyContent body String 是 策略内容
policyType body String 是 策略类型
accountId body String 是 账户ID
createdAt body String 是 创建时间
updatedAt body String 否 更新时间
deletedAt body String 否 删除时间
isDeleted body String 是 是否已删除
from body String 是 关联信息
type from String 是 关联方式:直接关联、间接关联
refrenceId from String 否 关联ID
subjectCreatedAt from String 否 关联时间
groups from Array 否 通过组间接关联时返回
id groups String 否 组ID
name groups String 否 组名

示例

查询ID为"a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a"的用户已授权的策略。

请求url为:GET /auth/v1/users/a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a/policies

响应示例

[
    {
        "id": "8ac834e567c5cf330167cfbbedd80001",
        "name": "createCloudServer",
        "displayName": "云服务器新增实例权限",
        "description": "该策略允许您对云服务器进行增加实例",
        "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\",\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\\/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:createCloudServer\"]}",
        "policyType": "custom",
        "isDeleted": "0",
        "createdAt": "2018-12-21 15:47:39.0",
        "updatedAt": null,
        "deletedAt": null,
        "accountId": "55e0de8f-877c-49c2-9ad5-dd9257ca682e",
        "from": {
            "type": "direct",
            "refrenceId": "8ac834e568e62b050168e62d9c030000",
            "subjectCreatedAt": "2019-02-13 17:26:15.0"
        }
    },
    {
        "id": "8ac834e567e3424c0167e343a3880000",
        "name": "startCloudServer",
        "displayName": "云服务器实例开机权限",
        "description": "该策略允许您对所有云服务器实例进行开机",
        "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:startCloudServer\"]}",
        "policyType": "custom",
        "isDeleted": "0",
        "createdAt": "2018-12-25 10:48:40.0",
        "updatedAt": null,
        "deletedAt": null,
        "accountId": "c2f103b6-e78f-4fee-8c2f-1b765c6eb62e",,
        "from": {
            "type": "direct",
            "subjectCreatedAt": "2019-02-13 17:26:15.0",
            "groups": [
                {
                    "id": "8ac834e568e62b050168e62d9c030000",
                    "name": "group-01"
                }
            ]
        }
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定用户可加入的用户组

描述

  • 当前账户下所有的用户组,排除掉已经加入的用户组

URI

GET /auth/v1/users/{userId}/available-user-groups

请求参数

名称 位置 类型 是否必须 描述
userId path String 是 用户ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 用户组ID
name body String 是 用户组名
description body String 否 用户组描述

示例

查询ID为"a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a"的用户可加入的用户组。

请求url为:GET /auth/v1/users/a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a/available-user-groups

响应示例

[
    {
        "name": "glkx-01",
        "description": "描述",
        "id": "1384c942-36f7-4c73-b002-f1bfdd85c4b5"
    },
    {
        "name": "glkx-02",
        "description": "描述",
        "id": "438723e1-a974-4af7-b11a-4130c1948874"
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定用户已加入的用户组

描述

  • 查看指定用户已加入的用户组

URI

GET /auth/v1/users/{userId}/user-groups

请求参数

名称 位置 类型 是否必须 描述
userId path String 是 用户ID
includePolicies params String 是 用户ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 用户组ID
name body String 是 用户组名
description body String 否 用户组描述
policies body Array 否 通过用户组关联的策略
id policies String 否 策略ID
name policies String 否 策略名称

示例

查询ID为"a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a"的用户已加入的用户组。

请求url为:GET /auth/v1/users/a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a/user-groups?includePolicies=true

响应示例

[
    {
        "name": "glkx-01",
        "description": "描述",
        "id": "1384c942-36f7-4c73-b002-f1bfdd85c4b5",
        "policies": [
            {
                "name": "createCloudServer",
                "id": "8ac834e567c5cf330167cfbbedd80001"
            },
            {
                "name": "startCloudServer",
                "id": "8ac834e567e3424c0167e343a3880000"
            }
        ]
    },
    {
        "name": "glkx-02",
        "description": "描述",
        "id": "438723e1-a974-4af7-b11a-4130c1948874"
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

获取MFA注册用信息

描述

  • 获取MFA注册用信息

URI

GET /auth/v1/users/{userId}/action/get-totp-register-info

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
userId path String 是 用户ID

返回参数

名称 位置 类型 是否必须 描述
totpSecret body String 是 密钥
totpSecretEncoded body String 是 密钥,用于绑定TOTP时手工输入
totpSecretQrCode body String 是 密钥,用于二维码展示

示例

请求url为:GET /auth/v1/users/5506f164-59c0-4233-ab3b-42658419b6bc/action/get-totp-register-info

响应示例

{
    "totpSecret": "nwfP8v57ocD8lGWNRKni",
    "totpSecretEncoded": "NZ3W MUBY OY2T O33D IQ4G YR2X JZJE W3TJ",
    "totpSecretQrCode": "iVBORw0KGgoAAAANSUhEUgAAAPYAAAD2AQAAAADNaUdlAAACiUlEQVR42u2ZTa6jQAyEjViw5Ah9k3AxpEbKxchN+ghZsojwVFXzAi8jzW7UXiSLiPCxMG27/BPzf35e9uVf/n/508w6X8xu1hez8e7DbjNuWo7Bs/vj2RdfbU424fFtes5JIASfbXi4g4/usHo238dXsi4Sf/YO03v6fIH9Ho3j/tbhJ4JgToNOOgyX/zOOdjwewuv8FR8NOfMHN3T3/fWRXw35oTRJ+aPU0XF/6FM7DvvhcITmapZw0rR8vJftNsbgTBhcU39ysRtTG0Fqw/v9GnNk9Vb1e1xgv98L/J+Lh+FGr/dFIomr7DS9XsXgrH9Oh6P0MQjkegVpBM6jpa1IctTnCTfg/6xDjsJdCb3b8RDCAUo5nfY35dTqHfktg1lVisrhmf/t+WbMahhchhVJJNOv9rfllgYVwZWqs/4E6bCPQbgKypLYtbI/xPnW/PYgHFq4w2pnV711td152en/9nxjr4ADXVLVn8nvTk0KwjmQWJJSsv/SSdtw6c+achY8RGXh/KSiV4wP+Vu/G3M6HPrDIIDX63xiH/NTY/7uGtBpaz7B1dZF4aasdgYp5+Ojk7UpCFeusKAYiwxfZ+uu9aU1Z31B11pHOw5RRUr5q/405er/5XqWlhH+50Ma92Jw2rqwCPZFqmi3+hI5Bs9suFBf2DpQeo6Z73HR96ZcCxna77XJcTURl/hszFGf1b/SfkgjisyNM2gUrg+7ml36gyTXasYmj8Hr/iOrv1GnWPN78ChcqV23RiYRV+tw2t+aH/tBFumj/nU/mhSJ19aVmxpKd123BuIMTdMkUPerpz625tpfmnF/5GoNFZqX/G/MlT9SnVzrn3ET8vv/kYb8+//Vl4flfwA26ZKUg1Dl7QAAAABJRU5ErkJggg=="
}

返回值

请参考通用请求返回值

错误码

请参考错误码

为用户绑定MFA

描述

  • 为用户绑定MFA

URI

POST /auth/v1/users/{userId}/action/bind-totp

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
userId path String 是 用户ID
totpSecret body String 是 密钥,从get-totp-register-info接口获取
totp path String 是 鉴权码

返回参数

无

示例

请求url为:POST /auth/v1/users/5506f164-59c0-4233-ab3b-42658419b6bc/action/bind-totp
请求示例

{
    "totpSecret":"gAuSkeJcaq5hyTb39Wql",
    "totp":"971601"
}

返回值

请参考通用请求返回值

错误码

请参考错误码

为用户解除MFA

描述

  • 为用户解除MFA

URI

PUT /auth/v1/users/{userId}/action/remove-totp?totp={totp}

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
userId path String 是 用户ID
totp param String 是 鉴权码

返回参数

无

示例

请求url为:POST /auth/v1/users/5506f164-59c0-4233-ab3b-42658419b6bc/action/remove-totp?totp=162796

返回值

请参考通用请求返回值

错误码

请参考错误码

判断用户是否有绑定了MFA

描述

  • 判断用户是否有绑定了MFA

URI

GET /auth/v1/users/{userId}/action/has-totp

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
userId path String 是 用户ID

返回参数

名称 位置 类型 是否必须 描述
hasTotp body Boolean 是 是否绑定了MFA

示例

请求url为:GET /auth/v1/users/5506f164-59c0-4233-ab3b-42658419b6bc/action/has-totp

响应示例

{
    "hasTotp": false
}

返回值

请参考通用请求返回值

错误码

请参考错误码

用户组相关接口

获取用户组列表

描述

  • 获取当前账户下所有用户组列表

URI

GET /auth/v1/user-groups

请求参数

名称 位置 类型 是否必须 描述
name path String 否 用户组名,模糊查询

返回参数

名称 位置 类型 是否必须 描述
id body String 是 用户组ID
name body String 是 用户组名
description body String 否 用户组描述
accountId body String 是 账户ID
createdAt body LONG 是 创建时间

示例

查询用户名包含"cloud"的用户组列表,请求url为:GET /auth/v1/user-groups?name=cloud

响应示例

[
    {
        "id": "56ad2c65-bcfc-4050-875f-db8dfdf1df2e",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "createdAt": 1548663892895,
        "name": "cloud-g01",
        "description": "描述1"
    },
    {
        "id": "bdb98a35-5f31-41c4-b3f0-eed4d5c98028",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "createdAt": 1548663893136,
        "name": "cloud-g02",
        "description": "描述2"
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

获取用户组数量

描述

  • 获取当前账户下的用户组数量

URI

GET /auth/v1/user-groups/count

请求参数

无

返回参数

位置 类型 是否必须 描述
body Integer 是 策略数量

示例

获取当前账户下的用户组数量

请求url为:GET /auth/v1/user-groups/count

响应示例

    6

返回值

请参考通用请求返回值

错误码

请参考错误码

新建用户组

描述

  • 在当前账户下创建一个用户组

URI

POST /auth/v1/user-groups

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
name body String 是 用户组名
description body String 否 用户组描述

返回参数

名称 位置 类型 是否必须 描述
error body String 否 错误信息,当前支持"excess"即用户数量超额
id body String 否 用户组ID
name body String 否 用户组名
description body String 否 用户组描述
accountId body String 否 账户ID
createdAt body LONG 否 创建时间

示例

在当前账户下创建用户组cloud-g01。

请求示例

content-type:application/json; 请求url为:POST /auth/v1/user-groups

{ 
    "name": "cloud-g01", 
    "description": "描述1"
}

响应示例

{
    "id": "56ad2c65-bcfc-4050-875f-db8dfdf1df2e",
    "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
    "createdAt": 1548663892895,
    "name": "cloud-g01",
    "description": "描述1"
}

超额响应示例

{
    "error": "excess"
}

返回值

请参考通用请求返回值

错误码

请参考错误码

用户组明细

描述

  • 根据用户组Id获取指定的用户组信息

URI

GET /auth/v1/user-groups/{groupId}

请求参数

名称 位置 类型 是否必须 描述
groupId path String 是 用户组ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 用户组ID
name body String 是 用户组名
description body String 否 用户组描述
accountId body String 是 账户ID
createdAt body LONG 是 创建时间

示例

获取ID为438723e1-a974-4af7-b11a-4130c1948874的用户组明细。

请求url为:GET /auth/v1/user-groups/438723e1-a974-4af7-b11a-4130c1948874

响应示例

{
    "id": "438723e1-a974-4af7-b11a-4130c1948874",
    "name": "cloud-g02",
    "description": "描述",
    "createdAt": 1548661860782,
    "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af"
}

返回值

请参考通用请求返回值

错误码

请参考错误码

更新用户组

描述

  • 根据用户组ID更新指定用户组信息

URI

PUT /auth/v1/user-groups/{groupId}

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
groupId path String 是 用户组ID
name body String 是 用户组名
description body String 否 用户组描述

返回参数

无

示例

更新ID为"438723e1-a974-4af7-b11a-4130c1948874"的用户组的名称为"cloud-g03 请求url为:PUT /auth/v1/user-groups/438723e1-a974-4af7-b11a-4130c1948874

请求示例

content-type:application/json;

{ 
    "name": "cloud-g03",
    "description": ""
}

返回值

请参考通用请求返回值

错误码

请参考错误码

删除用户组

描述

  • 根据用户组ID,删除用户组,多个用逗号分隔

URI

DELETE /auth/v1/user-groups/{groupIds}

请求参数

名称 位置 类型 是否必须 描述
groupIds path String 是 用户组ID,多个用逗号分隔

返回参数

无

示例

删除ID为"3325e637-d383-438c-b16e-1b281e9ff5b5","8ebf7cd7-1c52-4acd-8282-e13a274860f6"的用户组。

请求url为:DELETE /auth/v1/user-groups/3325e637-d383-438c-b16e-1b281e9ff5b5,8ebf7cd7-1c52-4acd-8282-e13a274860f6

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定用户组已关联的用户

描述

  • 查询指定用户组已关联的用户

URI

GET /auth/v1/user-groups/{groupId}/users

请求参数

名称 位置 类型 是否必须 描述
groupId path String 是 用户组ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 用户ID
name body String 是 用户名
email body String 否 用户邮箱
phone body String 否 用户电话
description body String 否 用户描述
accountId body String 是 账户ID
accountName body String 是 账户名
isRootUser body Boolean 是 是否根用户
createdAt body LONG 是 创建时间

示例

查询ID为"438723e1-a974-4af7-b11a-4130c1948874"的用户组已关联的用户。

请求url为:GET /auth/v1/user-groups/438723e1-a974-4af7-b11a-4130c1948874/users

响应示例

[
    {
        "id": "56ad2c65-bcfc-4050-875f-db8dfdf1df2e",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "accountName": "cloud",
        "creatorId": null,
        "createdAt": 1548663892895,
        "name": "cloud-01",
        "email": "user01@inspur.com",
        "phone": "110",
        "description": "描述1",
        "isRootUser": false
    },
    {
        "id": "bdb98a35-5f31-41c4-b3f0-eed4d5c98028",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "accountName": "cloud",
        "creatorId": null,
        "createdAt": 1548663893136,
        "name": "cloud-02",
        "email": "user02@inspur.com",
        "phone": "110",
        "description": "描述2",
        "isRootUser": false
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定用户组可关联的用户

描述

  • 当前账户下的所有子用户,排除掉已关联的

URI

GET /auth/v1/user-groups/{groupId}/available-users

请求参数

名称 位置 类型 是否必须 描述
groupId path String 是 用户组ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 用户ID
name body String 是 用户名
email body String 否 用户邮箱
phone body String 否 用户电话
description body String 否 用户描述
accountId body String 是 账户ID
accountName body String 是 账户名
isRootUser body Boolean 是 是否根用户
createdAt body LONG 是 创建时间

示例

查询ID为"438723e1-a974-4af7-b11a-4130c1948874"的用户组可关联的用户。

请求url为:GET /auth/v1/user-groups/438723e1-a974-4af7-b11a-4130c1948874/available-users

响应示例

[
    {
        "id": "56ad2c65-bcfc-4050-875f-db8dfdf1df2e",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "accountName": "cloud",
        "creatorId": null,
        "createdAt": 1548663892895,
        "name": "cloud-03",
        "email": "user03@inspur.com",
        "phone": "110",
        "description": "描述3",
        "isRootUser": false
    },
    {
        "id": "bdb98a35-5f31-41c4-b3f0-eed4d5c98028",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "accountName": "cloud",
        "creatorId": null,
        "createdAt": 1548663893136,
        "name": "cloud-04",
        "email": "user04@inspur.com",
        "phone": "110",
        "description": "描述4",
        "isRootUser": false
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定用户组已关联的策略

描述

  • 查询已与用户组关联的策略列表

URI

GET /auth/v1/user-groups/{groupId}/policies

请求参数

名称 位置 类型 是否必须 描述
groupId path String 是 用户组ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 策略ID
name body String 是 策略编码
displayName body String 是 策略名称
description body String 否 策略描述
policyContent body String 是 策略内容
policyType body String 是 策略类型
accountId body String 是 账户ID
createdAt body String 是 创建时间
updatedAt body String 否 更新时间
deletedAt body String 否 删除时间
isDeleted body String 是 是否已删除
from body String 是 关联信息
type from String 是 关联方式:直接关联、间接关联
refrenceId from String 否 关联ID
subjectCreatedAt from String 否 关联时间

示例

查询ID为"438723e1-a974-4af7-b11a-4130c1948874"的用户组已关联的策略。

请求url为:GET /auth/v1/user-groups/438723e1-a974-4af7-b11a-4130c1948874/policies

响应示例

[
    {
        "id": "8ac834e567c5cf330167cfbbedd80001",
        "name": "createCloudServer",
        "displayName": "云服务器新增实例权限",
        "description": "该策略允许您对云服务器进行增加实例",
        "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\",\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\\/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:createCloudServer\"]}",
        "policyType": "custom",
        "isDeleted": "0",
        "createdAt": "2018-12-21 15:47:39.0",
        "updatedAt": null,
        "deletedAt": null,
        "accountId": "55e0de8f-877c-49c2-9ad5-dd9257ca682e",
        "from": {
            "type": "direct",
            "refrenceId": "8ac834e568e62b050168e62d9c030000",
            "subjectCreatedAt": "2019-02-13 17:26:15.0"
        }
    },
    {
        "id": "8ac834e567e3424c0167e343a3880000",
        "name": "startCloudServer",
        "displayName": "云服务器实例开机权限",
        "description": "该策略允许您对所有云服务器实例进行开机",
        "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:startCloudServer\"]}",
        "policyType": "custom",
        "isDeleted": "0",
        "createdAt": "2018-12-25 10:48:40.0",
        "updatedAt": null,
        "deletedAt": null,
        "accountId": "c2f103b6-e78f-4fee-8c2f-1b765c6eb62e",,
        "from": {
            "type": "direct",
            "refrenceId": "8aee968d68f069f30168f07d9a9a0001",
            "subjectCreatedAt": "2019-02-15 17:29:49.0"
        }
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定用户组可关联的策略

描述

  • 所有策略排除掉已关联的策略

URI

GET /auth/v1/groups/{groupId}/available-policies

请求参数

名称 位置 类型 是否必须 描述
groupId path String 是 用户组ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 策略ID
name body String 是 策略编码
displayName body String 是 策略名称
description body String 否 策略描述
policyContent body String 是 策略内容
policyType body String 是 策略类型
accountId body String 是 账户ID
createdAt body String 是 创建时间
updatedAt body String 否 更新时间
deletedAt body String 否 删除时间
isDeleted body String 是 是否已删除

示例

查询ID为"438723e1-a974-4af7-b11a-4130c1948874"的用户组可关联的策略。

请求url为:GET /auth/v1/groups/438723e1-a974-4af7-b11a-4130c1948874/available-policies

响应示例

[
    {
        "id": "8ac834e567c5cf330167cfbbedd80001",
        "name": "createCloudServer",
        "displayName": "云服务器新增实例权限",
        "description": "该策略允许您对云服务器进行增加实例",
        "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\",\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer\\/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:createCloudServer\"]}",
        "policyType": "custom",
        "isDeleted": "0",
        "createdAt": "2018-12-21 15:47:39.0",
        "updatedAt": null,
        "deletedAt": null,
        "accountId": "55e0de8f-877c-49c2-9ad5-dd9257ca682e"
    },
    {
        "id": "8ac834e567e3424c0167e343a3880000",
        "name": "startCloudServer",
        "displayName": "云服务器实例开机权限",
        "description": "该策略允许您对所有云服务器实例进行开机",
        "policyContent": "{\"effect\":\"allow\",\"description\":\"描述\",\"resources\":[\"iop:cvm:default:3d078441-aac8-402c-b0b8-b7fea3992a11:cloudServer/<.*>\"],\"conditions\":{\"account_resource\":{\"options\":{\"key\":\"account_user\"},\"type\":\"ContextEqualCondition\"}},\"actions\":[\"cvm:startCloudServer\"]}",
        "policyType": "custom",
        "isDeleted": "0",
        "createdAt": "2018-12-25 10:48:40.0",
        "updatedAt": null,
        "deletedAt": null,
        "accountId": "c2f103b6-e78f-4fee-8c2f-1b765c6eb62e",
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

添加用户至用户组

描述

  • 将用户添加至用户组,可批量

URI

POST /auth/v1/user-group-relationships

请求参数

名称 位置 类型 是否必须 描述
users body Array 是 用户ID列表
groups body Array 是 用户组ID列表

返回参数

无

示例

将ID为"671559b1-e4dd-4723-a176-b9e59199aaad"和"a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a"的用户加入到ID为"438723e1-a974-4af7-b11a-4130c1948874"和"53f1f63b-472d-4167-9aae-9dd7dd92b49c"的用户组中。

请求url为:POST /auth/v1/user-group-relationships

请求示例

{
    "users":[
        "671559b1-e4dd-4723-a176-b9e59199aaad", 
        "a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a"
    ],
    "groups":[
        "438723e1-a974-4af7-b11a-4130c1948874", 
        "53f1f63b-472d-4167-9aae-9dd7dd92b49c"
    ]
}

返回值

请参考通用请求返回值

错误码

请参考错误码

将用户移出用户组

描述

  • 将用户移出用户组,可批量

URI

POST /auth/v1/delete-user-group-relationships

请求参数

名称 位置 类型 是否必须 描述
users body Array 是 用户ID列表
groups body Array 是 用户组ID列表

返回参数

无

示例

将ID为"671559b1-e4dd-4723-a176-b9e59199aaad"和"a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a"的用户从ID为"438723e1-a974-4af7-b11a-4130c1948874"和"53f1f63b-472d-4167-9aae-9dd7dd92b49c"的用户组中移除。

请求url为:POST /auth/v1/delete-user-group-relationships

请求示例

{
    "users":[
        "671559b1-e4dd-4723-a176-b9e59199aaad", 
        "a98806cf-dcd4-4caf-ab4c-f0e67f85cf6a"
    ],
    "groups":[
        "438723e1-a974-4af7-b11a-4130c1948874", 
        "53f1f63b-472d-4167-9aae-9dd7dd92b49c"
    ]
}

返回值

请参考通用请求返回值

错误码

请参考错误码

密钥相关接口

查询当前登录用户的密钥对列表

描述

  • 查询拥有者为当前登录用户的密钥对列表

URI

GET /auth/v1/secrets

请求参数

无

返回参数

名称 位置 类型 是否必须 描述
id body String 是 密钥对逻辑ID
secretId body String 是 密钥ID
secretKey body String 是 密钥KEY
description body String 否 密钥对描述
createdAt body LONG 是 创建时间
accountId body String 是 账户ID
creator body String 是 创建者
owner body String 是 拥有者
enabled body String 是 是否生效

示例

查询当前用户的密钥对列表,请求url为:GET /auth/v1/secrets

响应示例

[
    {
        "id": "8ac834e568977b0f0168977fdefc0000",
        "secretId": "MjcwYTM4MzctNWZiNS00NmNhLWI3ZjEtYzQ1ODFmZGUxYjJm",
        "secretKey": "MWMyM2Y4MWUtNmM2Ny00MDhiLWJiMTAtN2Y4MDBjYTlkZTg1",
        "description": null,
        "enabled": true,
        "createdAt": "2019-01-29T02:46:05Z",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "creator": "4d891968-a181-46c6-a7cf-824ec0214eac",
        "owner": "4d891968-a181-46c6-a7cf-824ec0214eac"
    },
    {
        "id": "8ac834e568987fbe0168988030810000",
        "secretId": "ZmFjOWI4MDktMDM1Zi00NTI3LTk0ZDQtNTMwNjQzYjM3YTU2",
        "secretKey": "N2VjZDIxOTItNDQzYS00ZTc1LTk5YjAtMGFkZmE0MDVlODZi",
        "description": null,
        "enabled": true,
        "createdAt": "2019-01-29T07:26:04Z",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "creator": "4d891968-a181-46c6-a7cf-824ec0214eac",
        "owner": "4d891968-a181-46c6-a7cf-824ec0214eac"
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

查询指定用户的密钥对列表

描述

  • 查询指定用户的密钥对列表
  • 主账号查询子账号的密钥对

URI

GET /auth/v1/users/{userId}/secrets

请求参数

名称 位置 类型 是否必须 描述
userId path String 是 用户ID

返回参数

名称 位置 类型 是否必须 描述
id body String 是 密钥对逻辑ID
secretId body String 是 密钥ID
secretKey body String 是 密钥KEY
description body String 否 密钥对描述
createdAt body LONG 是 创建时间
accountId body String 是 账户ID
creator body String 是 创建者
owner body String 是 拥有者
enabled body String 是 是否生效

示例

获取ID为"2f7d45c1-c53e-49aa-9c2b-61cc6e64cb09"用户的密钥对列表

请求url为:GET /auth/v1/users/2f7d45c1-c53e-49aa-9c2b-61cc6e64cb09/secrets

响应示例

[
    {
        "id": "8ac834e568977b0f0168977fdefc0000",
        "secretId": "MjcwYTM4MzctNWZiNS00NmNhLWI3ZjEtYzQ1ODFmZGUxYjJm",
        "secretKey": "MWMyM2Y4MWUtNmM2Ny00MDhiLWJiMTAtN2Y4MDBjYTlkZTg1",
        "description": null,
        "enabled": true,
        "createdAt": "2019-01-29T02:46:05Z",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "creator": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "owner": "2f7d45c1-c53e-49aa-9c2b-61cc6e64cb09"
    },
    {
        "id": "8ac834e568987fbe0168988030810000",
        "secretId": "ZmFjOWI4MDktMDM1Zi00NTI3LTk0ZDQtNTMwNjQzYjM3YTU2",
        "secretKey": "N2VjZDIxOTItNDQzYS00ZTc1LTk5YjAtMGFkZmE0MDVlODZi",
        "description": null,
        "enabled": true,
        "createdAt": "2019-01-29T07:26:04Z",
        "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
        "creator": "2f7d45c1-c53e-49aa-9c2b-61cc6e64cb09",
        "owner": "2f7d45c1-c53e-49aa-9c2b-61cc6e64cb09"
    }
]

返回值

请参考通用请求返回值

错误码

请参考错误码

查询主账号密钥对数量

描述

  • 查询当前用户主账号的密钥对数量

URI

GET /auth/v1/secrets/count

请求参数

无

返回参数

位置 类型 是否必须 描述
body Integer 是 密钥对数量

示例

查询当前用户主账号的密钥对数量。

请求url为:GET /auth/v1/secrets/count

响应示例

    3

返回值

请参考通用请求返回值

错误码

请参考错误码

新建密钥对

描述

  • 为指定子用户创建一个密钥对

URI

POST /auth/v1/secrets

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
owner body String 是 密钥对拥有者
description body String 否 密钥对描述

返回参数

名称 位置 类型 是否必须 描述
error body String 否 错误信息,当前支持"excess"即用户数量超额
id body String 否 密钥对逻辑ID
secretId body String 否 密钥ID
secretKey body String 否 密钥KEY
description body String 否 密钥对描述
createdAt body LONG 否 创建时间
accountId body String 否 账户ID
creator body String 否 创建者
owner body String 否 拥有者
enabled body String 否 是否生效

示例

为用户2f7d45c1-c53e-49aa-9c2b-61cc6e64cb09创建一个新的密钥对。

请求示例

content-type:application/json; 请求url为:POST /auth/v1/secrets

{ 
    "owner": "2f7d45c1-c53e-49aa-9c2b-61cc6e64cb09", 
    "description": "描述"
}

响应示例

{
    "id": "8ac834e568977b0f0168977fdefc0000",
    "secretId": "MjcwYTM4MzctNWZiNS00NmNhLWI3ZjEtYzQ1ODFmZGUxYjJm",
    "secretKey": "MWMyM2Y4MWUtNmM2Ny00MDhiLWJiMTAtN2Y4MDBjYTlkZTg1",
    "description": "描述",
    "enabled": true,
    "createdAt": "2019-01-29T02:46:05Z",
    "accountId": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
    "creator": "6c60e590-5629-40b3-81fa-15ca04d9a8af",
    "owner": "2f7d45c1-c53e-49aa-9c2b-61cc6e64cb09"
}

超额响应示例

{
    "error": "excess"
}

返回值

请参考通用请求返回值

错误码

请参考错误码

修改密钥对描述

描述

  • 根据密钥对ID修改指定密钥对描述

URI

PUT /auth/v1/secrets/{secretId}

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
secretId path String 是 密钥对ID
description body String 否 密钥对描述

返回参数

无

示例

更新ID为"8ac834e568977b0f0168977fdefc0000"的密钥对的描述为"新的描述

请求url为:PUT /auth/v1/secrets/8ac834e568977b0f0168977fdefc0000

请求示例

content-type:application/json;

{ 
    "description": "新的描述"
}

返回值

请参考通用请求返回值

错误码

请参考错误码

启用密钥对

描述

  • 将密钥对置为生效

URI

PATCH /auth/v1/secrets/{secretId}/action/enable

请求参数

名称 位置 类型 是否必须 描述
secretId path String 是 密钥对ID

返回参数

无

示例

启用ID为"8ac834e568977b0f0168977fdefc0000"的密钥对。

请求url为:PATCH /auth/v1/secrets/8ac834e568977b0f0168977fdefc0000/action/enable

返回值

请参考通用请求返回值

错误码

请参考错误码

禁用密钥对

描述

  • 将密钥对置为失效

URI

PATCH /auth/v1/secrets/{secretId}/action/disable

请求参数

名称 位置 类型 是否必须 描述
secretId path String 是 密钥对ID

返回参数

无

示例

禁用ID为"8ac834e568977b0f0168977fdefc0000"的密钥对。

请求url为:PATCH /auth/v1/secrets/8ac834e568977b0f0168977fdefc0000/action/disable

返回值

请参考通用请求返回值

错误码

请参考错误码

删除密钥对

描述

  • 根据密钥对ID,删除密钥对

URI

DELETE /auth/v1/secrets/{secretId}

请求参数

名称 位置 类型 是否必须 描述
secretId path String 是 密钥对ID

返回参数

无

示例

删除ID为"8ac834e568977b0f0168977fdefc0000"的密钥对。

请求url为:DELETE /auth/v1/secrets/8ac834e568977b0f0168977fdefc0000

返回值

请参考通用请求返回值

错误码

请参考错误码