Amazon Backup 中的备份加密 - Amazon Backup
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Backup 中的备份加密

独立 加密

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

未完全由 Amazon Backup 管理的资源类型的备份通常会从其源资源继承加密设置。您可以根据该服务的说明(例如《Amazon EBS User Guide》中的 Amazon EBS encryption)配置这些加密设置。

您的 IAM 角色必须能够访问用于备份和还原对象的 KMS 密钥。否则,作业虽然会成功,但不会备份或还原对象。IAM 策略和 KMS 密钥策略中的权限必须一致。有关更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的在 IAM 策略声明中指定 KMS 密钥

下表列出了每种受支持的资源类型、如何为备份配置加密以及是否支持独立的备份加密。当 Amazon Backup 独立加密备份时,它会使用行业标准的 AES-256 加密算法。有关 Amazon Backup 中加密的更多信息,请参阅跨区域跨账户备份。

资源类型 如何配置加密 独立 Amazon Backup 加密
Amazon Simple Storage Service (Amazon S3) Amazon S3 备份使用与备份保管库关联的 Amazon KMS (Amazon Key Management Service) 密钥进行加密。Amazon KMS 密钥可以是客户托管的密钥,也可以是与 Amazon Backup 服务关联的 Amazon 托管的密钥。即使未加密源 Amazon S3 存储桶,Amazon Backup 也会加密所有备份。 支持
VMware 虚拟机 虚拟机备份始终加密。虚拟机备份的 Amazon KMS 加密密钥在存储虚拟机备份的 Amazon Backup 保管库中进行配置。 支持
启用高级 DynamoDB 备份后的 Amazon DynamoDB

DynamoDB 备份始终加密。DynamoDB 备份的 Amazon KMS 加密密钥在存储 DynamoDB 备份的 Amazon Backup 保管库中进行配置。

支持
未启用高级 DynamoDB 备份的 Amazon DynamoDB

DynamoDB 备份使用与用于加密源 DynamoDB 表的相同加密密钥自动进行加密。未加密的 DynamoDB 表的快照也不会加密。

为了让 Amazon Backup 创建加密的 DynamoDB 表的备份,您必须向用于备份的 IAM 角色添加 kms:Decryptkms:GenerateDataKey 权限。或者,您也可以使用 Amazon Backup 默认服务角色。

不支持
Amazon Elastic File System (Amazon EFS) Amazon EFS 备份始终加密。Amazon EFS 备份的 Amazon KMS 加密密钥在存储 Amazon EFS 备份的 Amazon Backup 保管库中进行配置。 支持
Amazon Elastic Block Store (Amazon EBS) 默认情况下,Amazon EBS 备份要么使用用于加密源卷的密钥进行加密,要么未加密。在还原期间,您可以通过指定 KMS 密钥来选择覆盖默认加密方法。 不支持
Amazon Elastic Compute Cloud (Amazon EC2) AMI AMI 未加密。EBS 快照按照 EBS 备份的默认加密规则进行加密(参阅 EBS 条目)。可以将数据和根卷的 EBS 快照加密并附加到 AMI。 不支持
Amazon Relational Database Service (Amazon RDS) Amazon RDS 快照使用与用于加密源 Amazon RDS 数据库相同的加密密钥自动进行加密。未加密的 Amazon RDS 数据库的快照也不会加密。 不支持
Amazon Aurora Aurora 集群快照使用与用于加密源 Amazon Aurora 集群相同的加密密钥自动进行加密。未加密的 Aurora 集群的快照也不会加密。 不支持
Amazon Storage Gateway Storage Gateway 快照使用与用于加密源 Storage Gateway 卷相同的加密密钥自动进行加密。未加密的 Storage Gateway 卷的快照也不会加密。

您无需在所有服务中使用客户托管密钥即可启用 Storage Gateway。您只需将 Storage Gateway 备份复制到已配置 KMS 密钥的保管库。这是因为 Storage Gateway 没有特定于服务的 Amazon KMS 托管密钥。

