OIDC(OpenID Connect)是一种身份认证与授权的协议,通常用于实现单点登录(SSO)。本文介绍如何在ASM安全策略中配置OIDC单点登录。

前提条件

操作步骤

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理
  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择网格安全中心 > ASM安全策略
  3. ASM安全策略页面,单击创建
  4. 创建ASM安全策略对话框,单击OIDC单点登录,然后单击确定
  5. OIDC配置配置向导,进行相关配置,然后单击下一步
    本示例配置如下。
    配置项说明
    ASM安全策略名称配置为test-oidc
    登录重定向地址支持使用网关IP地址使用自定义域名。本示例选择使用网关IP地址,然后选择httpingressgateway
    callback地址重定向地址。
    IssuerOIDC颁发者的URL。
    颁发者提供的客户端ID(ClientID)颁发者提供的客户端ID。
    颁发者提供的客户端密钥(ClientSecret)颁发者提供的客户端密钥。
    Cookie密钥Secure Cookies的种子(支持Base64编码)。
    Cookie过期时间到达该时间后Cookie会过期。配置为0表示不会过期。
    Cookie刷新时间每间隔该时间刷新Cookie。配置为0表示关闭。
    用户信息范围Scopes指定获取的Scopes。指定的Scope必须被Issuer支持。

    关于Scopes的更多信息,请参见ASM集成阿里云IDaaS实现网格内应用单点登录

    OIDC配置
  6. 工作负载和匹配规则配置向导,单击添加工作负载组。在新建工作负载组对话框,进行相关配置,单击确定,然后单击提交
    本示例配置如下。
    配置项说明
    工作负载组名称配置为test-policy
    工作负载列表默认选中上一步登录重定向地址配置的网关,且不支持修改。若您需要选择其他工作负载,请返回OIDC配置配置向导,修改登录重定向地址相关信息。
    说明 若上一步OIDC配置配置向导中,登录重定向地址选择使用自定义域名,请参照以下步骤进行操作。
    1. 新建工作负载组对话框,单击添加工作负载,选择网关生效
    2. 选择负载区域,选中目标负载,单击添加图标,将选中的负载添加到已选择区域,然后单击确定
    匹配规则列表
    匹配模式有以下两种:
    • 选中请求必须经过认证:只有登录成功,才能进行访问。
    • 选中请求可跳过认证:无需登录即可访问成功。
    本示例选择选中请求必须经过认证匹配模式选中自定义匹配规则,单击添加匹配规则,进行如下配置。该配置表示对/static/api开头的请求,必须经过OIDC认证。
    • 规则1:打开HTTP路径(Path)开关,配置为/static/*
    • 规则2:打开HTTP路径(Path)开关,配置为/api/*
    新建工作负载组
    创建成功后,在完成配置向导,会显示ASM安全策略创建成功。您可以单击查看YAML,查看创建的资源;也可以单击完成,返回ASM安全策略页面,查看新创建的安全策略。
  7. 验证OIDC单点登录配置是否生效。
    1. 在浏览器中,依次访问以下网址。
      http://${网关地址}/productpage
      http://${网关地址}/api/v1/products/1
      http://${网关地址}/static/jquery.min.js

      访问结果如下,表明OIDC单点登录配置生效。

      • /productpage开头的请求,无需登录即可访问成功。以productpage开头
      • /api/static开头的请求,只有登录成功,才能进行访问。以/api/开头的请求的访问结果
    2. 修改OIDC单点登录配置。
      1. ASM安全策略页面的操作列,单击目标OIDC安全策略对应的编辑
      2. OIDC配置配置向导,单击下一步
      3. 工作负载和匹配规则配置向导的操作列,单击目标工作负载组对应的编辑,修改相关配置,单击确定,然后单击提交。

        本示例配置如下。

        配置项说明
        匹配模式选择选中请求可跳过认证
        匹配规则单击添加匹配规则,配置如下规则。该配置表示对/productpage/static开头的请求,无需经过OIDC认证,即可访问成功。
        • 规则1:打开HTTP路径(Path)开关,配置为/productpage
        • 规则2:打开HTTP路径(Path)开关,配置为/static/*
    3. 重新在浏览器打开一个无痕页面,依次访问以下网址,验证修改后的OIDC单点登录配置是否生效。
      http://${网关地址}/productpage
      http://${网关地址}/api/v1/products/1
      http://${网关地址}/static/jquery.min.js
      访问结果如下,表明修改后的OIDC单点登录配置生效。
      • /productpage/static开头的请求,无需登录即可访问成功。
      • /api开头的请求,只有登录成功,才能进行访问。