西雅图-库伯内特社区的基本组织单位是特殊兴趣小组,它们帮助定义和实现新的特性和功能。出于安全原因,Kubernetes中的一个主要SIG是SIG-Auth。
Kubernetes是一个广泛使用的容器编排平台,它受到所有主要公共云提供商的支持,并且也部署在本地。在KubeCon CloudNativeCon NA 2018会议上,SIG-Auth的领导概述了该小组的工作方法以及Kubernetes项目当前和未来的优先事项。“SIG-Auth负责Kubernetes的设计和维护,主要是在控制平面内部,必须处理授权和安全策略,”谷歌软件工程师迈克丹内塞(Mike Danese)在会议期间表示。
Danese说SIG-Auth有多个子项目,这些子项目在集团的GitHub资源库中都有详细介绍。这些子项目包括审计、静态加密、认证器、节点身份/隔离、策略、证书和服务帐户。2018年SIG-Auth在2018年的过程中,SIG-Auth一直在积极帮助Kubernetes获取各种安全授权功能。增加的功能包括更好的节点隔离、特定标签的保护和自删除。
谷歌的软件工程师乔丹利吉特(Jordan Liggitt)说,“节点是集群中非常大的攻击载体,因此它们可以阻止节点改变重要的污点和容差。”Liggitt还表示,去年,Kubernetes增加了更好的审计功能,包括为审计事件添加授权和准入注释,这些功能包含在Kubernetes 1.12的1.12版本中。在12月3日广泛发布的Kubernetes 1.13的最近版本中,etcd的加密功能变得稳定。Etcd是Kubernetes的核心分布式键值存储。
“我们非常努力地让加密最终稳定下来;难以置信,”利吉特说。服务账号令牌也在2018年通过测试版进入Kubernetes。“如果你关心安全性,服务帐户是最好的,”Liggitt说。一般来说,服务帐户的令牌存储在一个秘密中,因此如果您可以读取该秘密,您就可以成为服务帐户
Kubernetes上下文中的秘密是使用服务所需的任何类型的密码、令牌或访问授权证书。基于角色的访问控制(RBAC)附加到服务帐户,以进一步验证帐户。2019年来的,Kubernetes的改进就是完善政策。“策略是一个模糊的定义,但通常当我们谈论策略时,我们指的是准入控制器和通过准入实现的内容,”谷歌软件工程师蒂姆奥尔克莱尔说。"我们倾向于分别讨论授权和RBAC ."
Allclair表示,2018年,Kubernetes引入了动态访问控制器的概念,他预测2019年将出现一个不同的访问控制器生态系统,以促进更好的政策和执法。对于常见的用例,他说组织可能不想处理编写详细的配置。SIG-Auth正在开发的一个用例是基于时间的准入调度策略。此外,Allclair指出,SIG-Auth已就形象战略进行了对话。“所以要限制你可以使用的存储库和图片的种类,”他说。
2019年SIG-Auth待办事项列表上的另一项重要内容是稳定Pod安全策略的功能。根据Kubernetes项目文档,pod安全策略是控制Pod规范的安全敏感方面的集群级资源。从Kubernetes的1.13版本开始,Pod安全策略仍然被标记为测试功能,还没有被认为是稳定的或普遍可用的。“这是一个重要的领域,所以我们将考虑[吊舱安全政策]的前进方向,”Allclair说。
展望未来,Allclair希望看到更多的人参与SIG-Auth,尽管他警告说,所涉及的项目往往有一些非常复杂的细微差别。他补充说,与其他Kubernetes SIG相比,新的贡献者最初可能会在审查过程中遇到更多阻力。“我们正在处理可能产生非常严重影响的安全问题,”Allclair说。