Kubernetes环境下部署的应用SAML集成是否有推荐指导文档?
Kubernetes上层非集群感知业务应用SAML集成参考方案
你搜索到的Kubernetes相关SAML文档几乎都针对集群管控面的身份认证(比如APIServer的SAML登录对接),和部署在集群内的上层业务应用的SAML集成是完全独立的场景,这类不感知Kubernetes RBAC能力的普通业务应用,SAML集成逻辑和部署在虚拟机/物理机上的同类型应用没有本质区别,Kubernetes仅负责应用运行时调度,不干涉应用本身的认证流程。
两类通用落地方案
- 自研适配方案(可二次开发的应用)
直接按照SAML 2.0标准协议对接你的IdP即可,无需适配任何Kubernetes原生能力,对接需要的核心配置(IdP元数据地址、SP Entity ID、断言消费服务地址、签名证书等)可以通过Kubernetes原生的ConfigMap(非敏感配置)或Secret(敏感配置)挂载到应用Pod内使用。 - 无侵入代理方案(无法改代码的应用)
可以通过Sidecar代理或者Ingress层统一完成SAML认证,无需修改业务应用代码:- Sidecar模式:在业务应用的Pod中注入SAML认证代理容器,所有外部访问流量先经过代理完成SAML认证校验后再转发到业务容器,认证通过后的用户身份信息可以通过自定义HTTP头传递给业务应用,适配原有身份逻辑,常用代理实现包括oauth2-proxy、mod_auth_mellon等,代理的所有配置同样通过
ConfigMap/Secret管理即可。 - Ingress层统一认证:如果有多个应用需要统一做SAML集成,可以直接在Ingress控制器层面开启SAML认证能力,所有进入集群的业务流量先在Ingress层完成认证再转发到对应后端应用,无需每个应用单独做适配。
- Sidecar模式:在业务应用的Pod中注入SAML认证代理容器,所有外部访问流量先经过代理完成SAML认证校验后再转发到业务容器,认证通过后的用户身份信息可以通过自定义HTTP头传递给业务应用,适配原有身份逻辑,常用代理实现包括oauth2-proxy、mod_auth_mellon等,代理的所有配置同样通过
提醒:不要参考Kubernetes集群自身的SAML配置文档,该类文档的适用场景是集群管理员身份认证,和上层业务应用的SAML集成没有关联。
内容的提问来源于stack exchange,提问作者user353829
相关产品推荐
相关产品推荐

