云原生基础架构实战课
潘野
前 eBay 云原生专家
1549 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 21 讲/共 22 讲
云原生基础架构实战课
15
15
1.0x
00:00/00:00
登录|注册

20|OPA:为 Kubernetes 生态系统构建安全堡垒

你好,我是潘野。
前面的课程里,我们着重讲解了云原生中的加密管理的方法与实现手段。
而在现代云原生生态系统中,Kubernetes 已成为容器编排的事实标准。但随着 Kubernetes 集群的规模和复杂性增加,其集群本身安全性管理也面临着越来越多的挑战。原来的安全策略已经逐渐跟不上新的形势,特别是在灵活性和细粒度控制方面。
今天我们将通过一个具体场景来探讨 Kubernetes 安全策略的不足,学习如何通过开放策略代理(OPA)弥补这些不足,并带你展望未来 Kubernetes 中条件表达式语言(CEL)的发展计划。

Kubernetes 安全性:从 PSP 到 OPA 的转变

我们先来看一个场景。
公司里运行着几个多租户 Kubernetes 集群,其中包括金融、零售、支付等等多个业务的应用程序,这些业务对安全性和数据隔离有着严格的要求。一般情况下,我们会将不同业务的程序放在不同的 namespace 中,配合 Kubernetes 的原生 Role-Based Access Control (RBAC) 来管理访问控制,但是这并不够用。
比如说,业务 A 在 deployment 中定义了使用 privilege 的权限,这个 deployment 启动之后的容器就有能力看到宿主机上的整个磁盘目录,这就增加了其他业务被攻击的风险。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

1. Kubernetes安全挑战:随着Kubernetes集群规模和复杂性的增加,传统安全策略已经跟不上新形势,特别是在灵活性和细粒度控制方面。 2. PSP的不足:Pod Security Policies (PSP)在实际使用中暴露出一些明显的不足,最大的不足是它只能控制pod,缺乏更细粒度的控制,不能基于单个用户或具体应用的差异化来配置安全策略。 3. OPA的优势:OPA相比PSP在支持细粒度控制、动态策略更新和审计追踪功能方面表现更好,允许用户编写非常细粒度和复杂的逻辑,支持动态策略加载和更新,以及定期审计和追踪功能。 4. Gatekeeper的配置和使用:Gatekeeper是专为强化Kubernetes安全性而设计的,通过实施自定义策略来控制和管理对Kubernetes API的访问,需要安装Gatekeeper并了解ConstraintTemplates和Constraints的概念。 5. OPA和Gatekeeper的实际应用:通过案例展示了如何使用OPA和Gatekeeper来实现细粒度的、声明式的策略,以确保集群状态符合组织的合规性和安全标准。 6. CEL的发展计划和前景:Kubernetes社区正在探索将CEL集成到不同的Kubernetes组件中,以提供更灵活的配置和策略决策能力,CEL可用于Admission Control、Custom Resource Definitions (CRDs)和API Gateway,预示着更灵活和强大的策略定义方式。 7. 总结:传统安全策略在应对现代多租户集群环境中存在局限性,OPA和Gatekeeper提供了更灵活、细粒度的安全策略定义方式,而CEL的引入预示着更灵活和强大的策略定义方式。 8. 思考题:Gatekeeper定义一个策略,规则是容器启动的时候禁止使用host network。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《云原生基础架构实战课》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)