认证鉴权
云原生架构中,对于服务和接口的访问通常有安全性的要求,其中一个重要的方面就是用户身份认证;云原生网关作为云原生架构的访问入口,自然是实现统一认证鉴权的理想位置。云原生网关的认证鉴权主要解决是被调用者身份和校验调用者是否有权限调用当前API等问题。当前云原生网关支持JWT和odic类型的认证鉴权。
JWT是一套基于用户体系对API进行访问授权的机制,主要是基于token识别调用者身份,进一步判断用户是否有权限调用当前API;JWT交互流程如下:
JWT鉴权配置如下:
JWT鉴权配置参数说明:
配置 | 说明 |
---|---|
鉴权名称 | 唯一标识一个JWT鉴权配置,只能包含大小写字母、数字和‘-’,且不能以‘-’开头或者结尾 |
加密算法 | 支持HS256、HS512、RS256 |
密钥 | 选择HS256/ HS512算法时填写,需要指定是否base64编码,并提供密钥 |
RSA密钥 | 选择RS256算法时填写,需要提供RSA算法公钥和私钥 |
JWT Token配置 | 网关从请求获取JWT Token的位置,支持指定header、query和Cookie的key |
过期时间 | JWT Token过期时间,默认86400秒 |
云原生网关同时支持oidc(openID Connect)鉴权方式,OIDC是对oAuth2.0的扩展,通过增加ID token字段,提供了用户基础信息;ID token采用JWT格式封装。OIDC整理流程如下:
黑白名单
支持配置ip黑白名单方式,限制外部访问网关服务;黑白名单同时只能有一种生效