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