不支持
Amazon FSx Amazon FSx 文件系统的加密功能因底层文件系统而异。要了解您的特定 Amazon FSx 文件系统的更多信息,请参阅相应的 FSx 用户指南 不支持
Amazon DocumentDB Amazon DocumentDB 集群快照使用与用于加密源 Amazon DocumentDB 集群相同的加密密钥自动进行加密。未加密的 Amazon DocumentDB 集群的快照也不会加密。 不支持
Amazon Neptune Amazon Neptune 集群快照使用与用于加密源 Amazon Neptune 集群相同的加密密钥自动进行加密。未加密的 Amazon Neptune 集群的快照也不会加密。 不支持
Amazon Timestream Amazon Timestream 表快照备份始终加密。Amazon Timestream 备份的 Amazon KMS 加密密钥在存储 Timestream 备份的备份保管库中进行配置。 支持
Amazon Redshift Amazon Redshift 集群快照使用与用于加密源 Amazon Redshift 集群相同的加密密钥自动进行加密。未加密的 Amazon Redshift 集群的快照也不会加密。 不支持
Amazon Redshift Serverless Redshift Serverless 快照使用与加密源相同的加密密钥自动进行加密。 不支持
Amazon CloudFormation CloudFormation 备份始终加密。CloudFormation 备份的 CloudFormation 加密密钥在存储 CloudFormation 备份的 CloudFormation 保管库中进行配置。 支持
Amazon EC2 实例上的 SAP HANA 数据库 SAP HANA 数据库备份始终加密。SAP HANA 数据库备份的 Amazon KMS 加密密钥在存储数据库备份的 Amazon Backup 保管库中进行配置。 支持
提示

Amazon Backup Audit Manager 可帮助您自动检测未加密的备份。

对备份到不同账户或 Amazon Web Services 区域的副本的加密

当您跨账户或区域复制备份时,即使原始备份未加密,Amazon Backup 也会自动加密大多数资源类型的这些副本。Amazon Backup 使用目标保管库的 KMS 密钥加密副本。

在将备份从一个账户复制到另一个账户(跨账户复制作业)或将备份从一个区域复制到另一个区域(跨区域复制作业)之前,请注意以下条件,其中许多条件取决于备份(恢复点)中的资源类型是完全由 Amazon Backup 管理还是未完全由该服务管理

  • 使用目标保管库的密钥对备份到另一个 Amazon Web Services 区域的副本进行加密。

  • 对于完全由 Amazon Backup 管理的资源的恢复点(备份)副本,您可以选择使用客户自主管理型密钥(CMK)对其进行加密,也可以选择使用 Amazon Backup 托管式密钥(aws/backup)对其进行加密。

    对于未完全由 Amazon Backup 管理的资源的恢复点副本,与目标保管库关联的密钥必须是 CMK 或拥有底层资源的服务的托管式密钥。例如,如果您要复制 EC2 实例,则无法使用 Backup 托管的密钥,而是必须使用 CMK 或 Amazon EBS KMS 密钥(aws/ebs)来避免复制作业失败。

  • 对于未完全由 Amazon Backup 管理的资源,不支持使用 Amazon 托管式密钥进行跨账户复制。Amazon 托管式密钥的密钥策略不可变,这可以防止跨账户复制密钥。如果您的资源使用 Amazon 托管式密钥进行加密,并且您希望执行跨账户复制,则可以将加密密钥更改为客户自主管理型密钥,后者可用于跨账户复制。或者,您可以按照使用跨账户和跨区域备份保护加密的 Amazon RDS 实例中的说明继续使用 Amazon 托管密钥。

  • 未加密的 Amazon Aurora、Amazon DocumentDB 和 Amazon Neptune 集群的副本也不会进行加密。

Amazon Backup 权限、授权和拒绝语句

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

作业可能会因对 KMS 密钥应用一个或多个拒绝语句或者撤消对密钥的授权而失败。

AWSBackupFullAccess 等 Amazon 托管访问策略中包含允许 Amazon Backup 与 Amazon KMS 交互以在备份、复制和存储操作过程中代表客户对 KMS 密钥创建授权。

密钥策略至少需要以下权限:

  • kms:createGrant

  • kms:generateDataKey

  • kms:decrypt

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

这些元素可能如下所示:

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

无论是 Amazon 托管式密钥还是客户自主管理型密钥,这些权限都必须是密钥的一部分。

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

    1. 运行 KMS CLI get-key-policykms:GetKeyPolicy),查看附加到指定 KMS 密钥的密钥策略。

    2. 查看返回的权限。

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

    1. 运行(或重新运行)CLI get-key-policykms:GetKeyPolicy),查看附加到指定 KMS 密钥的密钥策略。

    2. 查看策略。

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

  3. 如果需要,运行 kms:put-key-policy 以使用修改后的权限和已删除的拒绝语句来替换或更新密钥策略。

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