View a markdown version of this page

对中的备份进行加密 AWS Backup - AWS Backup

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

对中的备份进行加密 AWS Backup

独立 加密

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

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

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

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

资源类型 如何配置加密 独立 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 备份后的 Amazon DynamoDB

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

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

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

AWS Backup 要创建加密的 DynamoDB 表的备份,您必须kms:GenerateDataKey向用于备份的 IAM 角色添加权限kms:Decrypt和。或者,您可以使用 AWS Backup 默认服务角色。

不支持
Amazon Elastic File System (Amazon EFS) Amazon EFS 备份始终加密。亚马逊 EFS 备份的 AWS KMS 加密密钥是在存储亚马逊 EFS 备份的 AWS 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 集群的快照也不会加密。 不支持
AWS Storage Gateway Storage Gateway 快照使用与用于加密源 Storage Gateway 卷相同的加密密钥自动进行加密。未加密的 Storage Gateway 卷的快照也不会加密。

您无需在所有服务中使用客户托管密钥即可启用 Storage Gateway。您只需将 Storage Gateway 备份复制到已配置 KMS 密钥的保管库。这是因为存储网关没有特定服务的 AWS 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 表快照备份始终加密。时间流备份的 AWS KMS 加密密钥是在存储时间流备份的备份保管库中配置的。 支持
Amazon Redshift Amazon Redshift 集群快照使用与用于加密源 Amazon Redshift 集群相同的加密密钥自动进行加密。未加密的 Amazon Redshift 集群的快照也不会加密。 不支持
Amazon Redshift Serverless Redshift Serverless 快照使用与加密源相同的加密密钥自动进行加密。 不支持
CloudFormation CloudFormation 备份始终是加密的。备份的 AWS KMS 加密密钥是在存储 CloudFormation 备份的 AWS Backup 保管库中配置的。 CloudFormation 支持
Amazon EC2 实例上的 SAP HANA 数据库 SAP HANA 数据库备份始终加密。SAP HANA 数据库备份的 AWS KMS 加密密钥是在存储数据库备份的 AWS Backup 保管库中配置的。 支持
提示

AWS Backup 审计管理器可帮助您自动检测未加密的备份。

加密备份到其他帐户的副本或 AWS 区域

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

在将备份从一个账户复制到另一个账户(跨账户复制任务)或将备份从一个区域复制到另一个区域(跨区域复制任务)之前,请注意以下条件,其中许多条件取决于备份(恢复点)中的资源类型是否完全由 AWS Backup 托管。

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

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

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

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

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

AWS Backup 权限、授权和拒绝声明

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

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

在 AWS 托管访问策略(例如)中 AWSBackupFullAccess,有 “允许” 操作允许与 AWS KMS 之交互,以便在备份、复制和存储操作中代表客户创建对 KMS 密钥的授权。 AWS Backup

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

  • 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 托管密钥(例如aws/backupaws/ebs),这些权限已包含在密钥策略中 AWS ,客户无法修改。

  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:ResourceAliases": "alias/aws/backup"