帮你快速理解、总结文档立即下载

访问控制

最近更新时间:2026-08-27 17:42:00
我的收藏

接口介绍

MetadataClient 提供以下访问控制(ACL)接口,用于管理资产级别的细粒度访问权限。
grant_acl:授予用户对资产的访问权限。
revoke_acl:撤销已有的授权记录。
list_acl:列出资产的访问控制列表。
check_acl:检查用户对资产是否具有指定权限。

导入

from tencentdb_agent_memory.v3 import MetadataClient

方法签名

def grant_acl(self, p: Dict[str, Any]) -> Dict[str, Any]
def revoke_acl(self, acl_id: str) -> Dict[str, Any]
def list_acl(
self,
asset_id_or_request: Union[str, Dict[str, Any], None] = None,
*,
pagination: Optional[Dict[str, Any]] = None,
) -> Dict[str, Any]
def check_acl(self, p: Dict[str, Any]) -> Dict[str, Any]

使用示例

grant_acl

from tencentdb_agent_memory.v3 import MetadataClient

metadata = MetadataClient(
endpoint="https://memory.tdai.tencentyun.com",
api_key="sk-xxxxxxxxxxxxxxxx",
service_id="tdai-mem-xxxxxxxx",
)

resp = metadata.grant_acl({
"asset_id": "asset-456", # 必填,资产 ID
"user_id": "user-123", # 必填,被授权的用户 ID
"permission": "read", # 必填,权限类型(read/write/admin)
})
print(resp)

check_acl

resp = metadata.check_acl({
"asset_id": "asset-456",
"user_id": "user-123",
})
print(resp["allowed"])

list_acl

resp = metadata.list_acl("asset-456", pagination={"limit": 50})
for acl in resp["items"]:
print(acl["user_id"], acl["permission"])

revoke_acl

resp = metadata.revoke_acl("acl-001")
print(resp)

请求参数

grant_acl

参数名
类型
必填
描述说明
asset_id
str
资产 ID
user_id
str
被授权的用户 ID
permission
str
权限类型,如 readwriteadmin

revoke_acl

参数名
类型
必填
描述说明
acl_id
str
待撤销的 ACL 记录 ID

list_acl

参数名
类型
必填
描述说明
asset_id
str
资产 ID
pagination
Dict
分页参数,含 limitoffset

check_acl

参数名
类型
必填
描述说明
asset_id
str
资产 ID
user_id
str
待检查的用户 ID

响应示例

grant_acl

{
"acl_id": "acl-550e8400-e29b-41d4-a716-446655440000",
"asset_id": "asset-456",
"user_id": "user-123",
"permission": "read",
"granted_at_ms": 1723968000000
}

check_acl

{
"allowed": true,
"permission": "read",
"asset_id": "asset-456",
"user_id": "user-123"
}

list_acl

{
"items": [
{
"acl_id": "acl-001",
"user_id": "user-123",
"permission": "read",
"granted_at_ms": 1723900000000
},
{
"acl_id": "acl-002",
"user_id": "user-456",
"permission": "write",
"granted_at_ms": 1723800000000
}
],
"total": 2
}

响应参数说明

参数名
类型
参数含义
acl_id
str
ACL 记录唯一标识 ID
asset_id
str
资产 ID
user_id
str
用户 ID
permission
str
权限类型
allowed
bool
是否允许访问(check_acl 返回)
granted_at_ms
int
授权时间,Unix 时间戳,单位为毫秒
items
List[Dict]
ACL 列表
total
int
符合条件的 ACL 总数

错误码

错误码
触发场景
处理建议
400
请求参数不合法
检查参数是否符合约束条件
401
API Key 无效或缺失
检查 Bearer Token 配置
404
指定资产或 ACL 记录不存在
确认 ID 是否正确
409
授权已存在
无需重复授权
500
服务内部错误
稍后重试