本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
安全性
安全是一个关键要素。以下是部署应用程序时该 AWS CI/CD 过程要考虑的安全步骤列表。
-
来源 — 分配给供应商的 ECR 存储库配置为启用了 “推送时扫描” 标志,因此任何上传的 Docker 镜像都将立即接受安全扫描。任何已知的常见漏洞和漏洞 (CVE) 都将通过通知进行标记。除了 ECR 之外,当供应商将图表放入 AWS CodeCommit 存储库时,他们还会被要求对与 Secrets Manager 一起使用的任何密码进行加密,而不是使用纯文本进行加密。
-
构件完整性 — 管道中使用的工件无论是静态的(使用 AWS 托管密钥)还是传输的(使用 SSL/TLS)都经过加密。
用户和角色-向用户或资源提供的权限基于最低权限原则。如果您在不同服务中跨资源进行操作,则可能需要配置跨角色信任关系。例如, AWS CodeBuild 需要权限才能在 Amazon EKS 集群上运行命令。
-
审计 — 提供的审计功能可AWS CloudTrail
跟踪服务和用户操作中的每个 API 调用,并允许对过去的事件进行评估。 -
图像漏洞扫描 — 系统会自动扫描上传到 Amazon ECR 的 CNF 图像是否存在安全漏洞。中提供了扫描结果报告 AWS 管理控制台
,也可以通过 API 进行检索。然后,可以将发现的结果发送给CSP运营商以采取纠正措施,包括更换CNF图像。
在管道的各个阶段都会进行安全检查,以确保新上传的图像是安全的,并且符合所需的合规性检查,因此可以向其发送通知以 CSPs 供批准:
-
容器注册表会扫描所有已打开的 CVE 漏洞。
-
在测试阶段,将检查配置中是否存在信息泄露和已知的个人身份信息 (PII) 模式,从而触发针对意外开放 TCP/UDP 端口和 DOS 漏洞等问题的合规性检查规则。
已验证向后和向前兼容性, upgrade/rollback 以确保安全。
除了应用程序之外,还必须通过确保工件跨阶段(无论是静态还是传输中)的加密传输来提供管道安全性。