OIDC(OpenID Connect)是一种身份认证与授权的协议,通常用于实现单点登录(SSO)。本文介绍如何在ASM安全策略中配置OIDC单点登录。
前提条件
- 已部署应用到ASM实例。
- 已部署入口网关服务并获取ASM网关地址。
- 已开启Sidecar自动注入。
- 已确保以下路径可以正常访问。
http://${网关地址}/productpage http://${网关地址}/api/v1/products/1 http://${网关地址}/static/jquery.min.js
- 已完成身份提供商IdP(Identity Provider)的配置。具体操作,请参见ASM集成阿里云IDaaS实现网格内应用单点登录的步骤一和步骤二。IdP配置完成后,您可以得到如下信息,用于下文步骤5的配置。
redirect uri:http://${网关地址}/oauth2/callback issuer:https://eiam-api-cn-hangzhou.aliyuncs.com/v2/idaas_tbn25osdlmz6gtqfq3j2pz****/app_ml5tzapsl7zmfo53wb3nwk****/oidc client id:app_ml5tzapsl7zmfo53wb3nwk**** client secret:CSCfHeZ1nyvfMWyKHtE8ZRdif7j89dv9CvmJLurtGC****
说明 本文以阿里云IDaaS的IdP为例。若您使用自建的OIDC服务,请参考ASM中集成Keycloak实现网格内应用单点登录实现网格内应用的单点登录。
操作步骤
- 登录ASM控制台,在左侧导航栏,选择 。
- 在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
- 在ASM安全策略页面,单击创建。
- 在创建ASM安全策略对话框,单击OIDC单点登录,然后单击确定。
- 在OIDC配置配置向导,进行相关配置,然后单击下一步。本示例配置如下。
配置项 说明 ASM安全策略名称 配置为test-oidc。 登录重定向地址 支持使用网关IP地址和使用自定义域名。本示例选择使用网关IP地址,然后选择http和ingressgateway。 callback地址 重定向地址。 Issuer OIDC颁发者的URL。 颁发者提供的客户端ID(ClientID) 颁发者提供的客户端ID。 颁发者提供的客户端密钥(ClientSecret) 颁发者提供的客户端密钥。 Cookie密钥 Secure Cookies的种子(支持Base64编码)。 Cookie过期时间 到达该时间后Cookie会过期。配置为0表示不会过期。 Cookie刷新时间 每间隔该时间刷新Cookie。配置为0表示关闭。 用户信息范围Scopes 指定获取的Scopes。指定的Scope必须被Issuer支持。 关于Scopes的更多信息,请参见ASM集成阿里云IDaaS实现网格内应用单点登录。
- 在工作负载和匹配规则配置向导,单击添加工作负载组。在新建工作负载组对话框,进行相关配置,单击确定,然后单击提交。本示例配置如下。
配置项 说明 工作负载组名称 配置为test-policy。 工作负载列表 默认选中上一步登录重定向地址配置的网关,且不支持修改。若您需要选择其他工作负载,请返回OIDC配置配置向导,修改登录重定向地址相关信息。 说明 若上一步OIDC配置配置向导中,登录重定向地址选择使用自定义域名,请参照以下步骤进行操作。- 在新建工作负载组对话框,单击添加工作负载,选择网关生效。
- 在选择负载区域,选中目标负载,单击
图标,将选中的负载添加到已选择区域,然后单击确定。
匹配规则列表 匹配模式有以下两种:本示例选择选中请求必须经过认证,匹配模式选中自定义匹配规则,单击添加匹配规则,进行如下配置。该配置表示对/static和/api开头的请求,必须经过OIDC认证。- 选中请求必须经过认证:只有登录成功,才能进行访问。
- 选中请求可跳过认证:无需登录即可访问成功。
- 规则1:打开HTTP路径(Path)开关,配置为/static/*。
- 规则2:打开HTTP路径(Path)开关,配置为/api/*。
创建成功后,在完成配置向导,会显示ASM安全策略创建成功。您可以单击查看YAML,查看创建的资源;也可以单击完成,返回ASM安全策略页面,查看新创建的安全策略。 - 验证OIDC单点登录配置是否生效。