在ASM安全策略中配置OIDC单点登录

OIDC(OpenID Connect)是基于OAuth 2.0协议实现的一种身份认证与授权协议,主要用于实现单点登录(SSO)。通过在ASM安全策略中配置OIDC单点登录,您可以借助阿里云IDaaS或其他符合OIDC标准的身份提供者,无需修改应用本身,即可实现一次登录、多次访问。不仅增强了应用的安全性,还简化了应用系统的开发和管理。

前提条件

操作步骤

本文以阿里云IDaaS的IdP为例。若您使用自建的OIDC服务,请参考ASM中集成Keycloak实现网格内应用单点登录实现网格内应用的单点登录。

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择网格安全中心 > ASM安全策略

  3. ASM安全策略页面,单击创建

  4. 创建ASM安全策略对话框,单击OIDC单点登录,然后单击确定

  5. OIDC配置配置向导,进行相关配置,然后单击下一步

    本示例配置如下。

    配置项

    说明

    ASM安全策略名称

    配置为test-oidc

    登录重定向地址

    支持使用网关IP地址使用自定义域名。本示例选择使用网关IP地址,然后选择httpingressgateway

    callback地址

    重定向地址。

    OIDC颁发者URL

    用于标识和验证OpenID Connect提供者的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开头的请求,只有登录成功,才能进行访问。

相关文档