访问控制 - AWS Backup

访问控制

您可以使用有效的凭证来对自己的请求进行身份验证,但您还必须拥有适当权限才能访问备份保管库等 AWS Backup 资源。您也无法备份 AWS 资源,例如 Amazon Elastic Block Store (Amazon EBS) 卷。

每个 AWS 资源都归某个 AWS 账户所有,创建或访问资源的权限由权限策略进行管理。账户管理员可以向 AWS Identity and Access Management (IAM) 身份(即:用户、组和角色)附加权限策略。有些服务还支持向资源附加权限策略。

账户管理员 (或管理员用户) 是具有管理员权限的用户。有关更多信息,请参阅《IAM 用户指南》中的 IAM 最佳实践

在授予权限时,您要决定谁获得权限,获得对哪些资源的权限,以及您允许对这些资源执行的具体操作。

以下各部分介绍了访问策略的工作原理以及如何使用它们来保护备份。

资源和操作

资源是服务中存在的对象。AWS Backup 资源包括备份计划、备份保管库和备份。备份是一个泛称,意指 AWS 中存在的各种类型的备份资源。例如,Amazon EBS 快照、Amazon Relational Database Service (Amazon RDS) 快照、Amazon DynamoDB 备份都是备份资源类型。

在 AWS Backup 中,备份也称为恢复点。当使用 AWS Backup 时,您还可以使用您尝试保护的其他 AWS 服务中的资源,例如 Amazon EBS 卷或 DynamoDB 表。这些资源具有与其关联的唯一 Amazon 资源名称 (ARN)。ARN 唯一地标识 AWS 资源。当您需要在 AWS 全局环境中(例如在 IAM 策略或 API 调用中)明确指定一项资源时,您必须拥有 ARN。

下表列出了资源、子资源和 ARN 格式以及一个唯一 ID 示例。

