

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 中的数据保护 AWS CodePipeline
<a name="data-protection"></a>

分 AWS [担责任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)适用于中的数据保护。如本模型所述 AWS ，负责保护运行所有内容的全球基础架构 AWS Cloud。您负责维护对托管在此基础结构上的内容的控制。您还负责您所使用的 AWS 服务 的安全配置和管理任务。有关数据隐私的更多信息，请参阅[数据隐私常见问题](https://aws.amazon.com/compliance/data-privacy-faq/)。有关欧洲数据保护的信息，请参阅 *AWS Security Blog* 上的 [AWS Shared Responsibility Model and GDPR](https://aws.amazon.com/blogs/security/the-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。
+ 使用设置 API 和用户活动日志 AWS CloudTrail。有关使用 CloudTrail 跟踪捕获 AWS 活动的信息，请参阅《*AWS CloudTrail 用户指南》*中的[使用跟 CloudTrail 踪](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)。
+ 使用 AWS 加密解决方案以及其中的所有默认安全控件 AWS 服务。
+ 使用高级托管安全服务（例如 Amazon Macie），它有助于发现和保护存储在 Amazon S3 中的敏感数据。
+ 如果您在 AWS 通过命令行界面或 API 进行访问时需要经过 FIPS 140-3 验证的加密模块，请使用 FIPS 端点。有关可用的 FIPS 端点的更多信息，请参阅《美国联邦信息处理标准（FIPS）第 140-3 版》[https://aws.amazon.com/compliance/fips/](https://aws.amazon.com/compliance/fips/)。

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

下面的安全最佳实践也探讨 CodePipeline 中的数据保护：
+ [为存储在 Amazon S3 中的项目配置服务器端加密 CodePipeline](S3-artifact-encryption.md)
+ [AWS Secrets Manager 用于跟踪数据库密码或第三方 API 密钥](parameter-store-encryption.md)

## 互联网络流量隐私
<a name="inter-network-traffic-privacy"></a>

 Amazon VPC 可用于在您定义的虚拟网络（*虚拟私有云*）中启动 AWS 资源。 AWS 服务 CodePipeline支持由 AWS PrivateLink提供支持的 Amazon VPC 终端节点，该 AWS 技术可促进 AWS 服务 使用弹性网络接口与私有 IP 地址之间的私密通信。这意味着您可以 CodePipeline 通过 VPC 中的私有终端节点直接连接，从而将所有流量保留在您的 VPC 和 AWS 网络内。以前，在 VPC 内运行的应用程序需要 Internet 访问权限才能连接到 CodePipeline。利用 VPC，您可以控制网络设置，例如：
+ IP 地址范围
+ 子网
+ 路由表
+ 网络网关。

要将您的 VPC 连接到 CodePipeline，您需要为定义接口 VPC 终端节点 CodePipeline。这类端点使您能够将自己的 VPC 连接到 AWS 服务。该端点 CodePipeline 无需互联网网关、网络地址转换 (NAT) 实例或 VPN 连接即可提供可靠、可扩展的连接。有关设置 VPC 的信息，请参阅 [VPC 用户指南](https://docs.aws.amazon.com/vpc/latest/userguide/)。

## 静态加密
<a name="encryption-at-rest"></a>

中的 CodePipeline 数据使用进行静态加密 AWS KMS keys。代码项目存储在客户拥有的 S3 存储桶中，并使用 AWS 托管式密钥 或客户托管密钥进行加密。有关更多信息，请参阅 [为存储在 Amazon S3 中的项目配置服务器端加密 CodePipeline](S3-artifact-encryption.md)。

## 传输中加密
<a name="encryption-in-transit"></a>

所有 service-to-service通信在传输过程中均使用 SSL/TLS 进行加密。

## 加密密钥管理
<a name="key-management"></a>

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

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

**Topics**