创建签名密钥
功能介绍
为了保护API的安全性,建议租户为API的访问提供一套保护机制,即租户开放的API,需要对请求来源进行认证,不符合认证的请求直接拒绝访问。
其中,签名密钥就是API安全保护机制的一种。
租户创建一个签名密钥,并将签名密钥与API进行绑定,则API网关在请求这个API时,就会使用绑定的签名密钥对请求参数进行数据加密,生成签名。当租户的后端服务收到请求时,可以校验这个签名,如果签名校验不通过,则该请求不是API网关发出的请求,租户可以拒绝这个请求,从而保证API的安全性,避免API被未知来源的请求攻击。
URI
HTTP/HTTPS请求方法以及URI如下表所示
| 
        请求方法  | 
      
        URI  | 
     
|---|---|
| 
        POST  | 
      
        /v1.0/apigw/signs  | 
     
请求消息
| 
        参数  | 
      
        是否必选  | 
      
        类型  | 
      
        说明  | 
     
|---|---|---|---|
| 
        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": "******"
}
 响应消息
| 
        参数  | 
      
        类型  | 
      
        说明  | 
     
|---|---|---|
| 
        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"
}
 状态码
| 
        状态码  | 
      
        说明  | 
     
|---|---|
| 
        201  | 
      
        Created  | 
     
| 
        400  | 
      
        Bad Request  | 
     
| 
        401  | 
      
        Unauthorized  | 
     
| 
        403  | 
      
        Forbidden  | 
     
| 
        500  | 
      
        Server Internal Error  |