访问控制 - AWS Backup
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

访问控制

您可以使用有效的凭证来对自己的请求进行身份验证,但您还必须拥有适当权限才能访问备份文件库等 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)。ARNs唯一标识AWS资源。当您需要在所有 (如在 AWS 策略或 API 调用中) 中明确指定资源时IAM,您必须具有 ARN。

下表列出了资源、子资源和 ARN 格式。

AWS Backup 资源 ARNs
资源类型 ARN 格式
备份计划 arn:aws:backup:region:account-id:backup-plan:*
备份文件库 arn:aws:backup:region:account-id:backup-vault:*
Amazon EBS 的恢复点 arn:aws:ec2:region::snapshot/*
Amazon EFS 的恢复点 arn:aws:backup:region:account-id:recovery-point:*
Amazon RDS 的恢复点 arn:aws:rds:region:account-id:snapshot:awsbackup:*
Amazon Aurora 的恢复点 arn:aws:rds:region:account-id:cluster-snapshot:awsbackup:*
AWS Storage Gateway 的恢复点 arn:aws:ec2:region::snapshot/*
DynamoDB 的恢复点 arn:aws:dynamodb:region:account-id::table/*/backup/*

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

资源所有权

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

  • 如果您使用 AWS AWS 账户的账户根用户凭证创建备份文件库,则您的 AWS 账户就是该文件库的所有者。

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

  • 如果您在您的账户中创建IAM具有创建备份文件库的权限的 AWS 角色,则能够代入该角色的任何人都可以创建文件库。该角色所属的 AWS 账户拥有备份文件库资源。

指定策略元素:操作、效果和委托人

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

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

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

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

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

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

要了解有关 IAM 策略语法和说明的更多信息,请参阅 中的 IAM JSON IAM 用户指南策略参考

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

在策略中指定条件

当您授予权限时,可使用 IAM 策略语言来指定规定策略何时生效的条件。例如,您可能希望策略仅在特定日期后应用。有关使用策略语言指定条件的更多信息,请参阅 https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_elements_condition.html 中的IAM 用户指南条件

要表示条件,您可以使用预定义的条件键。没有特定于 AWS Backup 的条件键。但有 AWS 范围内的条件密钥,您可以根据需要使用。有关 AWS范围内的键的完整列表,请参阅 中的AWS全局条件上下文键IAM 用户指南

注意

AWS Backup 不支持其任何操作的访问策略中的标记或上下文键条件。

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

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

您可以在 AWS 策略中使用 AWS Backup 范围的条件键来表示条件。有关 AWS 范围内的密钥的完整列表,请参阅 https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys 中的IAM 用户指南可用密钥

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

AWS Backup API 和操作所需的权限
AWS Backup API 操作 所需权限(API 操作) 资源

CreateBackupPlan

backup:CreateBackupPlan

arn:aws:backup:region:account-id:backup-plan:*

CreateBackupSelection

backup:CreateBackupSelection

arn:aws:backup:region:account-id:backup-plan:*

CreateBackupVault

backup:CreateBackupVault

backup-storage:Mount

backup-storage:MountCapsule

kms:CreateGrant

kms:GenerateDataKey

kms:Decrypt

kms:RetireGrant

kms:DescribeKey

arn:aws:backup:region:account-id:backup-vault:*

对于 backup-storage:*

对于 kms

arn:aws:backup:region:account-id:key:*

DeleteBackupPlan

backup:DeleteBackupPlan

arn:aws:backup:region:account-id:backup-plan:*

DeleteBackupSelection

backup:DeleteBackupSelection

arn:aws:backup:region:account-id:backup-plan:*

DeleteBackupVault

backup:DeleteBackupVault

使用现有文件库访问策略。

arn:aws:backup:region:account-id:backup-vault:*

DeleteBackupVaultAccessPolicy

backup:DeleteBackupVaultAccessPolicy

arn:aws:backup:region:account-id:backup-vault:*

DeleteBackupVaultNotifications

backup:DeleteBackupVaultNotification

使用现有文件库访问策略。

arn:aws:backup:region:account-id:backup-vault:*

DeleteRecoveryPoint

backup:DeleteRecoveryPoint

使用现有文件库访问策略。

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

DescribeBackupJob

backup:DescribeBackupJob

DescribeBackupVault

backup:DescribeBackupVault

使用现有文件库访问策略。

arn:aws:backup:region:account-id:backup-vault:*

DescribeProtectedResource

backup:DescribeProtectedResource

DescribeRecoveryPoint

backup:DescribeRecoveryPoint

使用现有文件库访问策略。

arn:aws:backup:region:account-id:backup-vault:*

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

DescribeRestoreJob

backup:DescribeRestoreJob

arn:aws:backup:region:account-id:recovery-point:*

DescribeRegionSettings

backup:DescribeRegionSettings

ExportBackupPlanTemplate

backup:ExportBackupPlanTemplate

GetBackupPlan

backup:GetBackupPlan

arn:aws:backup:region:account-id:backup-plan:*

GetBackupPlanFromJSON

backup:GetBackupPlanFromJSON

GetBackupPlanFromTemplate

backup:GetBackupPlanFromTemplate

arn:aws:backup:region:account-id:backup-plan:*

GetBackupSelection

backup:GetBackupSelection

arn:aws:backup:region:account-id:backup-plan:*

GetBackupVaultAccessPolicy

backup:GetBackupVaultAccessPolicy

使用现有文件库访问策略。

arn:aws:backup:region:account-id:backup-vault:*

GetBackupVaultNotifications

backup:GetBackupVaultNotification

使用现有文件库访问策略。

arn:aws:backup:region:account-id:backup-vault:*

GetRecoveryPointRestoreMetadata

backup:GetRecoveryPointRestoreMetadata

使用现有文件库访问策略。

arn:aws:backup:region:account-id:backup-vault:*

GetSupportedResourceTypes

backup:GetSupportedResourceTypes

ListBackupJobs

backup:ListBackupJobs

ListBackupPlans

backup:ListBackupPlans

ListBackupPlanTemplates

backup:ListBackupPlanTemplates

ListBackupPlanVersions

backup:ListBackupPlanVersions

arn:aws:backup:region:account-id:backup-plan:*

ListBackupSelections

backup:ListBackupSelections

arn:aws:backup:region:account-id:backup-plan:*

ListBackupVaults

backup:ListBackupVaults

arn:aws:backup:region:account-id:backup-vault:*

ListProtectedResources

backup:ListProtectedResources

ListRecoveryPointsByBackupVault

backup:ListRecoveryPointsByBackupVault

使用现有文件库访问策略。

arn:aws:backup:region:account-id:backup-vault:*

ListRecoveryPointsByResource

backup:ListRecoveryPointsByResource

ListRestoreJobs

backup:ListRestoreJobs

ListTags

backup:ListTags

PutBackupVaultAccessPolicy

backup:PutBackupVaultAccessPolicy

使用现有文件库访问策略。

arn:aws:backup:region:account-id:backup-vault:*

PutBackupVaultNotifications

backup:PutBackupVaultNotifications

使用现有文件库访问策略。

arn:aws:backup:region:account-id:backup-vault:*

StartBackupJob

backup:StartBackupJob

arn:aws:backup:region:account-id:backup-vault:*

StartRestoreJob

backup:StartRestoreJob

arn:aws:backup:region:account-id:backup-vault:*

arn:aws:backup:region:account-id:recovery-point:*

注意

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

StopBackupJob

backup:StopBackupJob

TagResource

backup:TagResource

UntagResource

backup:UntagResource

UpdateBackupPlan

backup:UpdateBackupPlan

arn:aws:backup:region:account-id:backup-plan:*

UpdateRecoveryPointLifecycle

backup:UpdateRecoveryPointLifecycle

使用现有文件库访问策略。

arn:aws:backup:region:account-id:backup-vault:*

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

UpdateRegionSettings

backup:UpdateRegionSettings

backup:DescribeRegionSettings

复制标签权限

当 AWS Backup 执行备份或复制作业时,它会尝试将标签从源资源(复制时为恢复点)复制到恢复点。

注意

AWS Backup 不会在还原作业期间复制标签。

在备份或复制作业期间, 将使用源资源中的标签AWS Backup聚合您在备份计划(或按需备份)中指定的标签。如果 AWS Backup 无法将所有标签复制到恢复点,它将使作业失败。出现这种情况的原因如下:

  • 在将备份作业标签与源资源标签聚合后,您的资源具有超过 50 个标签。 AWS 支持每个资源最多 50 个标签。有关更多信息,请参阅 https://docs.amazonaws.cn/general/latest/gr/aws_tagging.html#tag-conventions 一般参考指南 中的AWS标签限制

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

您可以使用备份计划创建与源资源标签冲突的标签。当两个冲突时,备份计划的标签优先。如果您不希望从源资源复制标签值,请使用此方法。使用您的备份计划指定相同的标签键,但不同值或空值。

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

elasticfilesystem:DescribeTags

Amazon FSx 文件系统

fsx:ListTagsForResource

Amazon RDS 数据库和 Amazon Aurora 集群

rds:AddTagsToResource

rds:ListTagsForResource

AWS Storage Gateway 体积

storagegateway:ListTagsForResource

Amazon EC2 实例和Amazon EBS卷

EC2:CreateTags

EC2:DescribeTags

DynamoDB 不支持将标签分配给备份。 AWS Backup 不会从 表复制标签。

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

访问策略

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

注意

本节讨论如何在 IAM 范围内使用 AWS Backup。它不提供有关 IAM 服务的详细信息。有关完整IAM文档,请参阅 中的https://docs.amazonaws.cn/IAM/latest/UserGuide/introduction.html什么是 IAM? IAM 用户指南 有关 IAM 策略语法和说明的信息,请参阅 中的 IAM JSON IAM 用户指南策略参考

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

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

有关用户、组、角色和权限的更多信息,请参阅 https://docs.amazonaws.cn/IAM/latest/UserGuide/id.html 中的IAM 用户指南身份 (用户、组和角色)

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

基于资源的策略

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

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

要了解如何创建备份文件库的访问策略,请参阅在备份文件库和恢复点上设置访问策略