

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

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

AWS Backup 符合 AWS [分担责任模式](https://aws.amazon.com/compliance/shared-responsibility-model/)，其中包括数据保护的法规和指导方针。 AWS 负责保护运行所有 AWS 服务的全球基础架构。 AWS 保持对托管在此基础架构上的数据的控制，包括用于处理客户内容和个人数据的安全配置控制。 AWS 作为数据控制者或数据处理者的客户和 AWS 合作伙伴网络 (APN) 合作伙伴应对他们输入的任何个人数据负责。 AWS 云

出于数据保护目的，我们建议您保护 AWS 账户 凭证并使用 AWS Identity and Access Management (IAM) 设置个人用户账户。这可帮助确保仅向每个用户授予履行其工作职责所需的权限。还建议您通过以下方式保护数据：
+ 对每个账户使用多重身份验证 (MFA)。
+ 使用安全套接字层 (SSL)/传输层安全性 (TLS) 与 AWS 资源通信。
+ 使用 AWS 加密解决方案以及 AWS 服务中的所有默认安全控制。

我们强烈建议您切勿将敏感的可识别信息（例如您客户的账号）放入自由格式字段（例如**名称**字段）。这包括您使用控制台、 AWS CLI API AWS Backup 或使用其他 AWS 服务时 AWS SDKs。您输入到 AWS Backup 或其他服务中的任何数据都可能被选取以包含在诊断日志中。当您向外部服务器提供网址时，请勿在网址中包含凭证信息来验证您对该服务器的请求。

有关数据保护的更多信息，请参阅*AWS 安全性博客* 上的[AWS 责任共担模式和 GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) 博客文章。

# 对中的备份进行加密 AWS Backup
<a name="encryption"></a>

## 独立 加密
<a name="independent-encryption"></a>

AWS Backup 为[支持完全 AWS Backup 管理的资源类型](backup-feature-availability.md#features-by-resource)提供独立加密。独立加密意味着您创建的恢复点（备份） AWS Backup 可以采用与源资源加密所决定的加密方法不同的加密方法。例如，您对 Amazon S3 存储桶的备份可以采用与使用 Amazon S3 加密选项加密的源存储桶不同的加密方法。这种加密通过存储备份的备份保管库中的 AWS KMS 密钥配置进行控制。

未完全由管理的资源类型的备份 AWS Backup 通常会从其源资源继承加密设置。您可以根据该服务的说明（例如《Amazon EBS 用户指南》**中的 [Amazon EBS 加密](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html)）配置这些加密设置。

您的 IAM 角色必须能够访问用于备份和还原对象的 KMS 密钥。否则，作业虽然会成功，但不会备份或还原对象。IAM 策略和 KMS 密钥策略中的权限必须一致。有关更多信息，请参阅《AWS Key Management Service 开发人员指南》**中的[在 IAM 策略声明中指定 KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html)。

下表列出了每种受支持的资源类型、如何为备份配置加密以及是否支持独立的备份加密。当 AWS Backup 独立加密备份时，它会使用行业标准的 AES-256 加密算法。有关加密的更多信息 AWS Backup，请参阅中的[跨区域和跨](cross-region-backup.md)[账户](create-cross-account-backup.md)备份。


| 资源类型 | 如何配置加密 | 独立 AWS Backup 加密 | 
| --- | --- | --- | 
| Amazon Simple Storage Service（Amazon S3） | Amazon S3 备份使用与备份库关联的 AWS KMS (AWS Key Management Service) 密钥进行加密。 AWS KMS 密钥可以是客户管理的密钥，也可以是与服务关联的 AWS托管密钥。 AWS Backup AWS Backup 即使源 Amazon S3 存储桶未加密，也会加密所有备份。 | 支持 | 
| VMware 虚拟机 | 虚拟机备份始终加密。虚拟机备份的 AWS KMS 加密密钥是在存储虚拟机备份的 AWS Backup 保管库中配置的。 | 支持 | 
| 启用[高级 DynamoDB 备份](advanced-ddb-backup.md)后的 Amazon DynamoDB |  DynamoDB 备份始终加密。DynamoDB 备份的 AWS KMS 加密密钥是在存储 DynamoDB 备份的文件库中 AWS Backup 配置的。  | 支持 | 
| 未启用[高级 DynamoDB 备份](advanced-ddb-backup.md)的 Amazon DynamoDB |  DynamoDB 备份使用与用于加密源 DynamoDB 表的相同加密密钥自动进行加密。未加密的 DynamoDB 表的快照也不会加密。  AWS Backup 要创建加密的 DynamoDB 表的备份，您必须向用于备份的 IAM 角色添加`kms:Decrypt`权限`kms:GenerateDataKey`和。或者，您可以使用 AWS Backup 默认服务角色。  | 不支持 | 
| Amazon Elastic File System (Amazon EFS) | Amazon EFS 备份始终加密。Amazon EFS 备份的 AWS KMS 加密密钥是在存储 Amazon EFS 备份 AWS Backup 的文件库中配置的。 | 支持 | 
| Amazon Elastic Block Store (Amazon EBS) | 默认情况下，Amazon EBS 备份要么使用用于加密源卷的密钥进行加密，要么未加密。在还原期间，您可以通过指定 KMS 密钥来选择覆盖默认加密方法。 | 不支持 | 
| 亚马逊 Elastic Compute Cloud (Amazon EC2) AMIs | AMIs 未加密。EBS 快照按照 EBS 备份的默认加密规则进行加密（参阅 EBS 条目）。可以将数据和根卷的 EBS 快照加密并附加到 AMI。 | 不支持 | 
| Amazon Relational Database Service (Amazon RDS) | Amazon RDS 快照使用与用于加密源 Amazon RDS 数据库相同的加密密钥自动进行加密。未加密的 Amazon RDS 数据库的快照也不会加密。 | 不支持 | 
| Amazon Aurora | Aurora 集群快照使用与用于加密源 Amazon Aurora 集群相同的加密密钥自动进行加密。未加密的 Aurora 集群的快照也不会加密。 | 不支持 | 
| AWS Storage Gateway | Storage Gateway 快照使用与用于加密源 Storage Gateway 卷相同的加密密钥自动进行加密。未加密的 Storage Gateway 卷的快照也不会加密。您无需在所有服务中使用客户托管密钥即可启用 Storage Gateway。您只需将 Storage Gateway 备份复制到已配置 KMS 密钥的保管库。这是因为 Storage Gateway 没有特定于服务的 AWS KMS 托管密钥。  | 不支持 | 
| Amazon FSx | Amazon FSx 文件系统的加密功能因底层文件系统而异。要详细了解您的特定 Amazon FSx 文件系统，请参阅相应的[FSx 用户指南](https://docs.aws.amazon.com/fsx/)。 | 不支持 | 
| Amazon DocumentDB | Amazon DocumentDB 集群快照使用与用于加密源 Amazon DocumentDB 集群相同的加密密钥自动进行加密。未加密的 Amazon DocumentDB 集群的快照也不会加密。 | 不支持 | 
| Amazon Neptune | Amazon Neptune 集群快照使用与用于加密源 Amazon Neptune 集群相同的加密密钥自动进行加密。未加密的 Amazon Neptune 集群的快照也不会加密。 | 不支持 | 
| Amazon Timestream | Amazon Timestream 表快照备份始终加密。Timestream 备份的 AWS KMS 加密密钥是在存储 Timestream 备份的备份保管库中配置的。 | 支持 | 
| Amazon Redshift | Amazon Redshift 集群快照使用与用于加密源 Amazon Redshift 集群相同的加密密钥自动进行加密。未加密的 Amazon Redshift 集群的快照也不会加密。 | 不支持 | 
| Amazon Redshift Serverless | Redshift Serverless 快照使用与加密源相同的加密密钥自动进行加密。 | 不支持 | 
| CloudFormation | CloudFormation 备份始终是加密的。备份的 CloudFormation 加密密钥是在存储 CloudFormation 备份的 CloudFormation 保管库中配置的。 CloudFormation | 支持 | 
| Amazon EC2 实例上的 SAP HANA 数据库 | SAP HANA 数据库备份始终加密。SAP HANA 数据库备份的 AWS KMS 加密密钥是在存储数据库备份的 AWS Backup 保管库中配置的。 | 支持 | 

**提示**  
AWS Backup A@@ [udit Manager](https://docs.aws.amazon.com/aws-backup/latest/devguide/aws-backup-audit-manager.html) 可帮助您自动检测未加密的备份。

## 对不同账户的备份副本进行加密或 AWS 区域
<a name="copy-encryption"></a>

当您跨账户或区域复制备份时，即使原始备份未加密，也会 AWS Backup 自动加密大多数资源类型的副本。 AWS Backup 使用目标文件库的 KMS 密钥对副本进行加密。

在将备份从一个账户复制到另一个账户（跨账户复印作业）或将备份从一个区域复制到另一个区域（跨区域复印作业）之前，请注意以下条件，其中许多条件取决于备份（恢复点）中的资源类型是否[完全由管理 AWS Backup 或未完全](backup-feature-availability.md#features-by-resource)托管。
+ 使用目标保管库的密钥对备份到另一个 AWS 区域 副本进行加密。
+ 对于**完全由管理的资源的恢复点（备份）副本 AWS Backup，您可以选择使用客户托管**[密钥 (CMK) 或托管密钥 ()](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) 对其进行加密。 AWS Backup `aws/backup`

  对于**未完全由管理**的资源恢复点的副本 AWS Backup，与目标文件库关联的密钥必须是 CMK 或拥有底层资源的服务的托管密钥。例如，如果您要复制 EC2 实例，则无法使用 Backup 托管的密钥，而是必须使用 CMK 或 Amazon EBS KMS 密钥（`aws/ebs`）来避免复制作业失败。
+ 对于未完全 AWS 由管理的资源，不支持使用托管密钥进行跨账户复制。 AWS Backup AWS 托管式密钥的[密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)不可变，这可以防止跨账户复制密钥。如果您的资源使用 AWS 托管密钥加密，并且您想执行跨账户复制，则可以将[加密密钥更改为客户托管密钥](https://repost.aws/knowledge-center/update-encryption-key-rds)，该密钥可用于跨账户复制。或者，您可以按照使用[跨账户和跨区域备份保护加密的 Amazon RDS 实例](https://aws.amazon.com/blogs/storage/protecting-encrypted-amazon-rds-instances-with-cross-account-and-cross-region-backups/)中的说明继续使用 AWS 托管密钥。
+ 未加密的 Amazon Aurora、Amazon DocumentDB 和 Amazon Neptune 集群的副本也不会进行加密。

## AWS Backup 权限、授予和拒绝声明
<a name="backup-permissions-grants-deny-statements"></a>

为了帮助避免任务失败，您可以检查 AWS KMS 密钥策略以确保它具有所需的权限并且没有任何阻止成功操作的拒绝语句。

作业可能会因对 KMS 密钥应用一个或多个拒绝语句或者撤消对密钥的[授权](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)而失败。

在诸如此类的 AWS 托管访问策略中 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSBackupFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSBackupFullAccess.html)，允许与之 AWS Backup 交互 AWS KMS 以代表客户对 KMS 密钥创建授权，作为备份、复制和存储操作的一部分。

密钥策略至少需要以下权限：
+ `kms:createGrant`
+ `kms:generateDataKey`
+ `kms:decrypt`

如果需要使用拒绝策略，则需要将备份和还原操作所需的角色列入允许列表。

这些元素可能如下所示：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
          "Sid": "KmsPermissions",
          "Effect": "Allow",
          "Principal": {
              "AWS": "arn:aws:iam::123456789012:root"
          },
          "Action": [
              "kms:ListKeys",
              "kms:DescribeKey",
              "kms:GenerateDataKey",
              "kms:ListAliases"
          ],
          "Resource": "*"
      },
      {
          "Sid": "KmsCreateGrantPermissions",
          "Effect": "Allow",
          "Principal": {
              "AWS": "arn:aws:iam::123456789012:root"
          },
          "Action": [
              "kms:CreateGrant"
          ],
          "Resource": "*",
          "Condition": {
              "ForAnyValue:StringEquals": {
                  "kms:EncryptionContextKeys": "aws:backup:backup-vault"
              },
              "Bool": {
                  "kms:GrantIsForAWSResource": true
              },
              "StringLike": {
                  "kms:ViaService": "backup.*.amazonaws.com"
              }
          }
      }
    ]
}
```

------

无论是托管权限还是客户 AWS 管理权限，这些权限都必须是密钥的一部分。

1. 确保所需权限是 KMS 密钥策略的一部分

   1. 运行 KMS CLI `get-key-policy`（[https://docs.aws.amazon.com/kms/latest/APIReference/API_GetKeyPolicy.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetKeyPolicy.html)），查看附加到指定 KMS 密钥的密钥策略。

   1. 查看返回的权限。

1. 确保没有影响操作的拒绝语句

   1. 运行（或重新运行）CLI `get-key-policy`（[https://docs.aws.amazon.com/kms/latest/APIReference/API_GetKeyPolicy.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetKeyPolicy.html)），查看附加到指定 KMS 密钥的密钥策略。

   1. 查看策略。

   1. 从 KMS 密钥策略中删除相关的拒绝语句。

1. 如果需要，运行 [https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html) 以使用修改后的权限和已删除的拒绝语句来替换或更新密钥策略。

此外，与启动跨区域复制作业的角色关联的密钥必须在 `DescribeKey` 权限中包含 `"kms:ResourcesAliases": "alias/aws/backup"`。

# 虚拟机管理程序凭证加密
<a name="bgw-hypervisor-encryption-page"></a>

由[管理程序管理](https://docs.aws.amazon.com//aws-backup/latest/devguide/working-with-hypervisors.html)的虚拟机使用 [AWS Backup 网关](https://docs.aws.amazon.com/aws-backup/latest/devguide/working-with-gateways.html)将本地系统连接到 AWS Backup。管理程序必须具有同样强大而可靠的安全性，这一点很重要。这种安全性可以通过使用 AWS 自有密钥或客户管理的密钥对虚拟机管理程序进行加密来实现。

## AWS 自有密钥和客户管理的密钥
<a name="bgw-encryption-keys"></a>

AWS Backup 为虚拟机管理程序凭据提供加密，以使用**AWS 自有的加密密钥**保护敏感的客户登录信息。您可以选择改用**客户托管密钥**。

默认情况下，用于在虚拟机管理程序中加密凭据的密钥是**AWS 自**有密钥。 AWS Backup 使用这些密钥自动加密虚拟机管理程序凭据。您既无法查看、管理或使用 AWS 拥有的密钥，也无法审核其使用情况。但是，无需采取任何措施或更改任何计划即可保护用于加密数据的密钥。有关更多信息，请参阅《[https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt)中的 AWS 自有密钥。

或者，也可以使用*客户托管密钥*对凭证进行加密。 AWS Backup 支持使用由您创建、拥有和管理的对称客户托管密钥来执行加密。由于您可以完全控制此加密，因此可以执行以下任务：
+ 制定和维护密钥策略
+ 建立和维护 IAM 策略和授权
+ 启用和禁用密钥策略
+ 轮换加密材料
+ 添加 标签
+ 创建密钥别名
+ 安排密钥删除

当您使用客户托管密钥时，请 AWS Backup 验证您的角色是否有权使用此密钥进行解密（在运行备份或还原作业之前）。必须将 `kms:Decrypt` 操作添加到用于启动备份或还原作业的角色。

由于无法将 `kms:Decrypt` 操作添加到默认备份角色，因此必须使用默认备份角色以外的角色才能使用客户托管密钥。

有关更多信息，请参阅《AWS Key Management Service 开发人员指南》**中的[客户托管密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)。

## 使用客户托管密钥时需要的授权
<a name="encryption-grant"></a>

AWS KMS 需要获得[授权](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)才能使用您的客户托管密钥。当您导入使用客户托管密钥加密的[虚拟机管理程序配置](https://docs.aws.amazon.com/aws-backup/latest/devguide/API_BGW_ImportHypervisorConfiguration.html)时， AWS Backup 会通过向发送[https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)请求来代表您创建授权。 AWS KMS AWS Backup 使用授权访问客户账户中的 KMS 密钥。

您可以随时撤销对授予的访问权限，也可以取消 AWS Backup对客户托管密钥的访问权限。如果这样做，与管理程序关联的所有网关都将无法再访问由客户托管密钥加密的管理程序的用户名和密码，这将影响您的备份和还原作业。具体而言，您在此管理程序中对虚拟机执行的备份和还原作业将失败。

当您删除管理程序时，Backup Gateway 将使用 `RetireGrant` 操作来删除授权。

## 监控加密密钥
<a name="monitoring-encryption-keys"></a>

当您对 AWS Backup 资源使用 AWS KMS 客户托管密钥时，您可以使用[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)或 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 来跟踪 AWS Backup 发送到的请求 AWS KMS。

查找具有以下`"eventName"`字段 AWS CloudTrail 的事件，以监控访问由 AWS Backup 您的客户托管密钥加密的数据所调用的 AWS KMS 操作：
+ `"eventName": "CreateGrant"`
+ `"eventName": "Decrypt"`
+ `"eventName": "Encrypt"`
+ `"eventName": "DescribeKey"`