更新时间:2023-04-27 GMT+08:00
分享

配置后端服务的签名校验

签名密钥用于后端服务验证ROMA Connect的身份,在ROMA Connect访问后端服务时,保障后端服务的安全。

签名密钥由一对Key和Secret组成,只有将API绑定签名密钥后,签名密钥才对API生效。

同一个API在同一个环境中只能绑定一个签名密钥,一个签名密钥可以绑定多个API。

当API绑定签名密钥后,ROMA Connect向该API的后端服务发送请求时,会使用签名密钥中的Key和Secret在后端服务请求中增加相应的签名信息。此时需要后端服务依照同样方式进行签名,通过比对签名结果与请求的Authorization头中携带的签名是否一致,来校验ROMA Connect发过来的请求是否合法。

创建签名密钥

  1. 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制台”,进入实例控制台。
  2. 在左侧的导航栏选择“服务集成 APIC > API策略”,在“策略管理”页签下单击“创建策略”。
  3. 在选择策略类型弹窗中选择“传统策略 > 签名密钥”。
  4. 在配置签名密钥弹窗中配置签名密钥信息。
    表1 签名密钥配置

    参数

    说明

    密钥名称

    填写签名密钥的名称,根据规划自定义。建议您按照一定的命名规则填写签名密钥名称,方便您快速识别和查找。

    类型

    选择签名密钥的认证类型,可选择“HMAC”、“Basic Auth”、“Aes”。

    说明:

    Site实例中签名密钥暂不支持AES认证类型。

    签名算法

    选择AES的签名算法,可选择aes-128-cfb和aes-256-cfb。

    Key

    根据选择的密钥类型,填写不同的密钥信息。

    • HMAC:填写HMAC认证所使用密钥对的Key。
    • Basic Auth:填写Basic Auth认证所使用的用户名。
    • Aes:填写AES认证所使用的密钥key。

    Secret

    根据选择的密钥类型,填写不同的密钥信息。

    • HMAC:填写HMAC认证所使用密钥对的Secret。
    • Basic Auth:填写Basic Auth认证所使用的密码。
    • Aes:填写AES认证所使用的向量。

    确认Secret

    填写与Secret一致的值。

  5. 单击“确定”,创建签名密钥。

    签名密钥创建后,您还需要为API绑定签名密钥,才能使签名密钥对API生效。

为API绑定签名密钥

  1. 在“策略管理”页签右上角的过滤条件中选择“签名密钥”。
  2. 在页面中单击策略的名称,进入策略详情页面。
  3. 在“关联API”下选择要绑定API的环境,然后单击“绑定API”。
  4. 在绑定API弹窗中,勾选要绑定签名密钥的API。

    您可以通过指定API分组和API名称,筛选所需API。

  5. 单击“确定”,完成API与签名密钥的绑定。

在后端服务配置签名校验

为API绑定签名密钥后,您可以参考后端服务签名校验开发,在后端服务进行签名校验开发,对请求中的签名信息进行校验。

相关文档