本文介绍如何为云原生网关配置JWT认证鉴权。

前提条件

  • 了解JWT基本标准,请参见JWT简介
  • 了解云原生网关支持的集成方式:自主颁发Token(安全性有保障)和网关配置公钥对请求验签。
  • 准备用于生成与验证Token的私钥与公钥,私钥用于授权服务的签发JWT,公钥配置在云原生网关中,用于对请求验签。

背景信息

云原生网关致力于提供给云上用户体系化的安全解决方案,其中JWT认证能力是在Json Web Token这种结构化令牌的基础上实现了一套基于用户体系对用户的API(服务)进行授权访问的机制,满足用户个性化安全设置的需求。

基于Token的认证

云原生网关对外开放的API需要识别请求者的身份,并据此判断所请求的资源是否可以返回给请求者。Token就是一种用于身份验证的机制,基于这种机制,应用不需要在服务端保留用户的认证信息或者会话信息,可实现无状态、分布式的Web应用授权,为应用的扩展提供了便利。

支持的接入集成方式

支持接入的继承方式

创建鉴权

  1. 登录MSE网关管理控制台
  2. 在左侧导航栏选择云原生网关 > 网关列表
  3. 在顶部菜单栏选择地域。
  4. 网关列表页面,单击目标网关名称或操作列下的管理
  5. 网关详情页面左侧导航栏选择安全能力 > 认证鉴权
  6. 认证鉴权页面左上角单击创建鉴权
  7. 创建鉴权面板中配置网关鉴权相关参数,然后单击确定
    创建网关鉴权

    云原生网关认证鉴权参数说明如下。

    参数 描述
    名称 自定义云原生网关鉴权的名称。
    类型 默认支持JWT认证方式。
    lssuer 设置JWT Claims的Issuer,即签发人。
    JWKS 设置JWT公钥,参考格式如下:
    {
        "keys":[
             {
            "e":"AQAB",
            "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ",
            "kty":"RSA",
            "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-
    P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2
    He95lZdHtOcU5DXIg_pbhLdKXbi66Gl
    VeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-
    4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSG
    ZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZ
    PYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3D
    RrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"
              }
           ]
    }
    JWT Token配置 设置JWT Token配置信息。
    • 类型:Token参数类型,默认Header。
    • Key:Token参数名称。
    • 前缀:Token参数名的前缀。设置需要校验的Token参数信息,默认是以Bearer为前缀放在Authorization Header中,例如:Authorization: Bearer token
    • 是否透传:选中Token参数透传,表示透传此Token参数到后端服务。
    授权 授权模式支持白名单模式黑名单模式
    • 白名单模式:白名单中的hosts+paths不需要校验即可访问,其余都需要校验。
    • 黑名单模式:黑名单中的hosts+paths需要校验,其余可直接访问。
    单击添加新的规则条件,设置请求域名和路径。
    • 请求域名:请求访问的域名,即hosts。
    • 请求path:请求访问的接口Path,即paths。

查看鉴权详情

  1. 登录MSE网关管理控制台
  2. 在左侧导航栏选择云原生网关 > 网关列表
  3. 在顶部菜单栏选择地域。
  4. 网关列表页面,单击目标网关名称或操作列下的管理
  5. 网关详情页面左侧导航栏选择安全能力 > 认证鉴权
  6. 认证鉴权页面单击鉴权规则名称或操作列的详情,可查看当前认证配置授权信息的管理。
    授权规则详情

    您可在授权信息区域单击新增信息,在新增信息对话框中输入域名path,新增授权规则。

结果验证

返回认证鉴权页面查看鉴权信息,如果已包含新建的网关鉴权信息,则说明网关认证鉴权新建成功。

相关操作

您还可以执行以下其他操作,管理网关的认证鉴权:

  • 开启鉴权:在认证鉴权页面,单击目标鉴权规则操作列的开启,使认证鉴权信息生效。
  • 关闭鉴权:在认证鉴权页面,单击目标鉴权规则操作列的关闭,关闭网关认证鉴权信息。
  • 编辑鉴权:在认证鉴权页面,单击目标鉴权规则操作列的编辑,可编辑网关认证鉴权信息。
  • 删除鉴权:在认证鉴权页面,单击目标鉴权规则操作列的删除,可删除网关认证鉴权信息
注意 只有在认证鉴权信息关闭的状态下才可执行编辑和删除操作。