API网关 APIGAPI网关 APIG

更新时间:2021/06/18 GMT+08:00
分享

创建签名密钥

功能介绍

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

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

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

调试

您可以在API Explorer中调试该接口。

URI

POST /v2/{project_id}/apigw/instances/{instance_id}/signs

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户项目编号

instance_id

String

实例编号

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

sign_secret

String

签名密钥的密钥。支持英文,数字,下划线,中划线,!,@,#,$,%,且只能以英文字母开头,16 ~ 64字符。未填写时后台自动生成。

name

String

签名密钥的名称。支持汉字,英文,数字,下划线,且只能以英文和汉字开头,3 ~ 64字符。

说明:

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

sign_key

String

签名密钥的key。支持英文,数字,下划线,中划线,且只能以英文字母开头,8 ~ 32字符。未填写时后台自动生成。

sign_type

String

签名密钥类型。

枚举值:

  • hmac

  • basic

响应参数

状态码: 201

表4 响应Body参数

参数

参数类型

描述

sign_secret

String

签名密钥的密钥

update_time

String

更新时间

create_time

String

创建时间

name

String

签名密钥的名称

id

String

签名密钥的编号

sign_key

String

签名密钥的key

sign_type

String

签名密钥类型。

枚举值:

  • hmac

  • basic

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 401

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 403

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 500

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

{
  "name" : "signature_demo",
  "sign_key" : "signkeysignkey",
  "sign_secret" : "signsecretsignsecretsignsecretsignsecret"
}

响应示例

状态码: 201

Created

{
  "sign_secret" : "signsecretsignsecretsignsecretsignsecret",
  "update_time" : "2020-08-03T03:39:38.119032888Z",
  "create_time" : "2020-08-03T03:39:38.119032659Z",
  "name" : "signature_demo",
  "id" : "0b0e8f456b8742218af75f945307173c",
  "sign_key" : "signkeysignkey",
  "sign_type" : "hmac"
}

状态码: 400

Bad Request

{
  "error_code" : "APIG.2011",
  "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
}

状态码: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

状态码: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

状态码: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

状态码

状态码

描述

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

500

Internal Server Error

错误码

请参见错误码

分享:

    相关文档

    相关产品