本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
備份政策語法和範例
此頁面說明備份政策語法並提供範例。
備份政策的語法
備份政策是根據 JSON
備份政策的主體是備份計劃及其規則。備份 AWS Organizations 政策中備份計劃的語法結構上與 使用的語法相同 AWS Backup,但金鑰名稱不同。在以下政策金鑰名稱的描述中,每個 都包含對等的 AWS Backup 計劃金鑰名稱。如需 AWS Backup 計劃的詳細資訊,請參閱《 AWS Backup 開發人員指南》中的 CreateBackupPlan。
注意
使用 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"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} }, "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"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} } }, "arn:aws:backup:us-east-1:111111111111: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"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} } } } } }, "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:backup-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繼承值運算子和字串值,其中包含指定 AWS Backup 何時啟動備份任務的 CRON 表達
式。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 開發人員指南中的 point-in-time 恢復。
-
-
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
。 -
opt_in_to_archive_for_supported_resources
– 此政策金鑰會映射至 AWS Backup 計劃中的OptInToArchiveForSupportedResources
金鑰。如果將此值指派為
true
,您的備份計畫會根據您的生命週期設定,將支援的資源轉換為封存 (冷) 儲存層。如需 Amazon EBS 快照封存層的詳細資訊,請參閱《Amazon EBS 使用者指南》中的封存 Amazon EBS 快照。只有在符合下列條件時,您才能啟用此設定:
您的備份政策的頻率為一個月或更久。
move_to_cold_storage_after_days
必須存在。delete_after_days
負數move_to_cold_storage_after_days
大於或等於 90 天。
此索引鍵包含@@assign繼承值運算子和
true
或 的值false
。
-
-
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 的全小寫版本。由於 ARNs區分大小寫,此字串可能與文件庫的實際 ARN 不相符,且計劃失敗。因此,我們建議您始終提供此索引鍵和值。
-
首次啟動備份計劃時,要將複製備份的目標備份保存庫必須已經存在。建議您使用 AWS CloudFormation StackSets 及其與 Organizations 的整合,自動為組織中的每個成員帳戶,建立並設定備份保存庫和 IAM 角色。如需詳細資訊,請參閱AWS CloudFormation 使用者指南中的建立具有自我管理許可的堆疊集。
-
-
lifecycle
– 此政策金鑰會映射至 AWS Backup 計劃中Lifecycle
金鑰下的CopyAction
金鑰。(選用) 指定 何時將此備份複本 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
政策索引鍵指定此政策中的計劃規則所備份的資源。此索引鍵大致對應於 AWS Backup中的 BackupSelection 物件。由查詢比對標籤鍵名稱和值來指定資源。selections
金鑰下包含兩個金鑰 –tags
和resources
。注意
tags
和resources
金鑰不能在相同的選擇中一起使用。如果您想要同時具有標籤條件和資源條件的選擇,則必須使用resources
金鑰。有效的政策在選擇resources
中必須有tags
或 才有效。-
tags
– 指定用於識別資源的標籤,以及有權查詢和備份資源的 IAM 角色。此索引鍵的值包含下列一或多個元素:-
此標籤元素的識別符。即使要查詢的標籤有不同的大小寫處理方式,在
tags
之下,此識別符是全部小寫的標籤鍵名稱。此識別符「不」區分大小寫。在上一個範例中,有一個元素由名稱My_Backup_Assignment
所識別。tags
之下的每個識別符都包含下列元素:-
iam_role_arn
– 指定 IAM 角色,該角色有權在regions
索引鍵所指定的 AWS 區域 中,存取由標籤查詢所識別的資源。此值包含@@assign繼承值運算子,以及包含角色 ARN 的字串值。 AWS Backup 使用此角色來查詢和探索資源,並執行備份。您可以在 ARN 中使用
$account
變數來代替帳戶 ID 號碼。執行備份計劃時 AWS Backup,它會自動將變數取代為政策執行 AWS 帳戶 所在 的實際帳戶 ID 號碼。重要
第一次啟動備份計劃時,此角色必須已存在。我們建議您使用 AWS CloudFormation 堆疊集及其與 Organizations 的整合,為組織中的每個成員帳戶自動建立和設定備份文件庫和 IAM 角色。如需詳細資訊,請參閱AWS CloudFormation 使用者指南中的建立具有自我管理許可的堆疊集。
-
tag_key
– 指定要搜尋的標籤鍵名稱。此索引鍵包含 @@assign 繼承值運算子和字串值。 值會區分大小寫。 -
tag_value
– 指定必須與符合 的金鑰名稱相關聯的值tag_key
。只有在tag_key
和 相符時,才會在備份中 AWS Backup 包含資源tag_value
。此索引鍵包含任何繼承值運算子,以及要在有效政策中取代、附加或移除的一或多個值。這些值區分大小寫。 -
conditions
– 指定您要包含或排除的標籤索引鍵和值。您可以使用string_equals
或string_not_equals to include or exclude tags of an exact match
。您也可以使用string_like
和string_not_like
來包含或排除包含或不包含特定字元的標籤。注意
每個選擇限制
conditions
為 30 個。
-
範例:使用
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" } } } } } } }, ... -
-
resources
– 如果您想要同時使用標籤條件和資源條件來指定資源,則必須使用resources
金鑰。-
iam_role_arn
– 指定 IAM 角色,該角色有權在regions
索引鍵所指定的 AWS 區域 中,存取由標籤查詢所識別的資源。此值包含@@assign繼承值運算子和字串值,其中包含角色的 ARN。 AWS Backup 使用此角色來查詢和探索資源,並執行備份。您可以在 ARN 中使用
$account
變數來代替帳戶 ID 號碼。執行備份計劃時 AWS Backup,它會自動將變數取代為政策執行 AWS 帳戶 所在 的實際帳戶 ID 號碼。重要
第一次啟動備份計劃時,此角色必須已存在。我們建議您使用 AWS CloudFormation 堆疊集及其與 Organizations 的整合,為組織中的每個成員帳戶自動建立和設定備份文件庫和 IAM 角色。如需詳細資訊,請參閱AWS CloudFormation 使用者指南中的建立具有自我管理許可的堆疊集。
注意
在 中 AWS GovCloud (US) Regions,您必須將分割區的名稱新增至 ARN。例如,
"arn:aws:ec2:*:*:volume/*"
必須為"arn:aws-us-gov:ec2:*:*:volume/*"
。 -
resource_types
– 指定您要包含在備份計劃中的資源類型。 -
not_resource_types
– 指定您要在備份計劃中排除的資源類型。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/*"
Amazon EC2 執行個體:
"arn:aws:ec2:*:*:instance/*"
Amazon EBS 磁碟區:
"arn:aws:ec2:*:*:volume/*"
Amazon EFS 檔案系統:
"arn:aws:elasticfilesystem:*:*:file-system/*"
Amazon 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/*"
-
conditions
– 指定您要包含或排除的標籤索引鍵和值。您可以使用string_equals
或string_not_equals to include or exclude tags of an exact match
。您也可以使用string_like
和string_not_like
來包含或排除包含或不包含特定字元的標籤。注意
每個選擇限制
conditions
為 30 個。
範例:使用
resources
區塊指定資源以下是使用
resources
區塊來指定資源的範例。 -
-
-
advanced_backup_settings
– 指定特定備份案例的設定。此索引鍵包含一個或多個設定。每個設定都是包含下列元素的 JSON 物件字串:-
物件索引鍵名稱 – 字串,指定要套用下列進階設定的資源類型。
-
物件值 – JSON 物件字串,其中包含特定於相關資源類型的一個或多個備份設定。
目前,唯一支援的進階備份設定可為在 Amazon EC2 執行個體上執行的 Windows 或 SQL 伺服器,啟用 Microsoft 磁碟區陰影複製服務 (VSS) 備份。索引鍵名稱必須是
"ec2"
資源類型,且值會指定"windows_vss"
支援是enabled
或disabled
,以在這些 Amazon EC2 執行個體上執行備份。如需此功能的詳細資訊,請參閱AWS Backup 開發人員指南中的建立支援 VSS 的 Windows Backup。
範例:使用
advanced_backup_settings
區塊指定備份案例下列範例示範如何為在 Amazon EC2 執行個體上執行的 Windows 或 SQL Server 啟用 Microsoft Volume Shadow Copy Service (VSS) 備份。
... "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" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "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" }, "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", "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" }, "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 之下任何層級的 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", "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" }, "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", "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 之下任何層級的 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": { "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", "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" ] } } } } } }