Google释出Kubernetes引擎二进位授权强制映像档经完整CI/CD才能部署

社会动态2021-02-27 18:04:46
最佳答案

为了强化Kubernetes引擎的安全性,Google引入了二进位授权,让使用者可以确保只有受信任的工作负载才可以部署到Kubernetes引擎中。二进位授权是一个整合到Kubernetes引擎部署API的安全性功能,提供使用者策略性的控制手段,让只有或完整签章或是授权的映像档在环境中运作。

Google提到,基于身分的部署控制仰赖人类的操作知识与信任,在容器微服务爆发的现在,特别是在企业自动化建置与发布的基础架构,数十个团队每天部署数百次的规模下,已经不敷使用。容器化的工作负载一般来说并不鼓励直接修改正在运作的软体,应该使用持续整合和持续部署(CI/CD),把改变应用到整个容器中,而这允许使用者定义精简的测试与验证,确保只部署受信任的程式码。

但即使是这种基于身分的部署控制,内部人员仍可能绕过CI/CD的控制,恶意或是不小心部署了不受信任的程式码,例如开发者可能意外地部署测试用程式到生产环境中,或是想要偷懒的员工,可能会绕过测试或整合验证程序,另外,也很有可能恶意的在软体建置过程中植入了挖矿程式。而Google新释出的这个二进位授权可以填补以上的安全漏洞。

二进位授权是Google内部用来保护生产部署的技术,已经使用了将近十年。二进位授权仅运行受信任的程式码来建立预防性安全状态,从程式码开发到生产,採用单一结构化路径简化治理,并使用开源软体来维持CI/CD工具的可插拔性与互通性。

透过将企业部署要求整合到CI/CD各阶段,映像档通过这些阶段时便会取得该阶段签章,当映像档取得所有阶段的签章则获得部署授权,否则二进位授权会阻挡不符合标準的映像档。在Kubernetes引擎中,是使用ImagePolicy授权控制器来实做,并以容器分析API(Container Analysis API)来验证这些映像档上的签章。二进位授权也与Cloud Audit Logging整合,纪录Pod失败创建供日后调阅。

除了基于签章的验证外,二进位授权也支援使用名称模式的白名单映像档,使用者可以透过路径指定特定的程式码储存库,或是一系列允许部署的映像档。Google认为,这是另一个好选择,企业不只可以快速开始限制生产部署,还能控制那些未遵循内部工作流程的第三方映像档。

二进位授权使用标準加密PGP签章,而这将允许使用者轻易的整合CI/CD工具链,包括建置、测试与漏洞搜寻等各阶段。当然,除了使用者可以客製化整合外,二进位授权也提供了开箱即用的服务,用户可以直接使用Google或是合作伙伴开发的CI/CD和安全工具。

Google提到,使用者也可以自行实作二进位授权,只要使用开源专案Grafeas自订策略,并根据要求允许或是阻止Pod的创建。作为二进位授权测试版发布的一部分,Google更新了开源政策引擎Kritis,Kritis能使用授权控制器在任何Kubernetes部署中,强制遵循Pod创建政策。而Kritis与开源元资料伺服器Grafeas整合,就可以在Google Kubernetes引擎部署中,使用容器注册表容器分析API和二进位授权,如此一来,使用者可以在自家机房中,使用开源软体建立一致的控制流程。

免责声明:本文由用户上传,如有侵权请联系删除!