第三方认证策略说明
您可以通过第三方认证策略配置自己的鉴权服务为API的访问进行认证。API网关先调用用户的鉴权服务,收到鉴权服务的鉴权成功响应后再继续调用后端服务。
如果此策略在当前实例中不支持,请联系技术支持升级实例到最新版本。
第三方认证原理图如下,第三方认证策略绑定API后,您可以参考调用API调用。
前提条件
使用前,请先了解前提条件。
配置参数说明
参数 |
说明 |
---|---|
负载通道 |
是否使用负载通道作为第三方接口的鉴权服务。
|
后端URL |
|
后端超时(ms) |
鉴权服务请求的超时时间。超时时间不超过后端响应超时时间上限,超时时间上限可在API网关控制台的“配置参数”中查看。 |
自定义host头域 |
仅在使用负载通道时配置。 在请求被发送到负载通道中的云服务器前,允许您自定义请求的host头域,默认将使用请求中原始的host头域。 |
防暴力拦截阈值 |
当源IP访问在5分钟内进行第三方认证失败的次数达到此处配置的阈值时,将触发源IP请求拦截,在这5分钟后解除请求拦截。 例如,5分钟内,源IP访问在第三分钟进行第三方认证失败的次数达到此处配置的阈值,触发源IP请求拦截,再过2分钟解除请求拦截。 |
身份来源 |
将从API原始请求中获取此处配置的参数进行第三方鉴权接口鉴权(最大支持10个header参数和10个query参数)。身份来源信息为空时,携带API原始请求的请求参数(header参数和query参数)调用第三方鉴权接口进行鉴权。 |
宽松模式 |
开关开启后,当鉴权服务不可用(与鉴权服务建立连接失败或者鉴权服务返回5xx)时,API网关仍然接受客户端请求。 |
允许携带原始请求体 |
开关开启后,将携带API原始请求体调用鉴权接口鉴权。 |
请求体大小(字节) |
仅在开启“允许携带原始请求体”时配置。 请求体大小不能超过实例允许的最大请求体大小。实例的最大请求体大小可在API网关控制台“配置参数”中查看。 |
允许携带原始请求路径 |
开关开启后,将API原始请求路径拼接到鉴权接口路径之后调用鉴权接口鉴权。 |
直接返回鉴权响应 |
开关开启后,鉴权失败时,将直接返回鉴权服务的响应。 |
允许携带的响应头部 |
鉴权成功时,原始请求将从鉴权服务返回的响应头中获取此处配置的头部,传到业务后端。 最大支持配置10个头部。 |
简易鉴权模式 |
开关开启后,鉴权服务返回状态码“2xx”时,表示认证通过。 |
鉴权结果匹配 |
仅在“简易鉴权模式”关闭后可配置。 根据鉴权服务返回的响应头中的参数名和参数值进行校验,响应头中存在此处配置的参数名,并且参数值相等则认证通过。 |
黑白名单配置 |
开关开启后,原始API请求匹配黑/白名单规则将进行/不进行第三方认证鉴权。 |
规则类型 |
|
定义参数 |
定义用于规则的参数。
说明:
建议不要设置敏感信息,以防泄露。
|
定义规则 |
定义用于规则的判断条件。 单击“添加规则”,编辑规则名称和规则条件。在“条件表达式”弹窗中,选择“定义参数”中的参数名和判断条件,以及输入参数值。
说明:
建议不要设置敏感信息,以防泄露。
|
脚本配置示例
{ "auth_request": { "method": "GET", "protocol": "HTTPS", "url_domain": "192.168.10.10", "timeout": 5000, "path": "/", "vpc_channel_enabled": false, "vpc_channel_info": null }, "custom_forbid_limit": 100, "carry_body": { "enabled": true, "max_body_size": 1000 }, "auth_downgrade_enabled": true, "carry_path_enabled": true, "return_resp_body_enabled": false, "carry_resp_headers": [], "simple_auth_mode_enabled": true, "match_auth": null, "rule_enabled": false, "rule_type": "allow" }