服务鉴权
服务提供者提供服务后,您可以通过服务鉴权功能对服务调用方进行鉴权。
注意事项
服务鉴权功能支持 SOFARPC、Dubbo、Spring Cloud 三种框架。其中,Dubbo 和 Spring Cloud 需要确保引入的
sofa-registry-cloud-all
依赖版本为 1.2.8 及以上版本,详情请参见 SDK 版本说明。在使用容器应用服务发布应用时,应用名称必须与本地应用注册代码配置的
spring.application.name
一致。请确保 SOFABoot 版本在 3.3.3 及以上。有关 SOFABoot 的版本信息,请参见 SOFABoot 版本说明。
添加鉴权规则
登录 SOFAStack 控制台。
在左侧菜单栏选择 中间件 > 微服务平台 > 服务网格 > 服务治理,然后单击 服务鉴权 页签。
单击 添加鉴权规则,然后配置以下参数:
参数
说明
鉴权粒度
目前仅支持 服务级,可以对应用下的一个服务添加鉴权规则。
规则名称
配置鉴权规则的名称。
仅支持中文、英文、数字、下划线,最多支持 255 个字符。
类型
配置鉴权类型,可选值为:
白名单:选择此项时,匹配条件的请求会被放通。
黑名单:选择此项时,匹配条件的请求会被拒绝。
应用
选择待鉴权的应用。
运行模式配置服务鉴权规则的运行方式,取值如下:
拦截模式:鉴权规则生效,则拒绝请求。
观察者模式:鉴权规则生效时,不拒绝请求,只打印日志。
匹配条件
配置鉴权规则的匹配条件,符合条件的流量会被鉴权。
可配置多条匹配规则,各匹配规则之间是与的关系。参数配置如下:
字段:可选择系统字段和自定义字段。
字段名:根据字段类型有不同的值。
系统字段:可选择调用方应用名、调用方 IP、服务方应用名、服务方方法名。
自定义字段:根据实际需求自行设置字段名。
选择逻辑:包括等于、不等于、属于、不属于、正则。
字段值:填入所选字段的值。
单击 提交,然后单击 确定。
在鉴权规则列表中,将刚刚创建的鉴权规则的状态改为 开。
根据设置的类型打开白名单或黑名单的开关。
规则类型为白名单时,打开白名单开关;反之,打开黑名单开关。否则,鉴权规则不生效。
编辑鉴权规则
您可以随时编辑已创建的鉴权规则,规则提交后实时生效。
在 服务鉴权 页签,单击目标鉴权规则右侧的 编辑。
按需求编辑鉴权规则后,单击 提交。
删除鉴权规则
您可以删除已创建的鉴权规则,删除操作实时生效,请谨慎操作。
在 服务鉴权 页签,将目标鉴权规则的状态改为 关。
单击目标鉴权规则右侧的 删除。然后单击 确定。
导出鉴权规则
您可以将已配置的鉴权规则导出,以备份您的鉴权规则。
在 服务鉴权 页签,选中需要导出的鉴权规则。
单击 批量导出,然后单击 确定。
您也可以选择 更多 > 全部导出,一次性导出所有的鉴权规则。导出的鉴权规则会存放在浏览器默认的下载文件夹中。
导入鉴权规则
您可以导入备份的鉴权规则,以快速创建鉴权规则。
在 服务鉴权 页签,选择 更多 > 全部导入。
单击 选择文件,然后选中目标文件后,单击 确定。