

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

# 保护数据的安全控制措施建议
<a name="data-controls"></a>

Wel AWS l-Architected Framework 将保护数据的最佳做法分为三类：数据分类、保护静态数据和保护传输中的数据。本节中的安全控制措施可以帮助您实施数据保护的最佳实践。在云架构任何工作负载之前，应先落实这些基础最佳实践。它们可以防止数据处理不当，并帮助您履行组织、监管与合规义务。使用本节中的安全控制措施以实施数据保护的最佳实践。

**Topics**
+ [在工作负载级别识别并分类数据](#data-classification)
+ [建立每个数据分类级别的控制措施](#data-controls-classification-level)
+ [加密静态数据](#encrypt-data-at-rest)
+ [加密传输中数据](#encrypt-data-in-transit)
+ [阻止对 Amazon EBS 快照的公开访问](#block-public-ebs)
+ [阻止对 Amazon RDS 快照的公开访问](#block-public-rds)
+ [阻止公众访问亚马逊 RDS、Amazon Redshift 和资源 AWS DMS](#block-public-access-instances)
+ [阻止对 Amazon S3 存储桶的公开访问](#block-public-access-s3)
+ [需要 MFA 才能删除关键 Amazon S3 存储桶中的数据](#mfa-delete-s3-data)
+ [在 VPC 中配置亚马逊 OpenSearch 服务域](#opensearch-domains-vpc)
+ [配置 AWS KMS key 删除警报](#kms-key-deletion)
+ [阻止公众访问 AWS KMS keys](#block-public-access-keys)
+ [配置负载均衡器侦听器以使用安全协议](#load-balancer-listeners)

## 在工作负载级别识别并分类数据
<a name="data-classification"></a>

*数据分类*是根据网络中数据的关键性和敏感性对其进行识别和分类的过程。它是所有网络安全风险管理策略的关键组成部分，因为它可以帮助您确定对数据的适当保护和保留控制。数据分类通常会降低数据重复的频率。这可以降低存储和备份成本并加快搜索速度。

我们建议您了解工作负载正在处理的数据类型和分类、相关业务流程、数据存储位置以及数据所有者。数据分类可帮助工作负载所有者识别存储敏感数据的位置，并确定应如何访问和共享这些数据。*标签*是键值对，用作组织资源的元数据。 AWS 标签可帮助管理、识别、组织、搜索和筛选资源。

有关更多信息，请参阅以下资源：
+  AWS 白皮书中的@@ [数据分类](https://docs.aws.amazon.com/whitepapers/latest/data-classification/data-classification-overview.html)
+ [在 Well-Architecte AWS d Framework 中识别工作负载中的数据](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_data_classification_identify_data.html)

## 建立每个数据分类级别的控制措施
<a name="data-controls-classification-level"></a>

定义每个分类级别的数据保护控制措施。例如，使用建议的控制措施来保护归类为公开的数据，使用其他控制措施来保护敏感数据。使用减少或消除直接访问或手动处理数据需求的相关机制和工具。自动化数据识别和分类可降低错误分类、处理不当、修改或人为错误的风险。

例如，考虑使用 Amazon Macie 扫描 Amazon Simple Storage Service（Amazon S3）存储桶中的敏感数据，如个人身份信息（PII）。此外，您还可以使用 Amazon Virtual Private Cloud（Amazon VPC）中的 VPC 流日志自动检测意外数据访问。

有关更多信息，请参阅以下资源：
+ 在 Well-Architecte AWS d [Framework 中定义数据保护控制](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_data_classification_define_protection.html)
+  AWS Well-Architected Framework 中的[自动识别和分类](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_data_classification_auto_classification.html)
+ AWS AWS 规范性指南中的@@ [隐私参考架构 (AWS PRA)](https://docs.aws.amazon.com/prescriptive-guidance/latest/privacy-reference-architecture/introduction.html)
+ Macie 文档中的 [Discovering sensitive data with Amazon Macie](https://docs.aws.amazon.com/macie/latest/user/data-classification.html)
+ Amazon VPC 文档中的[使用 VPC 流日志记录 IP 流量](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html?ref=wellarchitected)
+ 在 for In@@ [dustries 博客 AWS 服务中使用的检测 PHI 和 PII 数据的常 AWS 用技术](https://aws.amazon.com/blogs/industries/common-techniques-to-detect-phi-and-pii-data-using-aws-services/)

## 加密静态数据
<a name="encrypt-data-at-rest"></a>

*静态数据*是网络中静止的数据，例如存储中的数据。对静态数据实施加密和适当的访问控制有助于降低未经授权访问的风险。*加密*是一种将人类可读的明文数据转换为加密文字的计算过程。您需要一个加密密钥才能将内容解密回明文以供使用。在中 AWS Cloud，您可以使用 AWS Key Management Service (AWS KMS) 来创建和控制有助于保护数据的加密密钥。

如[建立每个数据分类级别的控制措施](#data-controls-classification-level)中所述，我们建议创建一个策略来指定需要加密的数据类型。包括如何确定应加密哪些数据以及应使用令牌化或哈希等其他技术保护哪些数据的标准。

有关更多信息，请参阅以下资源：
+ Amazon S3 文档中的[配置默认加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-bucket-encryption.html)
+ Amazon EBS 文档中的 [Encryption by default for new EBS volumes and snapshot copies](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
+ Amazon Aurora 文档中的[加密 Amazon Aurora 资源](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Overview.Encryption.html)
+  AWS KMS 文档中的 [Introduction to the cryptographic details of AWS KMS](https://docs.aws.amazon.com/kms/latest/cryptographic-details/intro.html)
+  AWS 规范指引中的 [Creating an enterprise encryption strategy for data at rest](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-data-at-rest-encryption/welcome.html)
+ 在 Well-@@ [Architected Framework 中强制执行静 AWS 态加密](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_data_rest_encrypt.html)
+ 有关特定加密的更多信息 AWS 服务，请参阅该服务的[AWS 文档](https://docs.aws.amazon.com/index.html#products)

## 加密传输中数据
<a name="encrypt-data-in-transit"></a>

*传输中数据*是在网络中主动移动的数据，例如在网络资源之间移动的数据。使用安全的 TLS 协议和密码套件加密所有传输中数据。必须对资源和互联网之间的网络流量进行加密，以帮助防止未经授权的数据访问。如果可能，请使用 TLS 对内部 AWS 环境中的网络流量进行加密。

有关更多信息，请参阅以下资源：
+ [需要使用 HTTPS 才能在观众之间以及 CloudFront在 Amazon CloudFront 文档中进行通信](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html)
+ [AWS PrivateLink 文档](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html)
+ [在 Well-Architecte AWS d Framework 中强制执行传输中的加密](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_data_transit_encrypt.html)
+ 有关特定加密的更多信息 AWS 服务，请参阅该服务的[AWS 文档](https://docs.aws.amazon.com/index.html#products)

## 阻止对 Amazon EBS 快照的公开访问
<a name="block-public-ebs"></a>

[Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) 提供了块级存储卷，以与 Amazon Elastic Compute Cloud (Amazon EC2) 实例一起使用。您可以通过拍摄 point-in-time快照将 Amazon EBS 卷上的数据备份到 Amazon S3。您可以与其他所有人公开共享快照 AWS 账户，也可以与您指定的个人 AWS 账户 私下共享快照。

我们建议您不要公开共享 Amazon EBS 快照。这可能会无意中暴露敏感数据。当您共享快照时，您将允许其他人访问快照中的数据。只能与您信任且可访问所有数据的人共享快照。

有关更多信息，请参阅以下资源：
+ Amazon EC2 文档中的[共享快照](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html#share-unencrypted-snapshot)
+  AWS Security Hub CSPM 文档中的 [Amazon EBS snapshots should not be publicly restorable](https://docs.aws.amazon.com/securityhub/latest/userguide/ec2-controls.html#ec2-1)
+ [ebs-snapshot-public-restorable-查看](https://docs.aws.amazon.com/config/latest/developerguide/ebs-snapshot-public-restorable-check.html)文档 AWS Config 

## 阻止对 Amazon RDS 快照的公开访问
<a name="block-public-rds"></a>

[Amazon Relational Database Service（Amazon RDS）](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)可帮助您在 AWS Cloud中设置、操作和扩展关系数据库。在数据库实例的备份时段中，Amazon RDS 创建并保存数据库（DB）实例或多可用区数据库集群的自动备份。Amazon RDS 创建数据库实例的存储卷快照，并备份整个数据库实例而不仅仅是单个数据库。您可以共享手动快照，以便复制快照或从中恢复数据库实例。

如果您将快照设置为公开共享，请确保快照中不包含任何私有或敏感数据。公开共享快照时，它会授予所有 AWS 账户 访问数据的权限。这可能会导致 Amazon RDS 实例中的数据意外泄露。

有关更多信息，请参阅以下资源：
+ Amazon RDS 文档中的[共享数据库快照](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html)
+ [rds-snapshots-public-prohibited](https://docs.aws.amazon.com/config/latest/developerguide/rds-snapshots-public-prohibited.html)在 AWS Config 文档中
+ 在 Security Hub CSP@@ [M 文档中，RDS 快照应该是私](https://docs.aws.amazon.com/securityhub/latest/userguide/rds-controls.html#rds-1)有的

## 阻止公众访问亚马逊 RDS、Amazon Redshift 和资源 AWS DMS
<a name="block-public-access-instances"></a>

您可以将 Amazon RDS 数据库实例、Amazon Redshift 集群和 AWS Database Migration Service (AWS DMS) 复制实例配置为可公开访问。如果 `publiclyAccessible` 字段值为 `true`，则这些资源可公开访问。允许公开访问可能会导致不必要的流量、暴露或数据泄露。我们建议您不要允许公开访问这些资源。

我们建议您启用 AWS Config 规则或 Security Hub CSPM 控件，以检测 Amazon RDS 数据库实例、 AWS DMS 复制实例或 Amazon Redshift 集群是否允许公开访问。

**注意**  
预配置实例后，无法修改 AWS DMS 复制实例的公共访问设置。要更改公开访问设置，请删除当前实例，然后重新创建实例。重新创建时，请不要选择**可公开访问**选项。

有关更多信息，请参阅以下资源：
+ [AWS DMS 复制实例不应在 Security Hub CSPM 文档中公开](https://docs.aws.amazon.com/securityhub/latest/userguide/dms-controls.html#dms-1)
+ [RDS 数据库实例应在 Security Hub CSPM 文档中禁止公众访问](https://docs.aws.amazon.com/securityhub/latest/userguide/rds-controls.html#rds-2)
+ [Amazon Redshift 集群应在 Security Hub CSPM 文档中禁止公众访问](https://docs.aws.amazon.com/securityhub/latest/userguide/redshift-controls.html#redshift-1)
+ [rds-instance-public-access-查看](https://docs.aws.amazon.com/config/latest/developerguide/rds-instance-public-access-check.html)文档 AWS Config 
+ [dms-replication-not-public](https://docs.aws.amazon.com/config/latest/developerguide/dms-replication-not-public.html)在 AWS Config 文档中
+ [redshift-cluster-public-access-查看](https://docs.aws.amazon.com/config/latest/developerguide/redshift-cluster-public-access-check.html)文档 AWS Config 
+ Amazon RDS 文档中的[修改 Amazon RDS 数据库实例](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
+ Amazon Redshift 文档中的[修改集群](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-console.html#modify-cluster)

## 阻止对 Amazon S3 存储桶的公开访问
<a name="block-public-access-s3"></a>

这是一项 Amazon S3 安全最佳实践，用于确保您的存储桶不可公开访问。除非您明确要求互联网上的任何人都能读写您的存储桶，否则请确保存储桶不是公有的。这有助于保护数据的完整性和安全性。您可以使用 AWS Config 规则和 Security Hub CSPM 控件来确认您的 Amazon S3 存储桶是否符合此最佳实践。

有关更多信息，请参阅以下资源：
+ Amazon S3 文档中的 [Amazon S3 安全最佳实践](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html#security-best-practices-prevent)
+ [应在 Security Hub CSPM 文档中启用 S3 阻止公共访问设置](https://docs.aws.amazon.com/securityhub/latest/userguide/s3-controls.html#s3-1)
+ S3 [存储桶应在 Security Hub CSPM 文档中禁止公共读取权限](https://docs.aws.amazon.com/securityhub/latest/userguide/s3-controls.html#s3-2)
+ S3 [存储桶应在 Security Hub CSPM 文档中禁止公共写入权限](https://docs.aws.amazon.com/securityhub/latest/userguide/s3-controls.html#s3-3)
+ [s3- AWS Config 文档中的bucket-public-read-prohibited 规则](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-public-read-prohibited.html)
+  AWS Config 文档@@ [中的 s3-bucket-public-write-prohibited](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-public-write-prohibited.html)

## 需要 MFA 才能删除关键 Amazon S3 存储桶中的数据
<a name="mfa-delete-s3-data"></a>

在 Amazon S3 存储桶中使用 S3 版本控制时，您可以选择通过将存储桶配置为启用 [MFA（多重身份验证）删除](https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html)来添加另一层安全保护。执行此操作时，存储桶拥有者必须在任何请求中包含两种形式的身份验证，以删除版本或更改存储桶的版本控制状态。我们建议您为包含组织关键数据的存储桶启用此功能。这可以防止意外删除存储桶和数据。

有关更多信息，请参阅以下资源：
+ Amazon S3 文档中的[配置 MFA 删除](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html)

## 在 VPC 中配置亚马逊 OpenSearch 服务域
<a name="opensearch-domains-vpc"></a>

Amazon OpenSearch Service 是一项托管服务，可帮助您在中部署、操作和扩展OpenSearch集群 AWS Cloud。亚马逊 OpenSearch 服务支持OpenSearch和传统的Elasticsearch开源软件 (OSS)。部署在 VPC 内的 Amazon Serv OpenSearch ice 域可以通过私有 AWS 网络与 VPC 资源通信，无需穿越公共互联网。此配置通过限制对传输中数据的访问来提升安全状况。我们建议您不要将 Amazon Serv OpenSearch ice 域附加到公有子网，并且应根据最佳实践配置 VPC。

有关更多信息，请参阅以下资源：
+ 在@@ [亚马逊 OpenSearch 服务文档中的 VPC 内启动您的亚马逊 OpenSearch 服务域](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html)
+ [opensearch-in-vpc-only](https://docs.aws.amazon.com/config/latest/developerguide/opensearch-in-vpc-only.html)在 AWS Config 文档中
+ [OpenSearch在 Security Hub CSPM 文档中，域名应位于 VPC](https://docs.aws.amazon.com/securityhub/latest/userguide/opensearch-controls.html#opensearch-2) 中

## 配置 AWS KMS key 删除警报
<a name="kms-key-deletion"></a>

AWS Key Management Service (AWS KMS) 密钥被删除后无法恢复。如果删除 KMS 密钥，则仍使用该密钥加密的数据将永久无法恢复。如果您需要保留对数据的访问权限，则在删除该密钥之前，必须解密该数据或使用新的 KMS 密钥对其进行重新加密。只有当您确定不再需要使用 KMS 密钥时，才能将其删除。

我们建议您配置 Amazon CloudWatch 警报，以便在有人发起删除 KMS 密钥时通知您。由于删除 KMS 密钥具有破坏性和潜在危险， AWS KMS 因此要求您设置等待期并计划在 7-30 天内删除。这提供了查看计划删除并在必要时取消的机会。

有关更多信息，请参阅以下资源：
+  AWS KMS 文档中的 [Scheduling and canceling key deletion](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys-scheduling-key-deletion.html#deleting-keys-scheduling-key-deletion-console)
+ 在 AWS KMS 文档@@ [中创建警报，检测到有待删除的 KMS 密钥的使用情况](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys-creating-cloudwatch-alarm.html)
+ [AWS KMS keys 不应在 Security Hub CSPM 文档中无意中删除](https://docs.aws.amazon.com/securityhub/latest/userguide/kms-controls.html#kms-3)

## 阻止公众访问 AWS KMS keys
<a name="block-public-access-keys"></a>

[密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)是控制对 AWS KMS keys访问的主要方法。每个 KMS 密钥都有且只有一个密钥策略。允许匿名访问 KMS 密钥可能会导致敏感数据泄露。我们建议您识别所有可公开访问的 KMS 密钥并更新其访问策略，以防止向这些资源发出未签名的请求。

有关更多信息，请参阅以下资源：
+  AWS KMS 文档 AWS Key Management Service中的@@ [安全最佳实践](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html)
+ [在 AWS KMS 文档中更改密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)
+ 在 AWS KMS 文档@@ [AWS KMS keys中确定访问权限](https://docs.aws.amazon.com/kms/latest/developerguide/determining-access.html)

## 配置负载均衡器侦听器以使用安全协议
<a name="load-balancer-listeners"></a>

[弹性负载均衡](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html)将传入的应用程序流量自动分配到多个目标。您可通过指定一个或多个*侦听器*将您的负载均衡器配置为接受传入流量。侦听器是一个使用您配置的协议和端口检查连接请求的进程。每种类型的负载均衡器支持不同的协议和端口：
+ [应用程序负载均衡器](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html)在应用层进行路由决策并使用 HTTP 或 HTTPS 协议。
+ [网络负载均衡器](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html)在传输层进行路由决策并使用 TCP、TLS、UDP 或 TCP\_UDP 协议。
+ [经典负载均衡器](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/introduction.html)在传输层（使用 TCP 或 SSL 协议）或应用层（使用 HTTP 或 HTTPS 协议）进行路由决策。

我们建议您始终使用 HTTPS 或 TLS 协议。这些协议确保负载均衡器负责加密和解密客户端和目标之间的流量。

有关更多信息，请参阅以下资源：
+ 弹性负载均衡文档中的 [Listeners for your Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html)
+ 弹性负载均衡文档中的 [Listeners for your Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
+ 弹性负载均衡文档中的 [Listeners for your Network Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html)
+ [确保 AWS 负载均衡器使用 AWS 规范指南中的安全侦听器协议](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/ensure-aws-load-balancers-use-secure-listener-protocols-https-ssl-tls.html)
+ [elb-tls-https-listeners-仅](https://docs.aws.amazon.com/config/latest/developerguide/elb-tls-https-listeners-only.html)在文档中 AWS Config 
+ [应在 Security Hub CSPM 文档中将 Classic Load Balancer 侦听器配置为 HTTPS 或 TLS 终止](https://docs.aws.amazon.com/securityhub/latest/userguide/elb-controls.html#elb-3)
+ [应在 Security Hub CSPM 文档中将 Application Load Balancer 配置为将所有 HTTP 请求重定向](https://docs.aws.amazon.com/securityhub/latest/userguide/elb-controls.html#elb-1)到 HTTPS