管理凭证

更新时间:2025-08-18 15:33:44

管理凭证accessToken是对象存储服务用于验证资源管理接口请求合法性的安全令牌。推荐仅在业务服务器端使用此类凭证,以避免因意外授权造成的滥用。
构建管理凭证需要获得以下两个数据:

  • 安全密钥 (SecretKey) 请从对象存储平台的密钥管理员获取SK。
  • 访问密钥 (AccessKey) 请从对象存储平台的密钥管理员获取AK。

管理凭证生成算法

1. 构造待签名字符串(signingStr)

从HTTP请求中提取以下元素:

  • <path>:API路径(如 /list)
  • <query>:URL查询参数(如 bucket=test&limit=100)
  • <body>:请求体原始数据

组合规则​​(按场景选择):

场景类型 公式 应用案例
含查询参数 + 无请求体 signingStr =<path>?<query>\n 列举存储桶资源
含查询参数 + 有请求体 signingStr =<path>?<query>\n<body> 复杂条件查询
无查询参数 + 无请求体 signingStr =<path>\n 删除文件
无查询参数 + 有请求体 signingStr =<path>\n<body> 音视频处理指令

实际使用案例​​:

# 案例1:列举资源接口
path = "/list"
query = "bucket=user-data&limit=50"
signingStr = f"{path}?{query}\n"  # 结尾必须有换行符

# 案例2:音视频处理接口
path = "/fops"
body = '{"operation":"transcode","format":"mp4"}'
signingStr = f"{path}\n{body}"    # 路径与请求体用换行符分隔

2. 生成HMAC-SHA1签名

使用 SecretKeysigningStr 进行 HMAC-SHA1 签名以获得 Sign

Sign = hmac_sha1(signingStr, "<SecretKey>")

3. URL安全的Base64编码签名数据

对签名数据 Sign 执行 URL安全的Base64编码以获得 encodeSign

encodeSign = urlsafe_base64_encode(Sign)

4. 组合管理凭证
按照以下规则连接 AccessKeyencodeSign 以获得管理凭证 accessToken

accessToken = <AccessKey>:<encodeSign>
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!