通用说明
更新时间:2023-08-24
API认证机制
用户可以通过两种方式与百度智能云进行交互,包括认证方式和匿名方式。对于认证方式,需要通过使用Access Key Id / Secret Access Key加密的方法来验证某个请求的发送者身份。Access Key Id(AK)用于标示用户,Secret Access Key(SK)是用户用于加密认证字符串和百度智能云用来验证认证字符串的密钥,其中SK必须保密,只有用户和百度智能云知道。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。鉴权认证机制的详细内容请参见鉴权认证机制。
密码加密传输规范定义
所有涉及密码的接口参数都需要加密,禁止明文传输。密码一律采用AES 128位加密算法进行加密,用SK的前16位作为密钥,加密后生成的二进制字节流需要转成十六进制,并以字符串的形式传到服务端。具体步骤如下:
- byte[] bCiphertext= AES(明文,SK)
- String strHex = HexStr(bCiphertext)
日期与时间规范
日期与时间的表示有多种方式。为统一起见,除非是约定俗成或者有相应规范的,凡需要日期时间表示的地方一律采用UTC时间,遵循ISO 8601,并做以下约束:
- 表示日期一律采用YYYY-MM-DD方式,例如2014-06-01表示2014年6月1日
- 表示时间一律采用hh:mm:ss方式,并在最后加一个大写字母Z表示UTC时间。例如23:00:10Z表示UTC时间23点0分10秒。
- 凡涉及日期和时间合并表示时,在两者中间加大写字母T,例如2014-06-01T23:00:10Z表示UTC时间2014年6月1日23点0分10秒。
排版约定
排版格式 | 含义 |
---|---|
< > | 变量 |
[ ] | 可选项 |
{ } | 必选项 |
请求参数
数据交换格式为JSON,所有request/response body内容均采用UTF-8编码。
请求参数包括如下4种:
参数类型 | 说明 |
---|---|
URI | 通常用于指明操作实体,如:PUT /v1/bsg/{bsg} |
Query参数 | URL中携带的请求参数 |
HEADER | 通过HTTP头域传入,如:x-bce-date |
RequestBody | 通过JSON格式组织的请求数据体 |
返回值说明
返回值分为两种形式:
返回内容 | 说明 |
---|---|
HTTP STATUS CODE | 如200,400,403,404等 |
ResponseBody | JSON格式组织的响应数据体 |
API版本号
参数 | 类型 | 参数位置 | 描述 | 是否必须 |
---|---|---|---|---|
version | String | URL参数 | API版本号,当前 API 版本v1。 | 是 |
BSG STS Role激活参数
沙盒环境:
{
"roleName":"BceServiceRole_bsg_new",
"accountId":"user account id",
"policyId":"42ace6a5260d401985dfe9824fd7f4ff",
"serviceId":"4d71f954e78f42c79cf8a05f25ba251a"
}
线上环境
{
"roleName":"BceServiceRole_bsg_new",
"accountId":"user account id",
"policyId":"39fb9e21ba5c4693b22154dca76aff72",
"serviceId":"109f39871a82465fa70cbe45bbe09262"
}