服务提供者提供服务后,您可以通过服务鉴权功能对服务调用方进行鉴权。
注意事项
在使用容器应用服务发布应用时,应用名称必须与本地应用注册代码配置的
spring.application.name
一致。请确保 SOFABoot 版本在 3.3.3 及以上。有关 SOFABoot 的版本信息,请参见 版本说明。
使用服务鉴权时,
application.properties
文件中需要额外添加如下配置:com.alipay.sofa.rpc.dynamic.alias=drm
application.properties
文件说明请参见 应用维度配置扩展。
添加鉴权规则
登录 SOFAStack 控制台。
在左侧菜单栏选择 中间件 > 微服务平台 > 微服务 > 服务治理,然后单击 服务鉴权 页签。
单击 添加鉴权规则,然后配置以下参数:
参数
说明
鉴权粒度
配置鉴权的粒度,可选值为:
应用级:对某个应用添加鉴权规则。
服务级:对应用下的一个或多个服务添加鉴权规则。
规则名称
配置鉴权规则的名称。
仅支持中文、英文、数字、下划线(_)。
类型
配置鉴权类型,可选值为:
白名单:选择此项时,匹配条件的请求会被放通。
黑名单:选择此项时,匹配条件的请求会被拒绝。
应用
选择待鉴权的应用。
服务
选择或填写应用下的一个或多个服务。仅在 鉴权粒度 选择 服务级 时配置。
运行模式
配置服务鉴权规则的运行方式,取值如下:
拦截模式:鉴权规则生效,则拒绝请求。
观察者模式:鉴权规则生效时,不拒绝请求,只打印日志。
匹配条件
配置鉴权规则的匹配条件,符合条件的流量会被鉴权。
可配置多条匹配规则,各匹配规则之间是“与”的关系。参数配置如下:
字段:可选择系统字段和自定义字段。
字段名:根据字段类型有不同的值。
系统字段:可选择调用方应用名、调用方 IP、服务方应用名、服务方方法名。
自定义字段:根据实际需求自行设置字段名。
选择逻辑:包括等于、不等于、属于、不属于、正则。
字段值:填入所选字段的值。
单击 提交,然后单击 确定。
在鉴权规则列表中,将刚刚创建的鉴权规则的状态改为 开。
根据设置的类型打开白名单或黑名单的开关。
规则类型为白名单时,打开白名单开关;反之,打开黑名单开关。否则,鉴权规则不生效。
编辑鉴权规则
您可以随时编辑已创建的鉴权规则,规则提交后实时生效。
在 服务鉴权 页签,单击目标服务左侧的加号(+)。
单击目标鉴权规则右侧的 编辑。
按需求编辑鉴权规则后,单击 提交。
删除鉴权规则
您可以删除已创建的鉴权规则,删除操作实时生效,请谨慎操作。
在 服务鉴权 页签,单击目标服务左侧的加号(+)。
将目标鉴权规则的状态改为 关。
单击目标鉴权规则右侧的 删除。然后单击 确定。
查看服务鉴权日志
您可以前往 mosn-sidecar-container
容器,服务鉴权日志打印在 /home/admin/logs/mosn/rbac.log
文件中。