備份政策語法和範例 - AWS Organizations

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

備份政策語法和範例

此頁面說明備份政策語法並提供範例。

備份政策的語法

備份政策是根據 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-1eu-north-1區域中該帳戶的所有資源,其標籤dataType的值為 PIIRED 。每天上午 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。您可以在一個政策中有多個計劃,每個計劃各有自己的 rulesregionsselectionstags

    備份政策中的此備份計劃金鑰名稱會映射至 AWS Backup 計劃中BackupPlanName金鑰的值。

    每個計劃都可以包含下列元素:

    • rules – 此索引鍵包含規則的集合。每個規則會轉譯為排程任務,其中含有開始時間和時段,以備份有效備份政策中的 selectionsregions 元素所識別的資源。

    • 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 金鑰下包含兩個金鑰 – tagsresources

    注意

    tagsresources金鑰不能在相同的選擇中一起使用。如果您想要同時具有標籤條件和資源條件的選擇,則必須使用 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_equalsstring_not_equals to include or exclude tags of an exact match。您也可以使用 string_likestring_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_equalsstring_not_equals to include or exclude tags of an exact match。您也可以使用 string_likestring_not_like 來包含或排除包含或不包含特定字元的標籤。

        注意

        每個選擇限制conditions為 30 個。

      範例:使用 resources區塊指定資源

      以下是使用 resources區塊來指定資源的範例。

      Example: Select all resources in my account

      布林值邏輯類似於您可能在 IAM 政策中使用的邏輯。"resource_types" 區塊使用布林值AND來結合資源類型。

      ... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "*" ] } } }, ...
      Example: Select all resources in my account, but exclude Amazon EBS volumes

      布林值邏輯類似於您可能在 IAM 政策中使用的邏輯。"resource_types""not_resource_types"區塊使用布林值AND來結合資源類型。

      ... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "*" ] }, "not_resource_types":{ "@@assign": [ "arn:aws:ec2:*:*:volume/*" ] } } }, ...
      Example: Select all resources tagged with "backup" : "true", but exclude Amazon EBS volumes

      布林值邏輯類似於您可能在 IAM 政策中使用的邏輯。"resource_types""not_resource_types"區塊使用布林值AND來結合資源類型。"conditions" 區塊使用布林值 AND

      ... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "*" ] }, "not_resource_types":{ "@@assign": [ "arn:aws:ec2:*:*:volume/*" ] }, "conditions":{ "string_equals":{ "condition_name1":{ "condition_key": { "@@assign":"aws:ResourceTag/backup"}, "condition_value": { "@@assign":"true" } } } } } }, ...
      Example: Select all Amazon EBS volumes and Amazon RDS DB instances tagged with both "backup" : "true" and "stage" : "prod"

      布林值邏輯類似於您可能在 IAM 政策中使用的邏輯。"resource_types" 區塊使用布林值AND來結合資源類型。"conditions" 區塊使用布林值AND來結合資源類型和標籤條件。

      ... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "arn:aws:ec2:*:*:volume/*", "arn:aws:rds:*:*:db:*" ] }, "conditions":{ "string_equals":{ "condition_name1":{ "condition_key":{"@@assign":"aws:ResourceTag/backup"}, "condition_value":{"@@assign":"true"} }, "condition_name2":{ "condition_key":{"@@assign":"aws:ResourceTag/stage"}, "condition_value":{"@@assign":"prod"} } } } } }, ...
      Example: Select all Amazon EBS volumes and Amazon RDS instances tagged with "backup" : "true" but not "stage" : "test"

      布林值邏輯類似於您在 IAM 政策中使用的邏輯。"resource_types" 區塊使用布林值AND來結合資源類型。"conditions" 區塊使用布林值AND來結合資源類型和標籤條件。

      ... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "arn:aws:ec2:*:*:volume/*", "arn:aws:rds:*:*:db:*" ] }, "conditions":{ "string_equals":{ "condition_name1":{ "condition_key":{"@@assign":"aws:ResourceTag/backup"}, "condition_value":{"@@assign":"true"} } }, "string_not_equals":{ "condition_name2":{ "condition_key":{"@@assign":"aws:ResourceTag/stage"}, "condition_value":{"@@assign":"test"} } } } } }, ...
      Example: Select all resources tagged with "key1" and a value which begins with "include" but not with "key2" and value that contains the word "exclude"

      布林值邏輯類似於您在 IAM 政策中使用的邏輯。"resource_types" 區塊使用布林值AND來結合資源類型。"conditions" 區塊使用布林值AND來結合資源類型和標籤條件。

      在此範例中,請注意在 include**exclude*(*)中使用萬用字元arn:aws:rds:*:*:db:*。您可以在字串(*)的開頭、結尾和中間使用萬用字元。

      ... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "*" ] }, "conditions":{ "string_like":{ "condition_name1":{ "condition_key":{"@@assign":"aws:ResourceTag/key1"}, "condition_value":{"@@assign":"include*"} } }, "string_not_like":{ "condition_name2":{ "condition_key":{"@@assign":"aws:ResourceTag/key2"}, "condition_value":{"@@assign":"*exclude*"} } } } } }, ...
      Example: Select all resources tagged with "backup" : "true" except Amazon FSx file systems and Amazon RDS resources

      布林值邏輯類似於您在 IAM 政策中使用的邏輯。"resource_types""not_resource_types"區塊使用布林值AND來結合資源類型。"conditions" 區塊使用布林值AND來結合資源類型和標籤條件。

      ... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "*" ] }, "not_resource_types":{ "@@assign":[ "arn:aws:fsx:*:*:file-system/*", "arn:aws:rds:*:*:db:*" ] }, "conditions":{ "string_equals":{ "condition_name1":{ "condition_key":{"@@assign":"aws:ResourceTag/backup"}, "condition_value":{"@@assign":"true"} } } } } }, ...
  • advanced_backup_settings – 指定特定備份案例的設定。此索引鍵包含一個或多個設定。每個設定都是包含下列元素的 JSON 物件字串:

    • 物件索引鍵名稱 – 字串,指定要套用下列進階設定的資源類型。

    • 物件值 – JSON 物件字串,其中包含特定於相關資源類型的一個或多個備份設定。

    目前,唯一支援的進階備份設定可為在 Amazon EC2 執行個體上執行的 Windows 或 SQL 伺服器,啟用 Microsoft 磁碟區陰影複製服務 (VSS) 備份。索引鍵名稱必須是 "ec2" 資源類型,且值會指定 "windows_vss" 支援是 enableddisabled,以在這些 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" ] } } } } } }