当您的某个微服务应用有安全要求,不希望其他所有应用都能调用时,可以对调用该应用的其他应用进行鉴权,仅允许匹配鉴权规则的应用调用。
背景信息
下面以一个示例介绍Spring Cloud服务鉴权的使用场景。Dubbo服务鉴权同样适用。
- 未配置服务鉴权
Consumer 1、2、3和Provider在同一个命名空间内,Consumer 1、2和3默认可以调用Provider的所有Path(Path 1、2和3)。
- 配置服务鉴权
- 设置所有Path的鉴权
可以对Provider的所有Path设置鉴权规则,例如Provider所有Path的鉴权规则设置为拒绝Consumer 1调用(黑名单),则允许Consumer 2、3调用(白名单)。
- 设置指定Path的鉴权
在设置所有Path的鉴权基础上,还可以设置Consumer指定Path的鉴权规则,例如按所有Path的鉴权方式,Consumer 2、3可以访问Provider的所有Path,但Provider的Path2涉及一些核心业务或数据,不希望Consumer 2调用,可以将Path 2对Consumer 2的鉴权方式设置为黑名单(拒绝调用),则Consumer 2只能访问Provider的Path 1和Path 3。
设置完鉴权规则的调用关系如下图所示。
- 设置所有Path的鉴权
视频教程
创建服务鉴权规则
结果验证
服务鉴权规则配置完成且开启后,请根据实际业务验证服务鉴权规则是否生效。
相关操作
服务鉴权规则创建完成后,您还可以编辑规则、根据规则的不同状态关闭规则或开启规则。当不再需要服务鉴权时,删除规则。