当您的某个微服务应用有安全要求,不希望其它所有应用都能调用时,可以对调用该应用的其它应用进行鉴权,仅允许匹配鉴权规则的应用调用。

背景信息

下面以一个示例介绍Dubbo服务鉴权的使用场景。

Consumer 1、2、3和Provider在同一个命名空间内,Consumer 1、2和3默认可以调用Provider的所有服务和接口。

未配置服务鉴权

可以对Provider的所有服务和接口设置鉴权方式,例如Provider所有服务和接口对Consumer 1的鉴权方式设置为黑名单(拒绝调用),则Consumer 2、3的鉴权方式为白名单(允许调用)。

在此基础上,还可以设置Consumer指定服务和接口的鉴权方式,例如按所有接口的鉴权方式,Consumer 2、3可以访问Provider的所有服务和接口,但Provider的服务和接口2涉及一些核心业务或数据,不希望Consumer 2调用,可以将服务和接口2对Consumer 2的鉴权方式设置为黑名单(拒绝调用),则Consumer 2只能访问Provider的服务和接口1和服务和接口3。

设置完鉴权规则的调用示意如下图所示。

已配置服务鉴权

视频

创建服务鉴权规则

  1. 登录 EDAS 控制台,在页面左上角选择所需地域。
  2. 在左侧导航栏选择微服务治理 > Dubbo
  3. Dubbo左侧导航栏单击服务鉴权
  4. 服务鉴权页面单击创建规则
  5. 创建规则页面设置服务鉴权参数,然后单击确定
    服务鉴权-创建规则-Dubbo

    服务鉴权规则参数说明:

    参数 说明
    命名空间 服务所在的地域命名空间
    规则名称 鉴权规则名称,支持大小写字母、数据、下划线(_)和短划线(-),长度不超过64个字符。
    被调用方框架 被调用的应用所使用的框架,选择Dubbo
    被调用方 被调用的应用。
    添加所有接口规则
    注意 所有接口的通用规则仅支持添加一次。
    被调用方 默认为所有服务/所有接口,不可设置。
    鉴权方式 服务鉴权的方式,包含白名单(允许调用)黑名单(拒绝调用),请根据实际鉴权需求选择。
    调用方 需要鉴权的调用方应用,可以单击添加调用方设置多个需要鉴权的调用方应用。
    添加指定接口规则
    注意 指定接口添加的规则不是追加,而是覆盖针对所有接口的通用规则,请谨慎配置。
    被调用方接口 指定被调用应用的服务和接口。
    鉴权方式 服务鉴权的方式,包含白名单(允许调用)黑名单(拒绝调用),请根据实际鉴权需求选择。
    调用方 需要鉴权的调用方应用,可以单击添加调用方设置多个需要鉴权的调用方应用。
    默认状态 规则的启用开关。
    • 打开:创建后即启用,默认打开。
    • 关闭:创建后不启用,需要在服务鉴权页面规则的操作列单击开启规则

结果验证

服务鉴权规则配置完成且开启后,请根据实际业务验证服务鉴权规则是否生效。

后续步骤

服务鉴权规则创建完成后,您还可以编辑规则、根据规则的不同状态关闭规则开启规则。当不再需要服务鉴权时,删除规则。