AWS CodePipeline 中的数据保护 - AWS CodePipeline

AWS CodePipeline 中的数据保护

AWS 责任共担模式适用于 AWS CodePipeline 中的数据保护。如该模式中所述,AWS 负责保护运行所有 AWS Cloud 的全球基础架构。您负责维护对托管在此基础结构上的内容的控制。您还负责您所使用的 AWS 服务 的安全配置和管理任务。有关数据隐私的更多信息,请参阅数据隐私常见问题有关欧洲数据保护的信息,请参阅 AWS Security Blog 上的 AWS Shared Responsibility Model and GDPR 博客文章。

出于数据保护目的,建议您保护 AWS 账户 凭证并使用 AWS IAM Identity Center 或 AWS Identity and Access Management(IAM)设置单个用户。这样,每个用户只获得履行其工作职责所需的权限。还建议您通过以下方式保护数据:

  • 对每个账户使用多重身份验证(MFA)。

  • 使用 SSL/TLS 与 AWS 资源进行通信。我们要求使用 TLS 1.2,建议使用 TLS 1.3。

  • 使用 AWS CloudTrail 设置 API 和用户活动日记账记录。有关使用 CloudTrail 跟踪来捕获 AWS 活动的信息,请参阅《AWS CloudTrail 用户指南》中的使用 CloudTrail 跟踪

  • 使用 AWS 加密解决方案以及 AWS 服务中的所有默认安全控制。

  • 使用高级托管安全服务(例如 Amazon Macie),它有助于发现和保护存储在 Amazon S3 中的敏感数据。

  • 如果在通过命令行界面或 API 访问 AWS 时需要经过 FIPS 140-3 验证的加密模块,请使用 FIPS 端点。有关可用的 FIPS 端点的更多信息,请参阅《美国联邦信息处理标准(FIPS)第 140-3 版》

强烈建议您切勿将机密信息或敏感信息(如您客户的电子邮件地址)放入标签或自由格式文本字段(如名称字段)。这包括使用控制台、API、AWS CLI 或 AWS SDK 操作 CodePipeline 或其他 AWS 服务 时。在用于名称的标签或自由格式文本字段中输入的任何数据都可能会用于计费或诊断日志。如果您向外部服务器提供网址,强烈建议您不要在网址中包含凭证信息来验证对该服务器的请求。

下面的安全最佳实践也涉及 CodePipeline 中的数据保护:

互联网络流量隐私

Amazon VPC 是一项 AWS 服务,可用于在您定义的虚拟网络(虚拟私有云)中启动 AWS 资源。CodePipeline 支持基于 AWS PrivateLink 的 Amazon VPC 端点,后者是一种 AWS 技术,可将弹性网络接口与私有 IP 地址结合使用,以方便 AWS 服务 之间的私有通信。这意味着您可以通过自己 VPC 中的私有端点直接连接到 CodePipeline,从而使所有流量都留在 VPC 和 AWS 网络内。以前,在 VPC 内运行的应用程序需要 Internet 访问权限才能连接到 CodePipeline。利用 VPC,您可以控制网络设置,例如:

  • IP 地址范围

  • 子网

  • 路由表

  • 网络网关。

要将您的 VPC 连接到 CodePipeline,应为 CodePipeline 定义一个接口 VPC 端点。这类端点使您能够将自己的 VPC 连接到 AWS 服务。该端点可以提供可靠、可扩展的 CodePipeline 连接,无需互联网网关、网络地址转换 (NAT) 实例或 VPN 连接。有关设置 VPC 的信息,请参阅 VPC 用户指南

静态加密

CodePipeline 中的数据使用 AWS KMS keys 进行静态加密。代码构件存储在客户拥有的 S3 桶中,并使用 AWS 托管式密钥或客户管理的密钥进行加密。有关更多信息,请参阅 为 Amazon S3 中存储的 CodePipeline 构件配置服务器端加密

传输中加密

所有服务到服务的通信全部使用 SSL/TLS 进行传输加密。

加密密钥管理

如果您选择默认选项来加密代码构件,则 CodePipeline 将使用 AWS 托管式密钥。您无法更改或删除此 AWS 托管式密钥。如果您使用 AWS KMS 中客户管理的密钥来加密或解密 S3 桶中的构件,则可以根据需要更改或轮换该客户管理的密钥。

重要

CodePipeline 仅支持对称 KMS 密钥。请勿使用非对称 KMS 密钥对 S3 桶中的数据进行加密。

主题