一、接口介绍
访问控制接口用于管理资产级别的细粒度访问权限。共4个接口:
| 接口 | 方法 | 功能 |
| /v3/acl/grant | POST | 授予权限 |
| /v3/acl/revoke | POST | 撤销权限 |
| /v3/acl/list | POST | 列出权限 |
| /v3/acl/check | POST | 检查权限 |
二、授予权限
授予用户对资产的访问权限。
POST /v3/acl/grant
三、请求参数
| 字段 | 类型 | 必选 | 说明 |
| asset_id | string | 是 | 资产 ID |
| user_id | string | 是 | 被授权的用户 ID |
| permission | string | 是 | 权限类型:read、write、admin |
四、请求示例
curl -i -X POST \\ -H 'Content-Type: application/json' \\ -H 'Authorization: Bearer *********************************' \\ -H "x-tdai-service-id: tdai-mem-xxxxxxxx" \\ https://memory.tdai.tencentyun.com/v3/acl/grant \\ -d '{"asset_id":"asset-456","user_id":"user-123","permission":"read"}'
五、响应示例
{ "code":0, "message":"ok", "request_id":"req-7fd3b2dd", "data":{ "acl_id":"acl-789" }}
六、响应 data
| 字段 | 类型 | 说明 |
| acl_id | string | 授权记录唯一标识 ID |
七、撤销权限
撤销已有的授权记录。
POST /v3/acl/revoke
八、请求参数
| 字段 | 类型 | 必选 | 说明 |
| acl_id | string | 是 | 授权记录 ID |
九、请求示例
curl -i -X POST \\ -H 'Content-Type: application/json' \\ -H 'Authorization: Bearer *********************************' \\ -H "x-tdai-service-id: tdai-mem-xxxxxxxx" \\ https://memory.tdai.tencentyun.com/v3/acl/revoke \\ -d '{"acl_id":"acl-789"}'
十、响应示例
{ "code":0, "message":"ok", "request_id":"req-7fd3b2dd", "data":{ "revoked":true }}
十一、响应 data
| 字段 | 类型 | 说明 |
| revoked | bool | 撤销是否成功 |
十二、列出权限
列出资产的访问控制列表。
POST /v3/acl/list
十三、请求参数
| 字段 | 类型 | 必选 | 说明 |
| asset_id | string | 是 | 资产 ID |
| limit | int | 否 | 每页返回数量 |
| offset | int | 否 | 分页偏移量 |
十四、请求示例
curl -i -X POST \\ -H 'Content-Type: application/json' \\ -H 'Authorization: Bearer *********************************' \\ -H "x-tdai-service-id: tdai-mem-xxxxxxxx" \\ https://memory.tdai.tencentyun.com/v3/acl/list \\ -d '{"asset_id":"asset-456"}'
十五、响应示例
{ "code":0, "message":"ok", "request_id":"req-7fd3b2dd", "data":{ "items":[ { "acl_id":"acl-789", "user_id":"user-123", "permission":"read", "granted_at_ms":1758096000000 }, { "acl_id":"acl-012", "user_id":"user-456", "permission":"write", "granted_at_ms":1758182400000 } ] }}
十六、响应 data
| 字段 | 类型 | 说明 |
| items | array | ACL 列表 |
| items[].acl_id | string | 授权记录 ID |
| items[].user_id | string | 用户 ID |
| items[].permission | string | 权限类型 |
| items[].granted_at_ms | int | 授权时间 |
十七、检查权限
检查用户对资产是否具有指定权限。
POST /v3/acl/check
十八、请求参数
| 字段 | 类型 | 必选 | 说明 |
| asset_id | string | 是 | 资产 ID |
| user_id | string | 是 | 用户 ID |
| permission | string | 是 | 要检查的权限类型 |
十九、请求示例
curl -i -X POST \\ -H 'Content-Type: application/json' \\ -H 'Authorization: Bearer *********************************' \\ -H "x-tdai-service-id: tdai-mem-xxxxxxxx" \\ https://memory.tdai.tencentyun.com/v3/acl/check \\ -d '{"asset_id":"asset-456","user_id":"user-123","permission":"read"}'
20、响应示例
{ "code":0, "message":"ok", "request_id":"req-7fd3b2dd", "data":{ "allowed":true }}
21、响应 data
| 字段 | 类型 | 说明 |
| allowed | bool | 是否允许该操作 |
22、错误码
| HTTP 状态码 | 错误信息 | 说明 |
| 400 | request: Invalid input | 请求参数不合法。 |
| 401 | Missing or invalid Authorization header | Bearer API Key 缺失或格式不正确。 |
| | Missing x-tdai-service-id header | 请求头中未携带 x-tdai-service-id。 |
| 403 | PERMISSION_DENIED | 当前用户无权执行该操作。 |
| 404 | ASSET_NOT_FOUND 或 ACL_NOT_FOUND | 指定的资产或授权记录不存在。 |
| 409 | ACL_ALREADY_EXISTS | 该授权记录已存在。 |
| 500 | Internal error | 服务内部错误,可有限重试。 |