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

背景信息

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

  • 未配置服务鉴权

    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。

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

    已配置服务鉴权

视频教程

创建服务鉴权规则

  1. 登录MSE治理中心控制台
  2. 在左侧导航栏选择微服务治理中心 > 服务鉴权
  3. 服务鉴权页面单击创建规则
  4. 创建规则页面设置服务鉴权参数,然后单击确定
    创建规则-Spring Cloud

    服务鉴权规则参数说明:

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

结果验证

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

相关操作

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