本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
备份策略语法和示例
本页介绍备份策略语法并提供示例。
备份策略的语法
备份策略是一个纯文本文件,根据 JSON
有关 AWS Backup 计划的更多信息,请参阅AWS Backup 开发人员指南CreateBackupPlan中的。
注意事项
策略语法
JSON 中会拒绝重复的键名称。
策略必须指定要备份的 AWS 区域 和资源。
策略必须指定 AWS Backup 担任的 IAM 角色。
在同一级别使用 @@assign 运算符可能会覆盖现有设置。有关更多信息,请参阅子策略覆盖父策略中的设置。
继承运算符控制继承的策略和账户策略如何合并到账户的有效策略中。这些运算符包括值设置运算符和子控制运算符。
IAM 角色
首次创建备份计划时必须存在 IAM 角色。
IAM 角色必须有权访问标签查询标识的资源。
IAM 角色必须具有执行备份的权限。
Backup 保管库
在运行备份计划 AWS 区域 之前,每个指定的文件库都必须存在。
每个收到有效策略的 AWS 账户都必须存在文件库。有关更多信息,请参阅《AWS Backup Developer Guide》中的 Backup vault creation and deletion。
我们建议您使用 AWS CloudFormation 堆栈集及其与 Organizations 的集成,为组织中的每个成员账户自动创建和配置备份库和 IAM 角色。有关更多信息,请参阅《AWS CloudFormation 用户指南》中的创建具有自行管理权限的堆栈集。
配额
有关配额列表,请参阅《AWS Backup Developer Guide》中的 AWS Backup quotas。
备份语法:概述
备份策略语法包括以下组件:
{ "plans": { "PlanName": { "rules": { ... }, "regions": { ... }, "selections": { ... }, "advanced_backup_settings": { ... }, "backup_plan_tags": { ... }, "scan_settings": { ... } } } }
| 元素 | 描述 | 必填 |
|---|---|---|
| 规则 | 备份规则列表。每条规则都定义了备份开始时间以及 regions 和 selections 元素中指定资源的执行窗口。 |
是 |
| 区域 | 备份策略可以保护资源 AWS 区域 的地方列表。 | 是 |
| selections | 受备份 rules 保护的指定 regions 中的一个或多个资源类型。 |
是 |
| advanced_backup_settings | 特定备份情境的配置选项。 目前,唯一支持的高级备份设置是为在亚马逊 EC2 实例上运行的 Windows 或 SQL Server 启用微软卷影复制服务 (VSS) 备份。 |
否 |
| backup_plan_tags | 想要与备份计划关联的标签。每个标签都是由用户定义的键和值组成的标签。 标签有助于您管理、识别、组织、搜索和筛选备份计划。 |
否 |
| 扫描设置 | 扫描设置的配置选项。目前唯一支持的扫描设置是启用 Amazon GuardDuty 恶意软件防护 AWS Backup。 |
否 |
备份语法:rules
rules 策略键指定 AWS Backup
对选定资源执行的计划备份任务。
| 元素 | 描述 | 必填 |
|---|---|---|
schedule_expression |
UTC 中的 Cron 表达式,用于指定何时 AWS Backup 启动备份作业。 有关 cron 表达式的信息,请参阅 A mazon EventBridge 用户指南中的使用 cron 和速率表达式调度规则。 |
是 |
target_backup_vault_name |
存储备份的备份文件库。 Backup 保管库由用于创建备份存储库的帐户及其创建 AWS 区域 位置所独有的名称进行标识。 |
是 |
target_logically_air_gapped_backup_vault_arn |
存储备份的逻辑间隙保管库 ARN。 如果提供,则支持的完全托管资源将直接备份到逻辑上空隙的保管库,而其他支持的资源则在备份保管库中创建临时(可计费)快照,然后将其复制到逻辑上空隙的保管库中。不支持的资源只能备份到指定的备份存储库。 ARN 必须使用特殊占位符 |
否 |
start_backup_window_minutes |
如果备份作业未成功启动,则取消备份作业前需要等待的分钟数。 如果包含此值,则必须至少为 60 分钟才能避免错误。 |
否 |
complete_backup_window_minutes |
备份作业成功启动之后必须在该时间之前完成的分钟数,否则将会被 AWS Backup取消。 | 否 |
enable_continuous_backup |
指定是否 AWS Backup 创建连续备份。
有关连续备份的更多信息,请参阅《AWS Backup 开发人员指南》中的 P re oint-in-time co very。 注意:启用 PITR 的备份最多可保留 35 天。 |
否 |
lifecycle |
指定何 AWS Backup 时将备份转换为冷存储以及何时过期。 《AWS Backup Developer Guide》的 Feature availability by resources 中按资源划分的功能可用性表中列出了可以转换为冷存储的资源类型。 每个生命周期都包含以下元素:
注意:转换为冷存储的备份必须在冷存储中存储至少 90 天。 这意味着 |
否 |
copy_actions |
指定是 AWS Backup 将备份复制到一个还是多个其他位置。 每个复制操作都包含以下元素:
注意:转换为冷存储的备份必须在冷存储中存储至少 90 天。 这意味着 |
否 |
recovery_point_tags |
想要分配给从备份中还原的资源的标签。 每个标签都包含以下元素:
|
否 |
index_actions |
指定是否 AWS Backup 为您的 Amazon EBS 快照 and/or 创建 Amazon S3 备份的备份索引。创建备份索引是为了搜索备份的元数据。有关备份索引创建和备份搜索的更多信息,请参阅 Backup search。 注意:创建 Amazon EBS 快照备份索引需要其他 IAM 角色权限。 每个索引操作都包含以下元素: |
否 |
scan_actions |
指定是否为给定规则启用扫描操作。必须指定 |
否 |
备份语法:regions
regions策略密钥指定 AWS 区域 在哪些资源中 AWS Backup 查找与selections密钥中的条件相匹配的资源。
| 元素 | 描述 | 必填 |
|---|---|---|
regions |
指定 AWS 区域 代码。例如: |
是 |
备份语法:selections
selections 策略键指定由备份策略中的规则备份的资源。
有两个互斥的元素:tags 和 resources。一项有效策略必须在选择中包含 tags 或 resources 才能生效。
如果您想要同时包含标签条件和资源条件的选择,请使用 resources 键。
| 元素 | 描述 | 必填 |
|---|---|---|
iam_role_arn |
AWS Backup 负责查询、发现和备份指定区域内资源的 IAM 角色。 该角色必须具有足够的权限,才能根据标签条件查询资源,并对匹配的资源执行备份操作。 |
是 |
tag_key |
要搜索的标签键名称。 | 是 |
tag_value |
必须与匹配的 tag_key 关联的值。 AWS Backup 仅在 tag_key 和 tag_value 都匹配(区分大小写)时才会包含该资源。 |
是 |
conditions |
想要包含或排除的标签键和值 使用 string_equals 或 string_not_equals 来包含或排除完全匹配项的标签。 使用 string_like 和 string_not_like 来包含或排除包含或不包含特定字符的标签 注意:每项选择限 30 个条件。 |
否 |
| 元素 | 描述 | 必填 |
|---|---|---|
iam_role_arn |
AWS Backup 负责查询、发现和备份指定区域内资源的 IAM 角色。 该角色必须具有足够的权限,才能根据标签条件查询资源,并对匹配的资源执行备份操作。 注意:在中 AWS GovCloud (US) Regions,您必须将分区的名称添加到 ARN。 例如,“ |
是 |
resource_types |
要包含在备份计划中的资源类型。 | 是 |
not_resource_types |
要从备份计划中排除的资源类型。 | 否 |
conditions |
想要包含或排除的标签键和值 使用 string_equals 或 string_not_equals 来包含或排除完全匹配项的标签。 使用 string_like 和 string_not_like 来包含或排除包含或不包含特定字符的标签 注意:每项选择限 30 个条件。 |
否 |
支持的资源类型
Organizations 支持 resource_types 和 not_resource_types 元素的以下资源类型:
-
AWS Backup gateway 虚拟机:
"arn:aws:backup-gateway:*:*:vm/*" -
AWS CloudFormation 堆栈:
"arn:aws:cloudformation:*:*:stack/*" -
Amazon DynamoDB 表:
"arn:aws:dynamodb:*:*:table/*" -
亚马逊 EC2 实例:
"arn:aws:ec2:*:*:instance/*" -
Amazon EBS 卷:
"arn:aws:ec2:*:*:volume/*" -
Amazon EFS 文件系统:
"arn:aws:elasticfilesystem:*:*:file-system/*" -
亚马逊 Aurora/Amazon DocumentDB/Amazon Neptune
"arn:aws:rds:*:*:cluster:*" -
Amazon RDS 数据库:
"arn:aws:rds:*:*:db:*" -
Amazon Redshift 集群:
"arn:aws:redshift:*:*:cluster:*" -
Amazon S3:
"arn:aws:s3:::*" -
适用于 SAP 的 AWS Systems Manager HANA 数据库:
"arn:aws:ssm-sap:*:*:HANA/*" -
AWS Storage Gateway 网关:
"arn:aws:storagegateway:*:*:gateway/*" -
Amazon Timestream 数据库:
"arn:aws:timestream:*:*:database/*" -
Amazon FSx 文件系统:
"arn:aws:fsx:*:*:file-system/*" -
Amazon FSx 交易量:
"arn:aws:fsx:*:*:volume/*"
代码示例
有关更多信息,请参阅使用标签块指定资源和使用资源块指定资源。
备份语法:advanced backup settings
advanced_backup_settings 键指定了特定备份情境的配置选项。每个设置都包含以下元素:
| 元素 | 描述 | 必填 |
|---|---|---|
advanced_backup_settings |
指定特定备份情境的设置。此键包含一个或多个设置。每个设置都是一个 JSON 对象字符串,其中包含以下元素: 目前唯一支持的高级备份设置是为在亚马逊 EC2实例上运行的 Windows 或 SQL Server 启用微软卷影复制服务 (VSS) 备份。 每个高级备份设置都包含以下元素:
|
否 |
示例:
"advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } },
备份语法:backup plan tags
backup_plan_tags 策略键可指定附加到备份计划本身的标签。这不会影响为 rules 或 selections 指定的标签。
| 元素 | 描述 | 必填 |
|---|---|---|
backup_plan_tags |
每个标签都是由用户定义的键和值组成的标签:
|
否 |
Backup 语法:扫描设置
scan_settings 策略键可指定附加到备份计划本身的标签。这不会影响为 rules 或 selections 指定的标签。
| 元素 | 描述 | 必填 |
|---|---|---|
scan_settings |
每个标签都是一个由用户定义的键和值组成的标签:扫描设置的配置选项。目前唯一支持的扫描设置是启用 Amazon GuardDuty 恶意软件防护 AWS Backup。必须指定 |
否 |
备份策略示例
下面的示例备份策略仅供参考。在以下某些示例中,可能会压缩 JSON 空白格式以节省空间。
示例 1:分配给父节点的策略
以下示例显示了分配给账户的父节点之一的备份策略。
父策略 – 此策略可以附加到组织根,或附加到作为所有预期账户父级的任何 OU。
{ "plans": { "PII_Backup_Plan": { "regions": { "@@assign": [ "ap-northeast-2", "us-east-1", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": { "@@assign": "cron(0 5/1 ? * * *)" }, "start_backup_window_minutes": { "@@assign": "480" }, "complete_backup_window_minutes": { "@@assign": "10080" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "180" }, "delete_after_days": { "@@assign": "270" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "target_backup_vault_name": { "@@assign": "FortKnox" }, "target_logically_air_gapped_backup_vault_arn": { "@@assign": "arn:aws:backup:$region:$account:backup-vault:AirGappedVault" }, "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "delete_after_days": { "@@assign": "120" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } }, "arn:aws:backup:us-west-1:111111111111:backup-vault:tertiary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-west-1:111111111111:backup-vault:tertiary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "delete_after_days": { "@@assign": "120" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": { "@@assign": "arn:aws:iam::$account:role/MyIamRole" }, "tag_key": { "@@assign": "dataType" }, "tag_value": { "@@assign": [ "PII", "RED" ] } } } }, "advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } } } } }
如果账户没有继承或附加其他保单,则每个适用政策中提供的有效政策如下例所 AWS 账户 示。CRON 表达式会使备份每小时运行一次。账户 ID 123456789012 将是每个账户的实际账户 ID。
{ "plans": { "PII_Backup_Plan": { "regions": [ "us-east-1", "ap-northeast-3", "eu-north-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/1 ? * * *)", "start_backup_window_minutes": "60", "target_backup_vault_name": "FortKnox", "target_logically_air_gapped_backup_vault_arn": "arn:aws:backup:$region:$account:backup-vault:AirGappedVault", "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "delete_after_days": "2", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" }, "lifecycle": { "delete_after_days": "28", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" } }, "arn:aws:backup:us-west-1:111111111111:backup-vault:tertiary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-west-1:111111111111:backup-vault:tertiary_vault" }, "lifecycle": { "delete_after_days": "28", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::123456789012:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } }, "advanced_backup_settings": { "ec2": { "windows_vss": "enabled" } } } } }
示例 2:父策略与子策略合并
在以下示例中,继承的父级策略和子级策略要么继承,要么直接附加到 AWS 账户 合并,形成有效的策略。
父策略 – 此策略可以附加到组织根或任何父 OU。
{ "plans": { "PII_Backup_Plan": { "regions": { "@@append":[ "us-east-1", "ap-northeast-3", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": { "@@assign": "cron(0 0/1 ? * * *)" }, "start_backup_window_minutes": { "@@assign": "60" }, "target_backup_vault_name": { "@@assign": "FortKnox" }, "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "28" }, "delete_after_days": { "@@assign": "180" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "28" }, "delete_after_days": { "@@assign": "180" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": { "@@assign": "arn:aws:iam::$account:role/MyIamRole" }, "tag_key": { "@@assign": "dataType" }, "tag_value": { "@@assign": [ "PII", "RED" ] } } } } } } }
子策略 – 此策略可以直接附加到账户,或附加到父策略所附加到的级别以下的任何级别的 OU。
{ "plans": { "Monthly_Backup_Plan": { "regions": { "@@append":[ "us-east-1", "eu-central-1" ] }, "rules": { "Monthly": { "schedule_expression": { "@@assign": "cron(0 5 1 * ? *)" }, "start_backup_window_minutes": { "@@assign": "480" }, "target_backup_vault_name": { "@@assign": "Default" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "delete_after_days": { "@@assign": "365" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:Default" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:backup-vault:Default" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "delete_after_days": { "@@assign": "365" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "selections": { "tags": { "MonthlyDatatype": { "iam_role_arn": { "@@assign": "arn:aws:iam::$account:role/MyMonthlyBackupIamRole" }, "tag_key": { "@@assign": "BackupType" }, "tag_value": { "@@assign": [ "MONTHLY", "RED" ] } } } } } } }
生成的有效策略 – 应用于账户的有效策略包含两个计划,每个计划都有自己的规则集以及要应用这些规则的资源集。
{ "plans": { "PII_Backup_Plan": { "regions": [ "us-east-1", "ap-northeast-3", "eu-north-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/1 ? * * *)", "start_backup_window_minutes": "60", "target_backup_vault_name": "FortKnox", "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "delete_after_days": "2", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": "28", "delete_after_days": "180", "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::$account:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } } }, "Monthly_Backup_Plan": { "regions": [ "us-east-1", "eu-central-1" ], "rules": { "monthly": { "schedule_expression": "cron(0 5 1 * ? *)", "start_backup_window_minutes": "480", "target_backup_vault_name": "Default", "lifecycle": { "delete_after_days": "365", "move_to_cold_storage_after_days": "30", "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:Default" : { "target_backup_vault_arn": { "@@assign" : "arn:aws:backup:us-east-1:$account:backup-vault:Default" }, "lifecycle": { "move_to_cold_storage_after_days": "30", "delete_after_days": "365", "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "selections": { "tags": { "monthlydatatype": { "iam_role_arn": "arn:aws:iam::&ExampleAWSAccountNo3;:role/MyMonthlyBackupIamRole", "tag_key": "BackupType", "tag_value": [ "MONTHLY", "RED" ] } } } } } }
示例 3:父策略阻止子策略进行任何更改
在以下示例中,继承的父策略使用子控制运算符强制执行所有设置,并防止它们被子策略更改或覆盖。
父策略 – 此策略可以附加到组织根或任何父 OU。策略的每个节点都存在 "@@operators_allowed_for_child_policies": ["@@none"] 意味着,子策略不能对计划进行任何类型的更改。子策略也不能将其他计划添加到有效策略。此策略将成为其附加到的每个 OU 以及 OU 下的账户的有效策略。
{ "plans": { "@@operators_allowed_for_child_policies": ["@@none"], "PII_Backup_Plan": { "@@operators_allowed_for_child_policies": ["@@none"], "regions": { "@@operators_allowed_for_child_policies": ["@@none"], "@@append": [ "us-east-1", "ap-northeast-3", "eu-north-1" ] }, "rules": { "@@operators_allowed_for_child_policies": ["@@none"], "Hourly": { "@@operators_allowed_for_child_policies": ["@@none"], "schedule_expression": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "cron(0 0/1 ? * * *)" }, "start_backup_window_minutes": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "60" }, "target_backup_vault_name": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "FortKnox" }, "index_actions": { "@@operators_allowed_for_child_policies": ["@@none"], "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "@@operators_allowed_for_child_policies": ["@@none"], "move_to_cold_storage_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "28" }, "delete_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "180" }, "opt_in_to_archive_for_supported_resources": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "false" } }, "copy_actions": { "@@operators_allowed_for_child_policies": ["@@none"], "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault": { "@@operators_allowed_for_child_policies": ["@@none"], "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault", "@@operators_allowed_for_child_policies": ["@@none"] }, "lifecycle": { "@@operators_allowed_for_child_policies": ["@@none"], "delete_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "28" }, "move_to_cold_storage_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "180" }, "opt_in_to_archive_for_supported_resources": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "false" } } } } } }, "selections": { "@@operators_allowed_for_child_policies": ["@@none"], "tags": { "@@operators_allowed_for_child_policies": ["@@none"], "datatype": { "@@operators_allowed_for_child_policies": ["@@none"], "iam_role_arn": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "arn:aws:iam::$account:role/MyIamRole" }, "tag_key": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "dataType" }, "tag_value": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": [ "PII", "RED" ] } } } }, "advanced_backup_settings": { "@@operators_allowed_for_child_policies": ["@@none"], "ec2": { "@@operators_allowed_for_child_policies": ["@@none"], "windows_vss": { "@@assign": "enabled", "@@operators_allowed_for_child_policies": ["@@none"] } } } } } }
生成的有效策略 – 如果存在任何子备份策略,则会忽略这些策略,而父策略将成为有效策略。
{ "plans": { "PII_Backup_Plan": { "regions": [ "us-east-1", "ap-northeast-3", "eu-north-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/1 ? * * *)", "start_backup_window_minutes": "60", "target_backup_vault_name": "FortKnox", "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "delete_after_days": "2", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" }, "copy_actions": { "target_backup_vault_arn": "arn:aws:backup:us-east-1:123456789012:backup-vault:secondary_vault", "lifecycle": { "move_to_cold_storage_after_days": "28", "delete_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::123456789012:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } }, "advanced_backup_settings": { "ec2": {"windows_vss": "enabled"} } } } }
示例 4:父策略阻止子策略对一个备份计划进行更改
在以下示例中,继承的父策略使用子控制运算符强制执行单个计划的设置,并防止它们被子策略更改或覆盖。子策略仍然可以添加其他计划。
父策略 – 此策略可以附加到组织根或任何父 OU。此示例与前一个示例类似,所有子继承运算符都被阻止,但 plans 顶级处除外。该级别的 @@append 设置使子策略能够将其他计划添加到有效策略中的集合。对继承计划的任何更改仍被阻止。
为清楚起见,截断了计划中的相应部分。
{ "plans": { "@@operators_allowed_for_child_policies": ["@@append"], "PII_Backup_Plan": { "@@operators_allowed_for_child_policies": ["@@none"], "regions": { ... }, "rules": { ... }, "selections": { ... } } } }
子策略 – 此策略可以直接附加到账户,或附加到父策略所附加到的级别以下的任何级别的 OU。此子策略定义一个新计划。
为清楚起见,截断了计划中的相应部分。
{ "plans": { "MonthlyBackupPlan": { "regions": { ... }, "rules": { ... }, "selections": { … } } } }
生成的有效策略 – 有效策略包括这两个计划。
{ "plans": { "PII_Backup_Plan": { "regions": { ... }, "rules": { ... }, "selections": { ... } }, "MonthlyBackupPlan": { "regions": { ... }, "rules": { ... }, "selections": { … } } } }
示例 5:子策略覆盖父策略中的设置
在以下示例中,子策略使用值设置运算符来覆盖从父策略继承的某些设置。
父策略 – 此策略可以附加到组织根或任何父 OU。子策略可以覆盖任何设置,因为在没有阻止子策略的子控制运算符的情况下,默认行为是允许子策略执行 @@assign、@@append 或 @@remove。父策略包含有效备份计划所需的所有元素,因此,如果它按原样继承,则会成功备份您的资源。
{ "plans": { "PII_Backup_Plan": { "regions": { "@@append": [ "us-east-1", "ap-northeast-3", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": {"@@assign": "cron(0 0/1 ? * * *)"}, "start_backup_window_minutes": {"@@assign": "60"}, "target_backup_vault_name": {"@@assign": "FortKnox"}, "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "delete_after_days": {"@@assign": "2"}, "move_to_cold_storage_after_days": {"@@assign": "180"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:t2": { "target_backup_vault_arn": {"@@assign": "arn:aws:backup:us-east-1:$account:backup-vault:t2"}, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "28"}, "delete_after_days": {"@@assign": "180"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": {"@@assign": "arn:aws:iam::$account:role/MyIamRole"}, "tag_key": {"@@assign": "dataType"}, "tag_value": { "@@assign": [ "PII", "RED" ] } } } } } } }
子策略 – 子策略仅包含需要与继承的父策略不同的设置。必须有一个继承的父策略,该策略在合并到有效策略时提供其他所需设置。否则,有效备份策略会包含无效的备份计划,无法按预期备份您的资源。
{ "plans": { "PII_Backup_Plan": { "regions": { "@@assign": [ "us-west-2", "eu-central-1" ] }, "rules": { "Hourly": { "schedule_expression": {"@@assign": "cron(0 0/2 ? * * *)"}, "start_backup_window_minutes": {"@@assign": "80"}, "target_backup_vault_name": {"@@assign": "Default"}, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "30"}, "delete_after_days": {"@@assign": "365"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} } } } } } }
生成的有效策略 – 有效策略包括来自这两个策略的设置,由子策略提供的设置将覆盖从父级继承的设置。在此示例中,将发生以下更改:
-
区域列表替换为完全不同的列表。如果要将区域添加到继承的列表中,请在子策略中使用
@@append而不是@@assign。 -
AWS Backup 每隔一小时执行一次,而不是每小时执行一次。
-
AWS Backup 允许开始备份的时间为 80 分钟,而不是 60 分钟。
-
AWS Backup 使用保
Default管库而不是FortKnox。 -
向冷存储转移和最终删除备份的生命周期都会延长。
{ "plans": { "PII_Backup_Plan": { "regions": [ "us-west-2", "eu-central-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/2 ? * * *)", "start_backup_window_minutes": "80", "target_backup_vault_name": "Default", "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "delete_after_days": "365", "move_to_cold_storage_after_days": "30", "opt_in_to_archive_for_supported_resources": "false" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault": { "target_backup_vault_arn": {"@@assign": "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault"}, "lifecycle": { "move_to_cold_storage_after_days": "28", "delete_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::$account:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } } } } }
示例 6:使用 tags 块指定资源
以下示例包括 tag_key = “env” 和 tag_value = "prod" 以及 "gamma" 的所有资源。此示例不包括 tag_key = "backup" 和 tag_value = "false" 的资源。
... "selections":{ "tags":{ "selection_name":{ "iam_role_arn": {"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "tag_key":{"@@assign": "env"}, "tag_value":{"@@assign": ["prod", "gamma"]}, "conditions":{ "string_not_equals":{ "condition_name1":{ "condition_key": { "@@assign": "aws:ResourceTag/backup" }, "condition_value": { "@@assign": "false" } } } } } } }, ...
示例 7:使用 resources 块指定资源
以下是使用 resources 块指定资源的示例。