AWS Backup 资源 ARN
资源类型 ARN 格式 唯一 ID 示例
备份计划 arn:aws:backup:region:account-id:backup-plan:*
备份保管库 arn:aws:backup:region:account-id:backup-vault:*
Amazon EBS 恢复点 arn:aws:ec2:region::snapshot/* snapshot/snap-05f426fd8kdjb4224
Amazon EC2 映像恢复点 arn:aws:ec2:region::image/ami-* image/ami-1a2b3e4f5e6f7g890
Amazon RDS 恢复点 arn:aws:rds:region:account-id:snapshot:awsbackup:* awsbackup:job-be59cf2a-2343-4402-bd8b-226993d23453
Aurora 恢复点 arn:aws:rds:region:account-id:cluster-snapshot:awsbackup:* awsbackup:job-be59cf2a-2343-4402-bd8b-226993d23453
Storage Gateway 恢复点 arn:aws:ec2:region::snapshot/* snapshot/snap-0d40e49137e31d9e0
未启用高级 DynamoDB 备份的 DynamoDB 恢复点 arn:aws:dynamodb:region:account-id:table/*/backup/* table/MyDynamoDBTable/backup/01547087347000-c8b6kdk3
启用高级 DynamoDB 备份的 DynamoDB 恢复点 arn:aws:backup:region:account-id:recovery-point:* 12a34a56-7bb8-901c-cd23-4567d8e9ef01
Amazon EFS 恢复点 arn:aws:backup:region:account-id:recovery-point:* d99699e7-e183-477e-bfcd-ccb1c6e5455e
Amazon FSx 恢复点 arn:aws:fsx:region:account-id:backup/backup-* backup/backup-1a20e49137e31d9e0
虚拟机恢复点 arn:aws:backup:region:account-id:recovery-point:* 1801234a-5b6b-7dc8-8032-836f7ffc623b
Amazon S3 连续备份恢复点 arn:aws:backup:region:account-id:recovery-point:* amzn-s3-demo-bucket-5ec207d0
S3 定期备份恢复点 arn:aws:backup:region:account-id:recovery-point:* amzn-s3-demo-bucket-20211231900000-5ec207d0
Amazon DocumentDB 恢复点 arn:aws:rds:region:account-id:cluster-snapshot:awsbackup:* awsbackup:job-ab12cd3e-4567-8901-fg1h-234567i89012
Neptune 恢复点 arn:aws:rds:region:account-id:cluster-snapshot:awsbackup:* awsbackup:job-ab12cd3e-4567-8901-fg1h-234567i89012
Amazon Redshift 恢复点 arn:aws:redshift:region:account-id:snapshot:resource/awsbackup:* awsbackup:job-ab12cd3e-4567-8901-fg1h-234567i89012
Amazon Timestream 恢复点 arn:aws:backup:region:account-id:recovery-point:* recovery-point:1a2b3cde-f405-6789-012g-3456hi789012_beta
AWS CloudFormation 模板恢复点 arn:aws:backup:region:account-id:recovery-point:* recovery-point:1a2b3cde-f405-6789-012g-3456hi789012
Amazon EC2 实例上的 SAP HANA 数据库恢复点 arn:aws:backup:region:account-id:recovery-point:* recovery-point:1a2b3cde-f405-6789-012g-3456hi789012

支持完全 AWS Backup 管理的资源都采用格式为 arn:aws:backup:region:account-id::recovery-point:* 的恢复点。这使您可以更轻松地应用权限策略来保护这些恢复点。要查看哪些资源支持完全 AWS Backup 管理,请参阅按资源划分的功能可用性表的该部分。

AWS Backup 提供一组操作用来处理 AWS Backup 资源。有关可用操作的列表,请参阅 AWS Backup 操作

资源所有权

AWS 账户对在该账户下创建的资源具有所有权,而无论创建资源的人员是谁。具体而言,资源所有者是对资源创建请求进行身份验证的主体实体(即 AWS 账户根用户、IAM 用户或 IAM 角色)的 AWS 账户。以下示例说明了它的工作原理:

  • 如果您使用 AWS 账户的 AWS 账户根用户凭证创建备份保管库,则您的 AWS 账户即为该保管库的所有者。

  • 如果您在您的 AWS 账户中创建 IAM 用户并向该用户授予创建备份保管库的权限,则该用户可以创建备份保管库。但是,您的 AWS 账户(即该用户所属的账户)拥有备份保管库资源。

  • 如果您在自己的 AWS 账户中创建 IAM 角色,使其具有创建备份保管库的权限,则能够代入该角色的任何人都可以创建保管库。备份保管库资源将归该角色所属的 AWS 账户所有。

指定策略元素:操作、效果和主体

该服务对每个 AWS Backup 资源(请参阅 资源和操作)都定义了一组 API 操作(请参阅操作)。为授予这些 API 操作的权限,AWS Backup 定义了一组您可以在策略中指定的操作。执行一个 API 操作可能需要多个操作的权限。

以下是最基本的策略元素:

  • 资源:在策略中,您可以使用 Amazon Resource Name(ARN)标识策略应用到的资源。有关更多信息,请参阅 资源和操作

  • 操作 – 您可以使用操作关键字标识要允许或拒绝的资源操作。

  • 效果 - 您可以指定当用户请求特定操作(可以是允许或拒绝)时的效果。如果没有显式授予(允许)对资源的访问权限,则隐式拒绝访问。您也可显式拒绝对资源的访问,这样可确保用户无法访问该资源,即使有其他策略授予了访问权限的情况下也是如此。

  • 主体 – 在基于身份的策略(IAM 策略)中,附加了策略的用户是隐式主体。对于基于资源的策略,您可以指定要接收权限的用户、账户、服务或其他实体(仅适用于基于资源的策略)。

要了解 IAM 策略语法和描述的更多信息,请参阅《IAM 用户指南》中的 IAM JSON 策略参考

有关显示所有 AWS Backup API 操作的表,请参阅 API 权限:操作、资源和条件参考

在策略中指定条件

当您授予权限时,可使用 IAM 策略语言来指定规定策略何时生效的条件。例如,您可能希望策略仅在特定日期后应用。有关使用策略语言指定条件的更多信息,请参阅《IAM 用户指南》中的条件

AWS 支持全局条件键和特定于服务的条件键。要查看所有全局条件键,请参阅《IAM 用户指南》中的 AWS 全局条件上下文键

AWS Backup 定义了自己的一组条件键。有关 AWS Backup 条件密钥的列表,请参阅服务授权参考中的 AWS Backup 的条件密钥

API 权限:操作、资源和条件参考

在设置 访问控制 和编写可附加到 IAM 身份的权限策略 (基于身份的策略) 时,可使用下面的作为参考。表列表每个 AWS Backup API 操作、您可授予执行权限的对应操作以及您可授予权限的 AWS 资源。您可以在策略的 Action 字段中指定这些操作,并在策略的 Resource 字段中指定资源值。如果 Resource 字段为空,则可以使用通配符 (*) 来包含所有资源。

您可以在 AWS Backup 策略中使用 AWS 范围的条件键来表示条件。有关 AWS 范围内的键的完整列表,请参阅《IAM 用户指南》中的可用键

使用滚动条查看表的其余部分。

1 使用现有保管库访问策略。

2 有关资源特定的恢复点 ARN,请参阅AWS Backup 资源 ARN

3 StartRestoreJob 必须在资源的元数据中具有键/值对。要获取资源的元数据,请调用 GetRecoveryPointRestoreMetadata API。

4 如果您计划在备份中包含原始资源标签或在备份中添加其他标签,则某些资源类型要求执行备份的角色具有特定的标记权限 backup:TagResource。ARN 以 arn:aws:backup:region:account-id:recovery-point: 开头的任何备份或连续备份都需要此权限。backup:TagResource 权限必须应用于 "resourcetype": "arn:aws:backup:region:account-id:recovery-point:*"

有关更多信息,请参阅《服务授权参考》中的 AWS Backup 的操作、资源和条件键

复制标签权限

在 AWS Backup 执行备份或复制作业时,它会尝试将标签从您的源资源(如果是复制,则为恢复点)复制到您的恢复点。

注意

AWS Backup 在还原作业期间以本机方式复制标签。有关将在还原作业期间复制标签的事件驱动架构,请参阅如何在 AWS Backup 还原作业中保留资源标签

在备份或复制作业期间,AWS Backup 将您在备份计划(或复制计划或按需备份)中指定的标签与源资源中的标签聚合。但是,AWS 强制执行每个资源 50 个标签的限制,AWS Backup 不能超过该限制。当备份或复制作业聚合计划和源资源中的标签时,它可能会发现总标签数超过 50 个,此时它将无法完成作业,并且会使作业失败。这与整个 AWS 范围的标记最佳实践保持一致。要了解更多信息,请参阅《AWS 一般参考指南》中的标签限制

  • 将备份作业标签与源资源标签聚合后,您的资源会超过 50 个标签。AWS 每个资源最多支持 50 个标签。有关更多信息,请参阅标签限制

  • 您提供给 AWS Backup 的 IAM 角色缺乏读取源标签或设置目的地标签的权限。有关更多信息和 IAM 角色策略示例,请参阅托管策略

您可以使用备份计划创建与源资源标签相矛盾的标签。当两者发生冲突时,您的备份计划中的标签优先。如果您不想从源资源中复制标签值,请使用此方法。使用备份计划指定相同的标签键,但使其值不同或为空。

为备份分配标签所需的权限
资源类型 所需的权限
Amazon EFS 文件系统

elasticfilesystem:DescribeTags

Amazon FSx 文件系统

fsx:ListTagsForResource

Amazon RDS 数据库和 Amazon Aurora 集群

rds:AddTagsToResource

rds:ListTagsForResource

Storage Gateway 卷

storagegateway:ListTagsForResource

Amazon EC2 实例和 Amazon EBS 卷

EC2:CreateTags

EC2:DescribeTags

除非先启用高级 DynamoDB 备份,否则 DynamoDB 不支持为备份分配标签。

当 Amazon EC2 备份创建映像恢复点和一组快照时,AWS Backup 会将标签复制到生成的 AMI。AWS Backup 还会将标签从与 Amazon EC2 实例关联的卷复制到生成的快照。

访问策略

权限策略规定谁可以访问哪些内容。附加到 IAM 身份的策略称为基于身份的策略(IAM 策略)。附加到资源的策略称为基于资源的策略。AWS Backup 支持基于身份的策略和基于资源的策略。

注意

本节讨论如何在 AWS Backup 范围内使用 IAM。这里不提供有关 IAM 服务的详细信息。有关完整的 IAM 文档,请参阅《IAM 用户指南》中的什么是 IAM?。有关 IAM 策略语法和描述的信息,请参阅《IAM 用户指南》中的IAM JSON 策略参考

基于身份的策略(IAM 策略)

基于身份的策略是可以附加到 IAM 身份(如用户或角色)的策略。例如,您可以定义一个策略,使之允许用户查看和备份 AWS 资源,但阻止用户还原备份。

有关用户、组、角色和权限的更多信息,请参阅《IAM 用户指南》中的身份(用户、组和角色)

有关如何使用 IAM 策略控制对备份的访问的信息,请参阅AWS Backup 的托管策略

基于资源的策略

AWS Backup 支持备份保管库的基于资源的访问策略。这使您可以定义访问策略,用于控制哪些用户对于存储在备份保管库中的任何备份具有哪种类型的访问权限。备份保管库的基于资源的访问策略提供了一种控制备份访问的简便方法。

使用 AWS Backup API 时,备份保管库访问策略可控制用户访问。某些备份类型(例如 Amazon Elastic Block Store (Amazon EBS) 和 Amazon Relational Database Service (Amazon RDS) 快照)也可以使用这些服务的 API 进行访问。您可以在 IAM 中创建单独的访问策略控制对这些 API 的访问,从而完全控制对备份的访问。

要了解如何创建备份保管库的访问策略,请参阅文件库访问策略