概述
后端访问签名功能支持您在后端服务中开启身份认证后,填写设定的一对Access Key和Secret Key,并根据选择的认证算法和加密算法,以及加密Headers列表,计算出相应的签名信息。当通过网关请求该服务时,会将该服务的签名信息设置在Header请求头中,从而后端服务对比网关的签名和服务器端计算的签名是否一致进行身份验证与鉴权。
前提
- 已开通云原生网关实例
- 已部署能够进行验证Header签名信息的后端服务
网关中实现后端访问签名
- 部署服务,可选择容器部署、Nacos注册或固定地址。
- 进入服务详情。
- 后端访问签名栏点击编辑。
- 打开 开启身份认证开关。
- 选择认证算法(目前云原生网关只支持Hmac算法,后续将支持更多算法),填写加密关键信息。
- 点击保存。
- 为该服务创建路由。
- 请求路由。
其中,Hmac认证算法的关键属性如下:
名称 | 描述 |
---|---|
Access Key | 唯一标识符。 |
Secret Key | 与Access Key配对使用。 |
加密算法 | 支持hmac-sha1,hmac-sha256和hmac-sha512三种加密算法。 |
加密Headers列表 | 要在加密计算中使用的headers 列表。指定后客户端请求只能在此范围内指定 headers,如果未指定,就会在所有客户端请求指定的 headers 加入加密计算。 |
URL参数编码 | 当设置为是时,将对签名中的URI参数进行编码,默认为是。 |
结果验证
在服务中开启并配置后端访问签名后,请求路由,网关会在转发给后端服务的Header头X-HMAC-SIGNATURE中携带签名信息。
注意
- 当创建多服务路由或标签路由时,仅支持以下情况:
- 全部服务配置了相同的后端访问签名配置。
- 只有其中一个后端服务配置了后端访问配置。
- 全部服务都没有配置后端访问签名配置。
如果多服务路由或标签路由中选择的服务中配置了不同的后端访问签名配置,则无法创建。
- 当配置了后端访问签名配置的服务已经在多服务路由或标签路由中引用时,则不允许修改配置信息。若要修改,请先删除该路由。