更新时间:2022-02-21 GMT+08:00

创建签名密钥

功能介绍

为了保护API的安全性,建议租户为API的访问提供一套保护机制,即租户开放的API,需要对请求来源进行认证,不符合认证的请求直接拒绝访问。

其中,签名密钥就是API安全保护机制的一种。

租户创建一个签名密钥,并将签名密钥与API进行绑定,则API网关在请求这个API时,就会使用绑定的签名密钥对请求参数进行数据加密,生成签名。当租户的后端服务收到请求时,可以校验这个签名,如果签名校验不通过,则该请求不是API网关发出的请求,租户可以拒绝这个请求,从而保证API的安全性,避免API被未知来源的请求攻击。

URI

HTTP/HTTPS请求方法以及URI如下表所示

表1 HTTP/HTTPS请求方法以及URI

请求方法

URI

POST

/v1.0/apigw/signs

请求消息

表2 参数说明

参数

是否必选

类型

说明

name

String

签名密钥的名称。

支持汉字,英文,数字,下划线,且只能以英文和汉字开头,3 ~ 64字符。

说明:

中文字符必须为UTF-8或者unicode编码。

sign_key

String

签名密钥的key。

支持英文,数字,下划线,中划线,且只能以数字或英文字母开头,8 ~ 32字符。

未填写时后台自动生成。

sign_secret

String

签名密钥的密钥。

支持英文,数字,下划线,中划线,!,@,#,$,%,且只能以数字或英文字母开头,16 ~ 64字符。

未填写时后台自动生成。

请求消息样例:

{
	"name": "signature01",
	"sign_key": "abcd_123",
	"sign_secret": "******"
}

响应消息

表3 参数说明

参数

类型

说明

id

String

签名密钥的编号

name

String

签名密钥的名称

sign_key

String

签名密钥的key

sign_secret

String

签名密钥的密钥

create_time

Timestamp

创建时间

update_time

Timestamp

更新时间

响应消息样例:

{
	"name": "signature01",
	"sign_key": "abcd_123",
	"sign_secret": "******",
	"id": "3a793b65a9034bdfae08924f149bfb4a",
	"create_time": "2018-02-06T12:17:36.039953112Z",
	"update_time": "2018-02-06T12:17:36.039954198Z"
}

状态码

表4 返回消息说明

状态码

说明

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

500

Server Internal Error