本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
备份策略语法和示例
本页介绍备份策略语法并提供示例。
备份策略的语法
备份策略是一个纯文本文件,根据 JSON
备份策略的这一部分是备份计划及其规则。备份策略中备份计划的语法在结构上与使用的语法相同 AWS Backup,但密钥名称不同。 AWS Organizations 在下面对策略密钥名称的描述中,每个名称都包含等效的 AWS Backup 计划密钥名称。有关 AWS Backup 套餐的更多信息,请参阅CreateBackupPlan《AWS Backup 开发人员指南》。
注意
使用 JSON 时,重复的密钥名称将被拒绝。如果您想在单个策略中包含多个计划、规则或选项,请确保每个密钥的名称都是唯一的。
有效备份策略要完整而实用,必须不仅仅包括备份计划及其时间安排和规则。该策略还必须确定要备份的 AWS 区域 和资源,以及 AWS Backup 可用于执行备份的 AWS Identity and Access Management (IAM) 角色。
以下功能完整的策略显示了基本备份策略语法。如果此示例直接关联到账户,则 AWS Backup 会备份该账户在us-east-1
和eu-north-1
区域中标签值dataType
为PII
或的所有资源RED
。它每天上午 5:00 将这些资源备份到 My_Backup_Vault
中,同时将副本存储在 My_Secondary_Vault
中。这两个文件库与资源位于同一个账户中。它还会将备份的副本存储在另一个明确指定的账户中的 My_Tertiary_Vault
中。这些文件库必须已经存在于每个接收有效策略 AWS 区域 的指定文件库中。 AWS 账户 如果任何备份资源都是 EC2 实例,则会对这些实例上的备份启用对 Microsoft 卷影复制服务(VSS)的支持。该备份将标签 Owner:Backup
应用到每个恢复点。
{ "plans": { "PII_Backup_Plan": { "rules": { "My_Hourly_Rule": { "schedule_expression": {"@@assign": "cron(0 5 ? * * *)"}, "start_backup_window_minutes": {"@@assign": "60"}, "complete_backup_window_minutes": {"@@assign": "604800"}, "enable_continuous_backup": {"@@assign": false}, "target_backup_vault_name": {"@@assign": "My_Backup_Vault"}, "recovery_point_tags": { "Owner": { "tag_key": {"@@assign": "Owner"}, "tag_value": {"@@assign": "Backup"} } }, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "180"}, "delete_after_days": {"@@assign": "270"} }, "copy_actions": { "arn:aws:backup:us-west-2:$account:backup-vault:My_Secondary_Vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-west-2:$account:backup-vault:My_Secondary_Vault" }, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "180"}, "delete_after_days": {"@@assign": "270"} } }, "arn:aws:backup:us-east-1:$account:backup-vault:My_Tertiary_Vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:111111111111:backup-vault:My_Tertiary_Vault" }, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "180"}, "delete_after_days": {"@@assign": "270"} } } } } }, "regions": { "@@append": [ "us-east-1", "eu-north-1" ] }, "selections": { "tags": { "My_Backup_Assignment": { "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"} } }, "backup_plan_tags": { "stage": { "tag_key": {"@@assign": "Stage"}, "tag_value": {"@@assign": "Beta"} } } } } }
备份策略语法包括以下组件:
-
$account
变量 – 在策略的某些文本字符串中,可以使用$account
变量来表示当前 AWS 账户。在有效策略中 AWS Backup 运行计划时,它会自动将此变量替换为有效策略及其计划正在运行的当前 AWS 账户 变量。重要
您只能在可以包含 Amazon Resource Name(ARN)的策略元素中使用
$account
变量,例如指定要存储备份的备份文件库的元素或具有执行备份的权限的 IAM 角色。例如,以下内容要求该策略适用的每个文件库中都 AWS 账户 必须
My_Vault
存在名为的文件库。arn:aws:backup:us-west-2:$account:vault:My_Vault"
我们建议您使用 AWS CloudFormation 堆栈集及其与 Organizations 的集成,为组织中的每个成员账户自动创建和配置备份库和 IAM 角色。有关更多信息,请参阅《AWS CloudFormation 用户指南》中的创建具有自行管理权限的堆栈套。
-
plans
策略的顶级键是
plans
键。在策略文件顶部,备份策略必须始终以此固定键名称开头。在此键下,您可以有一个或多个备份计划。 -
plans
顶级键下的每个计划都有一个由用户分配的备份计划名称组成的键名称。在前面的示例中,备份计划名称为PII_Backup_Plan
。一个策略中可以有多个计划,每个计划都有自己的rules
、regions
、selections
和tags
。备份策略中的此备份计划密钥名称映射到 AWS Backup 计划中该
BackupPlanName
密钥的值。每个计划可以包含以下元素:
-
rules
– 此键包含规则集合。每个规则都转换为一个计划任务,其中包含有效备份策略中由selections
和regions
元素标识的资源的开始时间和时段。 -
regions
— 此密钥包含一个数组列表,其中列出了此策略可以备份 AWS 区域 其资源。 -
selections
– 此键包含一个或多个按指定rules
备份的资源集合(在指定的regions
内)。 -
advanced_backup_settings
– 此键包含特定于在某些资源上运行的备份的设置。 -
backup_plan_tags
– 此键指定附加到备份计划本身的标签。
-
-
rules
rules
策略键映射到 AWS Backup 计划中的Rules
键。rules
键下可以有一个或多个规则。每个规则都会成为执行选定资源备份的计划任务。每个规则都包含一个其名称是规则名称的键。在前一个示例中,规则名称为“My_Hourly_Rule”。规则键的值是以下规则元素集合:
-
schedule_expression
— 此策略密钥映射到 AWS Backup 计划中的ScheduleExpression
密钥。指定备份的开始时间。此键包含@@assign继承值运算符和带有 CRON 表达式的字符串值,该表达式
指定何时 AWS Backup 启动备份作业。CRON 字符串的一般格式为:“cron( )”。每一项都是一个数字或通配符。例如, cron(0 5 ? * 1,3,5 *)
表示在每个星期一、星期三和星期五的上午 5 点开始备份。cron(0 0/1 ? * * *)
表示在每周中的每天中的每小时开始一次备份。 -
target_backup_vault_name
— 此策略密钥映射到 AWS Backup 计划中的TargetBackupVaultName
密钥。指定要在其中存储备份的备份文件库的名称。您可以通过使用来创造价值 AWS Backup。此键包含 @@assign 继承值运算符和一个具有文件库名称的字符串值。
重要
首次启动备份计划时,该文件库必须已存在。我们建议您使用 AWS CloudFormation 堆栈集及其与 Organizations 的集成,为组织中的每个成员账户自动创建和配置备份库和 IAM 角色。有关更多信息,请参阅《AWS CloudFormation 用户指南》中的创建具有自行管理权限的堆栈集。
-
start_backup_window_minutes
— 此策略密钥映射到 AWS Backup 计划中的StartWindowMinutes
密钥。(可选)指定在取消未成功启动的作业之前等待的分钟数。此键包含 @@assign 继承值运算符和一个具有整数分钟数的值。
-
complete_backup_window_minutes
– 此策略键映射到 AWS Backup 计划中的CompletionWindowMinutes
键。(可选)指定备份作业成功启动之后到备份作业必须完成或由 AWS Backup取消之前的分钟数。此键包含 @@assign 继承值运算符和一个具有整数分钟数的值。
-
enable_continuous_backup
— 此策略密钥映射到 AWS Backup 计划中的EnableContinuousBackup
密钥。(可选)指定是否 AWS Backup 创建连续备份。
True
导致创建 AWS Backup 能够 point-in-time 恢复的连续备份 (PITR)。False
(或未指定)创建快照备份的原因 AWS Backup 。注意
由于启用 PITR 的备份最多可以保留 35 天,因此如果设置了以下选项之一,您必须选择
False
或不指定值:-
将
delete_after_days
设置为大于 35。 -
将
move_to_cold_storage_after_days
设置为任何值。
有关连续备份的更多信息,请参阅《AWS Backup 开发人员指南》中的 P re oint-in-time co very。
-
-
lifecycle
— 此策略密钥映射到 AWS Backup 计划中的Lifecycle
密钥。(可选)指定何 AWS Backup 时将此备份转换为冷存储以及何时过期。
-
move_to_cold_storage_after_days
— 此策略密钥映射到 AWS Backup 计划中的MoveToColdStorageAfterDays
密钥。指定备份发生之后到 AWS Backup 将恢复点移到冷存储之前的天数。此键包含 @@assign 继承值运算符和一个具有整数天数的值。
-
delete_after_days
— 此策略密钥映射到 AWS Backup 计划中的DeleteAfterDays
密钥。指定备份发生之后到 AWS Backup 删除恢复点之前的天数。此键包含 @@assign 继承值运算符和一个具有整数天数的值。如果将备份过渡到冷存储,则备份必须至少保持冷存储 90 天,因此该值必须至少比
move_to_cold_storage_after_days
值多 90 天。
-
-
copy_actions
— 此策略密钥映射到 AWS Backup 计划中的CopyActions
密钥。(可选)指定 AWS Backup 应将备份复制到一个或多个其他位置。每个备份副本位置描述如下:
-
其名称唯一标识此复制操作的键。目前,键名称必须是备份文件库的 Amazon Resource Name(ARN)。此键包含两个条目。
-
target_backup_vault_arn
– 此策略键映射到 AWS Backup 计划中的DestinationBackupVaultArn
键。(可选)指定 AWS Backup 存储额外备份副本的存储库。此键的值包含 @@assign 继承值运算符和文件库的 ARN。
-
要在中 AWS 账户 引用运行备份策略的文件库,请使用 ARN 中的
$account
变量代替账户 ID 号。 AWS Backup 运行备份计划时,它会自动将变量替换为运行策略 AWS 账户 的账户 ID 号。这样,当备份策略应用于组织中的多个账户时,备份就可以正确运行。 -
要在同一组织内的不同 AWS 账户 中引用文件库,请使用 ARN 中的实际账户 ID 号。
重要
-
如果缺少此键,则使用父键名称中所有小写版本的 ARN。由于 ARN 区分大小写,因此此字符串可能与故障的实际 ARN 不匹配,因此计划失败。为此,我们建议您始终提供此键和值。
-
首次启动备份计划时,您希望复制的备份文件库必须已存在。我们建议您使用 AWS CloudFormation 堆栈套及其与 Organizations 的集成,为组织中的每个成员账户自动创建和配置备份文件库和 IAM 角色。有关更多信息,请参阅《AWS CloudFormation 用户指南》中的创建具有自行管理权限的堆栈套。
-
-
lifecycle
— 此策略密钥映射到 AWS Backup 计划中CopyAction
密Lifecycle
钥下的密钥。(可选)指定何 AWS Backup 时将此备份副本转换为冷存储以及何时过期。
-
move_to_cold_storage_after_days
– 此策略键映射到 AWS Backup 计划中的MoveToColdStorageAfterDays
键。指定备份后在将恢复点 AWS Backup 移至冷存储之前的天数。此键包含 @@assign 继承值运算符和一个具有整数天数的值。
-
delete_after_days
– 此策略键映射到 AWS Backup 计划中的DeleteAfterDays
键。指定备份发生后在 AWS Backup 删除恢复点之前的天数。此键包含 @@assign 继承值运算符和一个具有整数天数的值。如果将备份过渡到冷存储,则备份必须至少保持冷存储 90 天,因此该值必须至少比
move_to_cold_storage_after_days
值多 90 天。
-
-
-
-
recovery_point_tags
— 此策略密钥映射到 AWS Backup 计划中的RecoveryPointTags
密钥。(可选)指定 AWS Backup 附加到根据该计划创建的每个备份的标签。此键的值包含以下一个或多个元素:
-
此键名称和值对的标识符。
recovery_point_tags
下的每个元素的此名称都是全部小写的标签键名称,即使tag_key
具有不同的大小写处理方式也是如此。此标识符不 区分大小写。在前一个示例中,此键对由名称Owner
标识。每个键对都包含以下元素:-
tag_key
– 指定要附加到备份计划的标签键名称。此键包含 @@assign 继承值运算符和一个字符串值。 值区分大小写。 -
tag_value
:指定附加到备份计划并与tag_key
关联的值。此键包含任何继承值运算符以及一个或多个要在有效策略中替换、追加或删除的值。这些值区分大小写。
-
-
-
-
regions
regions
策略密钥指定 AWS 区域 在哪些资源中 AWS Backup 查找与selections
密钥中的条件相匹配的资源。此键包含任何继承值运算符以及 AWS 区域 代码的一个或多个字符串值,例如:["us-east-1", "eu-north-1"]
。 -
selections
selections
策略键指定由此策略中的计划规则备份的资源。此键大致对应于中的BackupSelection对象 AWS Backup。资源由匹配标签键名称和值的查询指定。selections
键下面包含一个键 –tags
。-
tags
– 指定标识资源以及具有查询和备份资源权限的 IAM 角色的标签。此键的值包含以下一个或多个元素:-
此标签元素的标识符。
tags
下的此标识符是全部小写的标签键名称,即使要查询的标签具有不同的大小写处理方式也是如此。此标识符不 区分大小写。在前一个示例中,一个元素是由名称My_Backup_Assignment
标识的。tags
下的每个标识符都包含以下元素:-
iam_role_arn
– 指定有权访问资源(由regions
键指定的 AWS 区域 中的标签查询标识)的 IAM 角色。此值包含@@assign继承值运算符和包含角色的 ARN 的字符串值。 AWS Backup 使用此角色查询和发现资源以及执行备份。您可以使用 ARN 中的
$account
变量来代替账户 ID 号。当备份计划由运行时 AWS Backup,它会自动将变量替换为运行该策略的实际账户 ID 号。 AWS 账户重要
首次启动备份计划时,该角色必须已存在。我们建议您使用 AWS CloudFormation 堆栈集及其与 Organizations 的集成,为组织中的每个成员账户自动创建和配置备份库和 IAM 角色。有关更多信息,请参阅《AWS CloudFormation 用户指南》中的创建具有自行管理权限的堆栈套。
-
tag_key
– 指定要搜索的标签键名称。此键包含 @@assign 继承值运算符和一个字符串值。 值区分大小写。 -
tag_value
— 指定必须与匹配的键名关联的值tag_key
。 AWS Backup 只有当tag_key
和都tag_value
匹配时,才会将资源包含在备份中。此键包含任何继承值运算符以及一个或多个要在有效策略中替换、追加或删除的值。这些值区分大小写。
-
-
-
-
advanced_backup_settings
– 指定特定备份方案的设置。此键包含一个或多个设置。每个设置都是一个 JSON 对象字符串,其中包含以下元素:-
对象键名称 – 一个字符串,它指定应用以下高级设置的资源类型。
-
对象值 – 一个 JSON 对象字符串,包含特定于关联资源类型的一个或多个备份设置。
目前,唯一支持的高级备份设置为在 Amazon EC2 实例上运行的,为 Windows 或 SQL Server 启用的 Microsoft 卷影复制服务(VSS)备份。键名称必须是
"ec2"
资源类型,而值指定在这些 Amazon EC2 实例上执行备份时"windows_vss"
支持为enabled
或disabled
。有关此功能的更多信息,请参阅《AWS Backup 开发人员指南》中的创建启用 VSS 的 Windows Backup。"advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } }
-
-
backup_plan_tags
– 指定附加到备份计划本身的标签。这不会影响任何规则或选择中指定的标签。(可选)您可以将标签附加到备份计划。此键的值是元素的集合。
backup_plan_tags
下的每个元素的键名称都是全部小写的标签键名称,即使要查询的标签具有不同的大小写处理方式也是如此。此标识符不 区分大小写。这些条目中的每一个条目的值都由以下键组成:-
tag_key
– 指定要附加到备份计划的标签键名称。此键包含 @@assign 继承值运算符和一个字符串值。此值区分大小写。 -
tag_value
:指定附加到备份计划并与tag_key
关联的值。此键包含 @@assign 继承值运算符和一个字符串值。此值区分大小写。
-
备份策略示例
下面的示例备份策略仅供参考。在以下某些示例中,可能会压缩 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" } }, "target_backup_vault_name": { "@@assign": "FortKnox" }, "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" } } }, "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" } } } } } }, "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", "lifecycle": { "to_delete_after_days": "2", "move_to_cold_storage_after_days": "180" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:secondary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:vault:secondary_vault" }, "lifecycle": { "to_delete_after_days": "28", "move_to_cold_storage_after_days": "180" } }, "arn:aws:backup:us-west-1:111111111111:vault:tertiary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-west-1:111111111111:vault:tertiary_vault" }, "lifecycle": { "to_delete_after_days": "28", "move_to_cold_storage_after_days": "180" } } } } }, "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" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "28" }, "to_delete_after_days": { "@@assign": "180" } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:secondary_vault" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:vault:secondary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "28" }, "to_delete_after_days": { "@@assign": "180" } } } } } }, "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" }, "to_delete_after_days": { "@@assign": "365" } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:Default" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:vault:Default" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "to_delete_after_days": { "@@assign": "365" } } } } } }, "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", "lifecycle": { "to_delete_after_days": "2", "move_to_cold_storage_after_days": "180" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:secondary_vault" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:vault:secondary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": "28", "to_delete_after_days": "180" } } } } }, "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": { "to_delete_after_days": "365", "move_to_cold_storage_after_days": "30" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:Default" : { "target_backup_vault_arn": { "@@assign" : "arn:aws:backup:us-east-1:$account:vault:Default" }, "lifecycle": { "move_to_cold_storage_after_days": "30", "to_delete_after_days": "365" } } } } }, "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" }, "lifecycle": { "@@operators_allowed_for_child_policies": ["@@none"], "move_to_cold_storage_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "28" }, "to_delete_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "180" } }, "copy_actions": { "@@operators_allowed_for_child_policies": ["@@none"], "arn:aws:backup:us-east-1:$account:vault:secondary_vault": { "@@operators_allowed_for_child_policies": ["@@none"], "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:vault:secondary_vault", "@@operators_allowed_for_child_policies": ["@@none"] }, "lifecycle": { "@@operators_allowed_for_child_policies": ["@@none"], "to_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" } } } } } }, "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", "lifecycle": { "to_delete_after_days": "2", "move_to_cold_storage_after_days": "180" }, "copy_actions": { "target_backup_vault_arn": "arn:aws:backup:us-east-1:123456789012:vault:secondary_vault", "lifecycle": { "move_to_cold_storage_after_days": "28", "to_delete_after_days": "180" } } } }, "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"}, "lifecycle": { "to_delete_after_days": {"@@assign": "2"}, "move_to_cold_storage_after_days": {"@@assign": "180"} }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:t2": { "target_backup_vault_arn": {"@@assign": "arn:aws:backup:us-east-1:$account:vault:t2"}, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "28"}, "to_delete_after_days": {"@@assign": "180"} } } } } }, "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"}, "to_delete_after_days": {"@@assign": "365"} } } } } } }
生成的有效策略 – 有效策略包括来自这两个策略的设置,由子策略提供的设置将覆盖从父级继承的设置。在此示例中,将发生以下更改:
-
区域列表替换为完全不同的列表。如果要将区域添加到继承的列表中,请在子策略中使用
@@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", "lifecycle": { "to_delete_after_days": "365", "move_to_cold_storage_after_days": "30" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:secondary_vault": { "target_backup_vault_arn": {"@@assign": "arn:aws:backup:us-east-1:$account:vault:secondary_vault"}, "lifecycle": { "move_to_cold_storage_after_days": "28", "to_delete_after_days": "180" } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::$account:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } } } } }