服务提供者提供服务后,通过服务鉴权功能,对服务调用方进行鉴权,主要用于鉴定哪些服务调用者有权限调用所提供的服务。
前置条件
服务网格服务鉴权功能支持 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 平台。
单击 中间件 > 微服务平台 > 服务网格。
在服务治理页面单击 服务治理 > 服务鉴权 标签,单击 添加鉴权规则,可配置相应的鉴权规则。
鉴权粒度:目前仅支持服务级鉴权。
规则名称:支持汉字、英文、数字和下划线。
类型:包括白名单和黑名单。
应用:从下拉框选择一个待鉴权应用。
运行模式:分为 拦截模式 和 观察者模式。两者的主要区别在于触发熔断或者降级时的处理不同:
拦截模式:鉴权规则生效,则拒绝请求。
观察者模式:鉴权规则生效时,不拒绝请求,只打印日志。
匹配条件:可设置多条匹配规则,各匹配规则之间是 与 的关系。规则主要包括下述内容:
字段:包括系统字段和自定义字段。
字段名:包括调用方应用名、调用方 IP、服务方应用名、服务方方法名。
选择逻辑:包括等于、不等于、属于、不属于、正则。
字段值:填入所选字段的值。
说明支持添加多条鉴权规则:多条规则之间是 或 的关系。
每条规则支持多个匹配条件:每条规则的多个匹配条件之间是 与 的关系。
单击 添加鉴权规则 按钮右侧 更多 选项,可以导入和导出全部鉴权规则。
规则类型说明
白名单
启用白名单后,白名单下所有已创建的规则都将生效,只有满足白名单规则的请求才可以访问。
属于高危操作,会造成不满足规则的请求被拒绝:请先确认所有规则正确,不需要的规则删除后,再启用白名单。
黑名单
启用黑名单后,黑名单下所有已创建的规则都将生效,满足黑名单规则的请求都将被拒绝。
属于高危操作:请先确认所有规则正确,不需要的规则删除后,再启用黑名单。
白名单和黑名单互斥:
在启用白名单时,需先禁用黑名单;在启用黑名单时,需先禁用白名单。
通过服务拓扑或其它监控,发现有未知应用在调用接口,可以建立规则,将其放入黑名单。
对可信度较高应用,可通过规则,将其放入白名单。
编辑鉴权规则
鉴权页面提供两种类型的鉴权规则,用户可对鉴权服务或鉴权应用下的鉴权规则进行查询及编辑。
服务列表:汇总了所有鉴权服务及对应服务下的所有鉴权规则。
应用列表:汇总了所有鉴权应用及对应应用下的所有鉴权规则。

单击单个服务或应用,可对鉴权规则进行下述操作:
开启或关闭黑、白名单。
开启或关闭鉴权规则。
添加、编辑、删除鉴权规则。
查看服务鉴权日志
前往 mosn-sidecar-container
容器,可查看服务鉴权日志:/home/admin/logs/mosn/rbac.log
。
在文档使用中是否遇到以下问题
更多建议
匿名提交