本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
备份策略语法和示例
本页介绍备份策略语法并提供示例。
备份策略的语法
备份策略是一个纯文本文件,根据 JSON
有关 Amazon Backup 计划的更多信息,请参阅Amazon Backup 开发人员指南CreateBackupPlan中的。
注意事项
策略语法
在 JSON 中重复的键名称将被拒绝。
策略必须指定要备份的 Amazon Web Services 区域 和资源。
策略必须指定 Amazon Backup 担任的 IAM 角色。
在同一级别使用@@assign
运算符可能会覆盖现有设置。有关更多信息,请参阅子女政策会覆盖家长策略中的设置。
继承运算符控制继承的策略和账户策略如何合并到账户的有效策略中。这些运算符包括值设置运算符和子控制运算符。
有关更多信息,请参阅继承运算符和 Backup 策略示例。
IAM 角色
首次创建备份计划时,IAM 角色必须存在。
IAM 角色必须有权访问通过标签查询标识的资源。
IAM 角色必须有权执行备份。
Backup 保管库
在运行备份计划 Amazon Web Services 区域 之前,每个指定的文件库都必须存在。
每个收到有效策略的 Amazon 账户都必须存在文件库。有关更多信息,请参阅《Amazon Backup 开发人员指南》中的 Backup 保管库创建和删除。
我们建议您使用 Amazon CloudFormation 堆栈套及其与 Organizations 的集成,为组织中的每个成员账户自动创建和配置备份文件库和 IAM 角色。有关更多信息,请参阅《Amazon CloudFormation 用户指南》中的创建具有自行管理权限的堆栈集。
配额
有关配额列表,请参阅《Amazon Backup 开发人员指南》中的Amazon Backup 配额。
Backup 语法:概览
备份策略语法包括以下组件:
{ "plans": { "PlanName": { "rules": { ... }, "regions": { ... }, "selections": { ... }, "advanced_backup_settings": { ... }, "backup_plan_tags": { ... } } } }
元素 | 描述 | 必填 |
---|---|---|
规则 | 备份规则列表。每条规则都定义了备份的启动时间以及regions 和selections 元素中指定的资源的执行窗口。 |
是 |
区域 | 备份策略可以保护资源 Amazon Web Services 区域 的地方列表。 | 是 |
选择 | 备份rules 保护的指定regions 资源类型中的一个或多个资源类型。 |
是 |
高级备份设置 | 特定备份方案的配置选项。 目前,唯一支持的高级备份设置为在 Amazon EC2 实例上运行的,为 Windows 或 SQL Server 启用的 Microsoft 卷影复制服务(VSS)备份。 |
否 |
backup_plan_tags | 要与备份计划关联的标签。每个标签都是由用户定义的键和值组成的标签。 标签可帮助您管理、识别、组织、搜索和筛选备份计划。 |
否 |
Backup 语法:规则
rules
策略密钥指定对选定资源 Amazon Backup
执行的定时备份任务。
元素 | 描述 | 必填 |
---|---|---|
schedule_expression |
CRON 表达式(采用 UTC),指定何时 Amazon Backup 启动备份作业。 有关 cron 表达式的信息,请参阅 A mazon EventBridge 用户指南中的使用 cron 和 rate 表达式计划规则。 |
是 |
target_backup_vault_name |
存储备份的 Backup 保管库。 Backup 文件库由用于创建它们的账户和创建它们的所 Amazon Web Services 区域 特有的名称标识。 |
是 |
start_backup_window_minutes |
如果备份作业未成功启动备份,则在取消之前等待的分钟数组被取消。 如果包含此值,则必须至少为 60 分钟才能避免错误。 |
否 |
complete_backup_window_minutes |
n 在备份作业必须完成或被 Amazon Backup取消之前成功启动备份作业后的分钟数。 | 否 |
enable_continuous_backup |
指定是否 Amazon Backup 创建连续备份。
有关连续备份的更多信息,请参阅《Amazon Backup 开发人员指南》中的 P oint-in-time 恢复。 注意:启用 PITR 的备份的最大保留期为 35 天。 |
否 |
lifecycle |
指定何 Amazon Backup 时将备份转移到冷存储以及何时到期。 可以转换为冷存储的资源类型在Amazon Backup 开发人员指南中的按资源划分的特征可用性表中列出。 每个生命周期都包含以下元素:
注意:转换为冷存储的备份必须在冷存储中存储至少 90 天。 这意味着 |
否 |
copy_actions |
指定是 Amazon Backup 将备份复制到一个还是多个其他位置。 每个复制操作都包含以下元素:
注意:转换为冷存储的备份必须在冷存储中存储至少 90 天。 这意味着 |
否 |
recovery_point_tags |
要分配给从备份还原的资源的标签。 每个标签都包含以下元素:
|
否 |
index_actions |
指定是否 Amazon Backup 为您的 Amazon EBS 快照和/或 Amazon S3 备份创建备份索引。创建备份索引是为了搜索备份的元数据。有关创建备份索引和备份搜索的更多信息,请参阅备份搜索。 注意:创建 Amazon EBS 快照备份索引需要其他 IAM 角色权限。 每个索引操作都包含以下元素: |
否 |
Backup 语法:区域
regions
策略键指定在其中 Amazon Web Services 区域 查找与 ke selections
y 中条件匹配的资源的。 Amazon Backup
元素 | 描述 | 必填 |
---|---|---|
regions |
指定 Amazon Web Services 区域 代码。例如: |
是 |
Backup 语法:选择
selections
策略密钥指定由备份策略中的规则备份的资源。
有两个相互排斥的元素:tags
和resources
。有效的策略必须have
是标签或选项resources
中才有效。
如果您想要同时包含标签条件和资源条件的选择,请使用resources
密钥。
元素 | 描述 | 必填 |
---|---|---|
iam_role_arn |
Amazon Backup 负责查询、发现和备份指定区域内资源的 IAM 角色。 该角色必须具有足够的权限,才能根据标签条件查询资源并对匹配的资源执行备份操作。 |
是 |
tag_key |
要搜索的标签密钥名称。 | 是 |
tag_value |
必须与匹配的 tag_key 关联的值。 Amazon Backup 仅当 tag_key 和 tag_value 都匹配时才包含资源(区分大小写)。 |
是 |
conditions |
标记要包含或排除的键和值 使用 string_equals 或 string_not_equals 来包含或排除完全匹配的标签。 使用 string_lik e 和 string_not_like 来包含或排除包含或不包含特定字符的标签 注意:每个选择仅限 30 个条件。 |
否 |
元素 | 描述 | 必填 |
---|---|---|
iam_role_arn |
Amazon Backup 负责查询、发现和备份指定区域内资源的 IAM 角色。 该角色必须具有足够的权限,才能根据标签条件查询资源并对匹配的资源执行备份操作。 注意:在中 Amazon GovCloud (US) Regions,您必须将分区的名称添加到 ARN。 例如,“ |
是 |
resource_types |
备份计划中包含的资源类型。 | 是 |
not_resource_types |
要从备份计划中排除的资源类型。 | 否 |
conditions |
标记要包含或排除的键和值 使用 string_equals 或 string_not_equals 来包含或排除完全匹配的标签。 使用 string_lik e 和 string_not_like 来包含或排除包含或不包含特定字符的标签 注意:每个选择仅限 30 个条件。 |
否 |
支持的资源类型
Organizations 支持resource_types
和not_resource_types
元素的以下资源类型:
-
Amazon Backup gateway 虚拟机:
"arn:aws:backup-gateway:*:*:vm/*"
-
Amazon 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 的 Amazon Systems Manager HANA 数据库:
"arn:aws:ssm-sap:*:*:HANA/*"
-
Amazon Storage Gateway 网关:
"arn:aws:storagegateway:*:*:gateway/*"
-
亚马逊 Timestream 数据库:
"arn:aws:timestream:*:*:database/*"
-
Amazon FSx 文件系统:
"arn:aws:fsx:*:*:file-system/*"
-
亚马逊 FSx 交易量:
"arn:aws:fsx:*:*:volume/*"
代码示例
有关更多信息,请参阅使用标签块指定资源和使用资源块指定资源。
备份语法:高级备份设置
该advanced_backup_settings
密钥指定了特定备份方案的配置选项。每个设置都包含以下元素:
元素 | 描述 | 必填 |
---|---|---|
advanced_backup_settings |
指定特定备份方案的设置。此键包含一个或多个设置。每个设置都是一个 JSON 对象字符串,其中包含以下元素: 目前,唯一支持的高级备份设置为在 Amazon EC2 实例上运行的,为 Windows 或 SQL Server 启用的 Microsoft 卷影复制服务(VSS)备份。 每个高级备份设置以下元素:
|
否 |
示例:
"advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } },
备份语法:备份计划标签
backup_plan_tags
策略键指定附加到备份计划本身的标签。这不会影响为rules
或指定的标签selections
。
元素 | 描述 | 必填 |
---|---|---|
backup_plan_tags |
每个标签都是由用户定义的键和值组成的标签:
|
否 |
备份策略示例
下面的示例备份策略仅供参考。在以下某些示例中,可能会压缩 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" }, "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" } } } } } }
如果没有其他策略继承或附加到账户,则在每个适用中呈现的有效策略 Amazon Web Services 账户 如下所示。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", "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:父策略与子策略合并
在以下示例中,继承的父策略和子策略继承或直接附加到 Amazon Web Services 账户 合并以形成有效策略。
父策略 – 此策略可以附加到组织根或任何父 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
。 -
Amazon Backup 每隔一小时执行一次,而不是每小时执行一次。
-
Amazon Backup 允许开始备份的时间为 80 分钟,而不是 60 分钟。
-
Amazon 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”
和 = "prod"
和 tag_value
= 的资源"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
区块指定资源的示例。