更新时间:2024-10-09 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”。  | 
     
| 
        签名算法  | 
      
        选择aes的签名算法,包含以下两种: 
  | 
     
| 
        Key  | 
      
        根据选择的密钥类型,填写不同的密钥信息。 
  | 
     
| 
        Secret  | 
      
        根据选择的密钥类型,填写不同的密钥信息。 
  | 
     
| 
        确认Secret  | 
      
        填写与Secret一致的值。  | 
     
验证签名结果
参考《API网关开发指南》的“对后端服务进行签名”章节对后端服务进行签名,比对签名结果和API网关传过来的Authorization头中签名是否一致来校验API的合法性。
   父主题: API策略