

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

# 对中的备份进行加密 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"`。