通用说明
API Key认证机制
概述:百度智能云推出API Key认证鉴权机制,当您通过代码调用AppBuilder OpenAPI时,需要获取API Key作为调用时的鉴权凭证。以下内容帮助您了解API Key的管控方法、认证鉴权机制、使用方式等。
API Key 认证鉴权 :调用AppBuilder OpenAPI时,无需签名认证算法,易用性强,兼容国内外大模型服务的接口调用标准。前往[API Key管理控制台]
场景举例:某企业通过代码调用AppBuilder OpenAPI时,可以使用API Key管控分发应用权限,比如有N个应用,开放X个应用权限给到A使用者,Y个应用权限给到B使用者。
功能 | API Key |
---|---|
有效期 | 永久有效 |
数量上限 | 每个主账号/子用户:200个 |
密钥权限 | 不继承子用户权限,需单独配置权限(权限更改约5分钟后生效),详见操作手册 |
如何管理 | 1、主账号直接管理所有用户的API Key2、子用户经授权后(IAMReadAPIKeyPolicy、IAMManageAPIKeyPolicy,自行管理API Key) |
权限说明:
IAMReadAPIKeyPolicy:查看API Key列表、API Key详情、API Key明文
IAMManageAPIKeyPolicy:查看API Key列表、API Key详情、API Key明文、创建API Key/Access Token、编辑API Key、删除API Key
注意事项
- 请将API Key安全保存,不要与他人共享,任何发起自客户端的API调用,例如浏览器、APP或小程序等,均有可能造成API Key的泄露
- 为API Key仅授予必要的最小调用权限
- 建议管理员授予子用户相应的权限后(IAMReadAPIKeyPolicy、IAMManageAPIKeyPolicy),由子用户自行管理名下API Key,操作流程参考:操作手册
- 如怀疑API Key可能已经被泄露,删除该API Key。API Key被删除后,使用该API Key的后续调用均会被拒绝
API Key操作手册
当您调用AppBuilder OpenAPI时,需要获取API Key作为调用时的鉴权凭证。以下内容将帮助您了解如何创建和管理API Key
子用户自行管理API Key
若希望子用户自行管理API Key,请授权子用户:IAMManageAPIKeyPolicy,授权请参考:子用户授权
创建API Key
1、访问API Key管理控制台
2、点击创建API Key
3、按需配置百度智能云百度智能云千帆AppBuilder
4、点击确定,完成API Key创建。复制明文API Key后,请妥善保存
编辑API Key
1、在API key列表页,点击编辑,可对API key进行权限修改
查看API Key
若仅希望子用户查看API Key,请仅授权子用户:IAMReadAPIKeyPolicy,授权请参考:子用户授权
1、在API key列表页,点击显示,经过二次身份验证后,可以查看API Key明文
2、在API key列表页,点击详情,可以查看API Key基本信息、权限配置详情
删除API Key
1、在API key列表页,点击删除,二次确认后,可将API Key删除
通信协议
API 调用遵循 HTTPS 协议。
请求结构说明
数据交换格式为JSON,所有request/response body内容均采用UTF-8编码。
请求参数包括如下4种:
参数类型 | 说明 |
---|---|
URI | 通常用于指明操作实体,如:POST /v{version}/instance/{instanceId} |
Query参数 | URL中携带的请求参数 |
HEADER | 通过HTTP头域传入,如:x-bce-date |
RequestBody | 通过JSON格式组织的请求数据体 |
响应结构说明
响应值分为两种形式:
返回内容 | 说明 |
---|---|
HTTP STATUS CODE | 如200,400,403,404等 |
ResponseBody | JSON格式组织的响应数据体 |
公共请求头与公共响应头
公共请求头
参数名称 | 描述 | 是否必填 | 示例 |
---|---|---|---|
Authorization | 请求签名(此签名为appbuilder平台密钥) | 必须 | Bearer bce-v3/ALTAK-LLfggwDKNJ3mZJFtIMYP8/0d******55cdb5e8b319f93b00fffc584cex8 |
Content-Type | application/json;charset=utf-8 通用数据交互格式(默认) multipart/form-data;charset=utf-8 支持图片、文件等上传,以及语音二进制流传输 text/event-stream;charset=utf-8 支持服务端向客户端推送服务、事件和消息通知的数据格式 | 必须 | application/json;charset=utf-8 multipart/form-data;charset=utf-8 text/event-stream;charset=utf-8 |
x-bce-date | 表示日期的字符串 | 可选 | x-bce-date:2013-07-08T22%3A08%3A55Z 注意x-bce-date里面的冒号(: )已经被规范化成%3A 。 |
Host | 表示请求API的域名 | 可选 | host: qianfan.baidubce.com |
User-Agent | 用户请求来源,SDK的请求,可由SDK指定对应的User-Agent 用户使用OpenAPI接入的情况,一般会被用户使用的工具自行填充 | 可选 | python-requests/2.25.1(python) okhttp/4.10.0、ReactorNetty/1.0.17(java) curl/7.68.0(curl) appbuilder-sdk/0.4.1 |
HTTPS协议的标准头域不在这里列出。公共头域将在请求中出现。
公共响应头
参数名称 | 描述 |
---|---|
x-bce-request-id | 请求ID,后端生成,并自动设置到响应头域中 |
Content-Type | application/json;charset=utf-8 text/event-stream;charset=utf-8 |
时间和日期规范
日期与时间的表示有多种方式。为统一起见,除非是约定俗成或者有相应规范的,凡需要日期时间表示的地方一律采用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秒。