为Kubernetes中任意应用添加基于oauth2的认证保护 (上)

简介: 企业随着业务的发展,必然会部署各种各样的IT系统。出于安全性的考虑,一些系统仅可企业内部使用,甚至仅开放给企业部分部门员工使用。 这些IT系统大致可分为两类, 系统本身不支持任何认证机制,例如资讯或文档类系统。

企业随着业务的发展,必然会部署各种各样的IT系统。出于安全性的考虑,一些系统仅可企业内部使用,甚至仅开放给企业部分部门员工使用。

这些IT系统大致可分为两类,

  1. 系统本身不支持任何认证机制,例如资讯或文档类系统。需要增加认证保护,能够限制非企业员工访问即可。系统运维通常的做法是,为站点设置HTTP Basic认证保护。由于HTTP Basic认证是通过预设的用户、密码认证,认证信息比较容易泄露。即使定期更换密码,但需要额外的机制通知用户密码的变更,用户体验也不好。
  2. 系统自身支持认证,甚至支持多种认证机制。比如最常用的开源CI/CD工具,Jenkins内置支持本地数据库认证、通过插件支持多种第三方系统集成认证。如果大量的IT系统都有一套独立的用户管理,随着企业的员工的变更,用户的增删等操作对系统管理员来说是不小的工作量。同时,也很容易由于人为疏忽,造成资产、数据的安全隐患。

假设企业自身已经有了一套OA系统包含员工、组织结构管理,例如,国内目前最为普及流行的钉钉企业微信。我们完全可以提供一套基于oauth 2.0协议的认证方式,让以上两类IT系统使用企业已有的OA系统(钉钉企业微信)来实现登录认证。做到这一点后,企业无论有多少IT系统都不再需要额外管理用户的成本,并且也避免了数据安全隐患。

钉钉通过钉钉开放平台提供的API开放了许多钉钉内部的能力,例如,身份验证通讯录管理等等。然而钉钉的三方网站登录接口并不是标准的oauth 2.0协议实现,我们需要通过一个oauth2 proxy代理工具实现将钉钉的三方网站登录兼容oauth2协议。同理,使用这个oauth2代理工具,可以使用GoogleFacebook等三方网站作为统一认证方式。

有了基于钉钉的oauth2代理作为企业统一登录方式,对于上面两大类系统的认证需求解决方案分别如下,

  1. 部署在Kubernetes中无内置认证机制的Web应用,通过nginx-ingress外部OAUTH认证实现基于oauth2的安全认证。
  2. Jenkins可以通过反向代理插件实现使用oauth2认证登录。

下篇中,我们将图文详解如何一步步实现为一个无认证的企业文档Web应用添加基于钉钉的统一认证

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
21天前
|
Kubernetes 网络协议 网络安全
提升你的云技能:深入了解CKA认证之k8s升级秘籍!
提升你的云技能:深入了解CKA认证之k8s升级秘籍!
18 0
|
2月前
|
存储 运维 Kubernetes
批处理及有状态等应用类型在 K8S 上应该如何配置?
批处理及有状态等应用类型在 K8S 上应该如何配置?
|
2月前
|
Kubernetes 应用服务中间件 nginx
百度搜索:蓝易云【使用Kubernetes部署Nginx应用教程】
现在,你已经成功在Kubernetes集群上部署了Nginx应用。通过访问Service的外部IP地址,你可以访问Nginx服务。
42 4
|
3月前
|
Kubernetes 负载均衡 Linux
Kubernetes的应用
Kubernetes的应用
34 0
|
3月前
|
存储 Kubernetes 监控
Kubernetes快速进阶与实战:构建可靠的容器化应用平台
Kubernetes快速进阶与实战:构建可靠的容器化应用平台
93 0
|
9天前
|
Kubernetes 监控 Cloud Native
构建高效云原生应用:基于Kubernetes的微服务治理实践
【4月更文挑战第13天】 在当今数字化转型的浪潮中,企业纷纷将目光投向了云原生技术以支持其业务敏捷性和可扩展性。本文深入探讨了利用Kubernetes作为容器编排平台,实现微服务架构的有效治理,旨在为开发者和运维团队提供一套优化策略,以确保云原生应用的高性能和稳定性。通过分析微服务设计原则、Kubernetes的核心组件以及实际案例,本文揭示了在多变的业务需求下,如何确保系统的高可用性、弹性和安全性。
13 4
|
10天前
|
JSON Kubernetes Go
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
21 0
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
|
21天前
|
消息中间件 Kubernetes Kafka
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
15 0
|
1月前
|
边缘计算 Kubernetes 负载均衡
容器编排技术在云计算中的应用
随着云计算技术的飞速发展,容器编排技术作为一种重要的部署和管理工具,正在逐渐成为云计算领域的热门话题。本文将介绍容器编排技术在云计算中的应用,探讨其在提高应用程序部署效率、资源利用率以及系统可靠性方面的优势,并分析其未来发展趋势。
|
1月前
|
人工智能 自然语言处理 Kubernetes
LLM 技术图谱(LLM Tech Map)& Kubernetes (K8s) 与AIGC的结合应用
LLM 技术图谱(LLM Tech Map)& Kubernetes (K8s) 与AIGC的结合应用
68 0