更新时间:2024-07-29 GMT+08:00
签名密钥策略说明
签名密钥用于后端服务验证API网关的身份,在API网关请求后端服务时,保障后端服务的安全。
签名密钥由一对Key和Secret组成,签名密钥需要绑定到API才能生效。当签名密钥绑定API后,API网关向后端服务发送此API的请求时,会增加相应的签名信息,此时需要后端服务依照同样方式进行签名,通过比对签名结果和API网关传过来的Authorization头中签名是否一致来校验API的合法性。
使用限制
- 已了解前提条件。
- 同一个环境中一个API只能绑定一个签名密钥,一个签名密钥可以绑定多个API。
使用流程
图1 签名密钥流程图
- 在控制台创建签名密钥。
- 将新创建的签名密钥绑定API。
- API网关将签名后的请求发送到后端服务,此时Authorization头中包含签名信息。后端服务通过不同的开发语言(例如Java、Go、Python、JavaScript、C#、PHP、C++、C等)进行签名,通过比对签名结果和API网关传过来的Authorization头中签名是否一致来校验API的合法性。
配置参数说明
参数 |
说明 |
---|---|
密钥名称 |
自定义名称,用于识别不同的密钥。 |
类型 |
选择签名密钥的认证类型,可选择“HMAC”、“Basic Auth”、“AES”和“Public Key”。 在实例的配置参数中开启“public_key_enable”功能后,才支持选择“Public Key”类型。 |
签名算法 |
选择aes的签名算法,包含以下两种:
|
Key |
根据选择的密钥类型,填写不同的密钥信息。
|
Secret |
根据选择的密钥类型,填写不同的密钥信息。
|
确认Secret |
填写与Secret一致的值。 |
验证签名结果
参考签名算法对后端服务进行签名,比对签名结果和API网关传过来的Authorization头中签名是否一致来校验API的合法性。
父主题: API策略