在当今快节奏的商业环境下,开发人员被要求更快地构建和部署应用程序以跟上业务需求,同时云原生理念也被普遍接受,基于云原生的无服务器架构因此日渐受到青睐。但是像其他解决方案一样,无服务器架构也带来了各种各样的安全风险,成为一场全新的安全博弈。
CSA发布《如何设计安全的无服务器架构》,报告全面概括了无服务器平台的不同威胁,重点关注无服务器平台面临的应用程序所有者风险,聚焦于最佳实践和建议,并提供了适当的安全控制建议。其提出的基于无服务器的安全计算执行模型,对指导应用程序所有者如何采用无服务器架构具有极好的参考价值。
1. 什么是无服务器
无服务器是一种云计算运行模型。在该模型中,云提供者负责为应用程序所有者的工作负载分配所需的计算和基础设施资源。应用程序所有者在任何时间都不再需要确定和控制分配多少计算资源服务于工作负载。无服务模型可以凭借大量的计算资源为工作负载提供按需服务。无服务器计算基于“即用即付”范式提出,在这种范式下,支付通常和实际的物理资源(如CPU)使用量有关。
与传统的基于云的或以服务器为中心的基础设施相比,无服务器计算有几个优势:
无服务器进一步将工作负载置入云上,同时更多地将过去由开发人员拥有和控制的功能转移到云服务提供者手中。例如,在以前的传统代码中作为函数调用实现并可能成为微服务中的Rest API,转变成了由云服务提供者提交、排队、处理的事件。
无服务器 — 一场全新的安全博弈
2. 无服务器安全威胁模型
无服务器服务涉及两种角色:
云服务遵循云服务提供者和云服务客户之间的共享责任模型——对于无服务器也是如此。在共享的责任模型中,云服务提供者负责云的安全(保护服务器和操作系统),应用程序所有者则通过安全控制措施负责云内的安全,每一方都完全控制他们所拥有的那些资产、过程和功能。和传统安全威胁模型以及非无服务器的微服务环境中的云威胁模型相比,无服务器安全威胁模型有显著变化。使用无服务器时对应用程序拥有者的特有威胁可以分为以下几类:
3. 无服务器安全建议
由于无服务器架构依然是个挑战,使用无服务器的应用程序拥有者需要评估不断进化的威胁形势,并重新考虑所需的恰当安全策略:
4.总结
正如我们所见,无服务器架构仍然处于起步阶段,但其带来的诸多益处与挑战已经引起相当程度的关注。随着无服务器架构的发展,实践和架构模式将不断增长,技术人员有必要持续关注相关技术的发展,更好地开发、部署、监控、交付性能与安全性更佳的应用程序。
致谢
本白皮书 《如何设计安全的无服务器架构》(How to Design a Secure Serverless Architecture)由CSA的专家编写,CSA大中华区秘书处组织翻译并审校。
中文版翻译专家组(排名不分先后)
组长:何国锋
翻译组:陈皓、高亚楠、胡向亮、蒋蓉生、李帅宇、李腾飞、李岩、刘芳、茆正华、吴贺、夏永涛、谢佳、徐文想、徐帅健妮、杨文宏、岳婧、张明敏、周溥璇、左奕航
审校组:何国锋、解佳、姚凯、郭鹏程
感谢以下单位对本文档的支持与贡献:
启明星辰、山石网科、北森云、云山雾隐、白山云、安几科技、派拉软件、浙江大华、中孚信息、 中国电信研究院 、工商银行
特别鸣谢
本文作者:徐帅健妮
博士,中国电信研究院安全技术研究所研究员,主要研究方向为供应链安全、容器镜像安全、云原生安全和密码学等。
指导:何国锋
博士,教授级高级工程师,CSA大中华区SASE工作组联席组长,中国电信研究院安全技术研究所所长