Sintassi ed esempi delle policy di backup - AWS Organizations

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Sintassi ed esempi delle policy di backup

In questa pagina viene descritta la sintassi delle policy di backup e vengono forniti esempi.

Sintassi per le policy di backup

Una policy di backup è un file di testo normale strutturato in base alle regole di JSON. La sintassi per le policy di backup segue la sintassi per tutti i tipi di policy di gestione. Per una discussione completa di tale sintassi, consulta Policy syntax and inheritance for management policy types. Questo argomento è incentrato sull'applicazione della sintassi generale ai requisiti specifici del tipo di policy di backup.

La parte sostanziale di una policy di backup è costituita dal piano di backup con le relative regole. La sintassi per il piano di backup all'interno di una policy di AWS Organizations backup è strutturalmente identica alla sintassi utilizzata da AWS Backup, ma i nomi delle chiavi sono diversi. Nelle descrizioni dei nomi delle chiavi delle policy riportate di seguito, ognuno include il nome chiave del piano equivalente AWS Backup . Per ulteriori informazioni sui AWS Backup piani, consulta CreateBackupPlanla Guida perAWS Backup gli sviluppatori.

Nota

Quando si utilizza JSON, i nomi di chiave duplicati verranno rifiutati. Se desideri includere più piani, regole o selezioni in un'unica politica, assicurati che il nome di ogni chiave sia univoco.

Per essere completa e funzionale, una policy di backup efficace deve includere più piani di backup con la relativa pianificazione e regole. La policy deve inoltre identificare le Regioni AWS risorse da sottoporre a backup e il ruolo AWS Identity and Access Management (IAM) che è AWS Backup possibile utilizzare per eseguire il backup.

La seguente policy funzionalmente completa mostra la sintassi della policy di backup di base. Se questo esempio fosse collegato direttamente a un account, AWS Backup eseguirebbe il backup di tutte le risorse relative a quell'account nelle eu-north-1 regioni us-east-1 e nelle regioni che hanno il tag dataType con un valore pari PII oRED. Esegue il backup di tali risorse ogni giorno alle 5:00 in My_Backup_Vault e archivia anche una copia in My_Secondary_Vault. Entrambi i vault si trovano nello stesso account della risorsa. Memorizza inoltre una copia del backup nel My_Tertiary_Vault in un account diverso, esplicitamente specificato. Le casseforti devono già esistere in ciascuna delle casseforti specificate Regioni AWS per ognuna di esse Account AWS che riceve la politica effettiva. Se una delle risorse di cui è stato eseguito il backup sono istanze EC2, il supporto per Microsoft Volume Shadow Copy Service (VSS) è abilitato per i backup di tali istanze. Il backup applica il tag Owner:Backup a ciascun punto di ripristino.

{ "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"} } } } } }

La sintassi della policy di backup include i seguenti componenti:

  • Variabili $account - In alcune stringhe di testo nelle policy, è possibile utilizzare la variabile $account per rappresentare l' Account AWScorrente. Quando AWS Backup esegue un piano nella politica effettiva, sostituisce automaticamente questa variabile con la politica corrente Account AWS in cui vengono eseguiti la politica effettiva e i relativi piani.

    Importante

    Puoi utilizzare la variabile $account solo negli elementi della policy che possono includere un Amazon Resource Name (ARN), ad esempio quelli che specificano il vault di backup in cui archiviare il backup o il ruolo IAM con autorizzazioni per eseguire il backup.

    Ad esempio, quanto segue richiede che My_Vault esista un archivio denominato in ogni archivio a Account AWS cui si applica la politica.

    arn:aws:backup:us-west-2:$account:vault:My_Vault"

    Ti consigliamo di utilizzare i set di AWS CloudFormation stack e la relativa integrazione con Organizations per creare e configurare automaticamente gli archivi di backup e i ruoli IAM per ogni account membro dell'organizzazione. Per ulteriori informazioni, consulta Creazione di uno stack set con autorizzazioni gestite dal cliente nella Guida per l'utente diAWS CloudFormation .

  • Operatori di ereditarietà - Le policy di backup possono utilizzare sia gli operatori di impostazione del valore di ereditarietà sia gli operatori di controllo figlio.

  • plans

    In corrispondenza della chiave di livello superiore della policy si trova la chiave plans. Una policy di backup deve sempre iniziare con questo nome chiave fissa nella parte superiore del file di policy. Sotto questa chiave puoi avere uno o più piani di backup.

  • Ogni piano sotto la chiave di livello superiore plans ha un nome chiave costituito dal nome del piano di backup assegnato dall'utente. Nell'esempio precedente, il nome del piano di backup è PII_Backup_Plan. Puoi includere più piani in una policy, ognuno con rules, regions, selections e tags specifici.

    Questo nome chiave del piano di backup in una policy di backup corrisponde al valore della BackupPlanName chiave in un AWS Backup piano.

    Ogni oggetto può contenere i seguenti elementi:

    • rules - Questa chiave contiene una raccolta di regole. Ogni regola si traduce in un'attività pianificata, con un'ora di inizio e una finestra in cui eseguire il backup delle risorse identificate dagli elementi selections e regions nella policy di backup effettiva.

    • regions— Questa chiave contiene un elenco di matrici delle risorse di Regioni AWS cui è possibile eseguire il backup mediante questa politica.

    • selections - Questa chiave contiene una o più raccolte di risorse (all'interno delle regions specificate) di cui viene eseguito il backup in base alle rules specificate.

    • advanced_backup_settings - Questa chiave contiene impostazioni specifiche per i backup in esecuzione su determinate risorse.

    • backup_plan_tags - Specifica i tag collegati al piano di backup stesso.

  • rules

    La chiave di policy rules viene mappata alla chiave Rules di un piano AWS Backup . Sotto la chiave rules possono essere presenti una o più regole. Ogni regola diventa un'attività pianificata per eseguire un backup delle risorse selezionate.

    Ogni regola contiene una chiave il cui nome chiave è il nome della regola. Nell'esempio precedente, il nome della regola è «My_Hourly_Rule». Il valore della chiave della regola è la seguente raccolta di elementi della regola:

    • schedule_expression— Questa chiave politica corrisponde alla ScheduleExpression chiave di un AWS Backup piano.

      Specifica l'ora di inizio del backup. Questa chiave contiene l'operatore del valore di @@assign ereditarietà e un valore di stringa con un'espressione CRON che specifica quando AWS Backup avviare un processo di backup. Il formato generale della stringa CRON è: "cron( )". Ciascun elemento è un numero o un carattere jolly. Ad esempio, cron(0 5 ? * 1,3,5 *) avvia il backup alle 5 di ogni lunedì, mercoledì e venerdì. cron(0 0/1 ? * * *) avvia il backup ogni ora ad un orario prestabilito, ogni giorno della settimana.

    • target_backup_vault_name— Questa chiave politica corrisponde alla chiave di un piano. TargetBackupVaultName AWS Backup

      Specifica il nome del vault di backup in cui archiviare il backup. Il valore viene creato utilizzando AWS Backup. Questa chiave contiene l'operatore del valore di ereditarietà @@assign e un valore stringa con un nome vault.

      Importante

      Il vault deve esistere già la prima volta che sia avvia il piano di backup. Ti consigliamo di utilizzare i set di AWS CloudFormation stack e la relativa integrazione con Organizations per creare e configurare automaticamente gli archivi di backup e i ruoli IAM per ogni account membro dell'organizzazione. Per ulteriori informazioni, consulta Creazione di uno stack set con autorizzazioni gestite dal cliente nella Guida per l'utente diAWS CloudFormation .

    • start_backup_window_minutes— Questa chiave di policy corrisponde alla StartWindowMinutes chiave di un AWS Backup piano.

      (Facoltativo) Specifica il numero di minuti di attesa prima di annullare un processo che non viene avviato correttamente. Questa chiave contiene l'operatore del valore di ereditarietà @@assign e un valore con un numero intero di minuti.

    • complete_backup_window_minutes - Questa chiave di policy viene mappata alla chiave CompletionWindowMinutes in un piano AWS Backup .

      (Facoltativo) Specifica il numero di minuti dopo l'avvio corretto di un processo di backup prima che venga completato o venga annullato da AWS Backup. Questa chiave contiene l'operatore del valore di ereditarietà @@assign e un valore con un numero intero di minuti.

    • enable_continuous_backup— Questa chiave politica corrisponde alla EnableContinuousBackup chiave di un AWS Backup piano.

      (Facoltativo) Specificate se vengono AWS Backup creati backup continui. Truecausa AWS Backup la creazione di backup continui in grado di point-in-time ripristinare (PITR). False(o non specificate) sono le cause della creazione AWS Backup di copie di backup istantanee.

      Nota

      Poiché i backup abilitati per il PITR possono essere conservati per un massimo di 35 giorni, è necessario scegliere False o non specificare un valore se viene impostata una delle seguenti opzioni:

      • Imposta delete_after_days su un valore maggiore di 35.

      • Imposta move_to_cold_storage_after_days su qualsiasi valore.

      Per ulteriori informazioni sui backup continui, consulta P oint-in-time recovery nella Developer Guide.AWS Backup

    • lifecycle— Questa chiave politica corrisponde alla Lifecycle chiave di un AWS Backup piano.

      (Facoltativo) Specifica quando AWS Backup trasferisce questo backup alla conservazione a freddo e quando scade.

      • move_to_cold_storage_after_days — Questa chiave politica corrisponde alla chiave di un MoveToColdStorageAfterDays piano. AWS Backup

        Specifica il numero di giorni dopo l'esecuzione del backup prima che AWS Backup sposti il punto di ripristino nello storage a freddo. Questa chiave contiene l'operatore del valore di ereditarietà @@assign e un valore con un numero intero di giorni.

      • delete_after_days— Questa chiave politica corrisponde alla DeleteAfterDays chiave di un AWS Backup piano.

        Specifica il numero di giorni dopo l'esecuzione del backup prima che AWS Backup elimini il punto di ripristino. Questa chiave contiene l'operatore del valore di ereditarietà @@assign e un valore con un numero intero di giorni. Se si esegue la transizione di un backup nello storage a freddo, deve rimanere almeno 90 giorni, pertanto questo valore deve essere un minimo di 90 giorni maggiore del valore move_to_cold_storage_after_days.

    • copy_actions— Questa chiave politica corrisponde alla CopyActions chiave di un AWS Backup piano.

      (Facoltativo) Specifica che AWS Backup deve copiare il backup in una o più posizioni aggiuntive. Ogni percorso di copia di backup è descritto come segue:

      • Una chiave il cui nome identifica in modo univoco questa operazione di copia. Al momento, il nome della chiave deve essere l'Amazon Resource Name (ARN) del vault di backup. Questa chiave contiene due voci.

        • target_backup_vault_arn - Questa chiave di policy viene mappata alla chiave DestinationBackupVaultArn in un piano AWS Backup .

          (Facoltativo) Specifica l'archivio in cui viene AWS Backup archiviata una copia aggiuntiva del backup. Il valore di questa chiave contiene l'operatore del valore di ereditarietà @@assign e l'ARN del vault.

          • Per fare riferimento a un vault in Account AWS cui è in esecuzione la policy di backup, usa la $account variabile nell'ARN al posto del numero ID dell'account. Quando AWS Backup esegue il piano di backup, sostituisce automaticamente la variabile con il numero ID dell'account Account AWS in cui viene eseguita la policy. Ciò consente di eseguire correttamente il backup quando la policy di backup si applica a più account di un'organizzazione.

          • Per fare riferimento a un vault in un Account AWS nella stessa organizzazione, utilizza il numero di ID dell'account effettivo nell'ARN.

          Importante
          • Se questa chiave è assente, viene utilizzata una versione in minuscolo dell'ARN nel nome della chiave padre. Poiché gli ARN fanno distinzione tra maiuscole e minuscole, questa stringa potrebbe non corrispondere all'ARN effettivo dell'errore e il piano non riesce. Per questo motivo, ti consigliamo di fornire sempre questa chiave e questo valore.

          • La prima volta che si avvia il piano di backup, il vault di backup su cui vuoi copiare il backup deve già esistere. Si consiglia di utilizzare gli stack set AWS CloudFormation e la relativa integrazione con Organizations per creare e configurare automaticamente i vault di backup e i ruoli IAM per ogni account membro nell'organizzazione. Per ulteriori informazioni, consulta Creazione di uno stack set con autorizzazioni gestite dal cliente nella Guida per l'utente diAWS CloudFormation .

        • lifecycle— Questa chiave di policy corrisponde alla Lifecycle chiave contenuta nella CopyAction chiave di un AWS Backup piano.

          (Facoltativo) Speciifica quando AWS Backup trasferisce questa copia di un backup alla conservazione a freddo e quando scade.

          • move_to_cold_storage_after_days - Questa chiave di policy viene mappata alla chiave MoveToColdStorageAfterDays in un piano AWS Backup .

            Speciifica il numero di giorni dopo l'esecuzione del backup prima dello AWS Backup spostamento del punto di ripristino nella cella frigorifera. Questa chiave contiene l'operatore del valore di ereditarietà @@assign e un valore con un numero intero di giorni.

          • delete_after_days - Questa chiave di policy viene mappata alla chiave DeleteAfterDays in un piano AWS Backup .

            Speciifica il numero di giorni dopo l'esecuzione del backup prima dell' AWS Backup eliminazione del punto di ripristino. Questa chiave contiene l'operatore del valore di ereditarietà @@assign e un valore con un numero intero di giorni. Se si esegue la transizione di un backup nello storage a freddo, deve rimanere almeno 90 giorni, pertanto questo valore deve essere un minimo di 90 giorni maggiore del valore move_to_cold_storage_after_days.

    • recovery_point_tags— Questa chiave politica corrisponde alla RecoveryPointTags chiave di un AWS Backup piano.

      (Facoltativo) Specifica i tag da AWS Backup allegare a ogni backup creato da questo piano. Il valore di questa chiave contiene uno o più dei seguenti elementi:

      • Un identificatore per la coppia nome chiave e valore di questa chiave. Questo nome per ogni elemento in recovery_point_tags è il nome della chiave del tag in lettere minuscole, anche se tag_key ha un trattamento diverso per caso. Questo identificatore non distingue tra maiuscole e minuscole. Nell'esempio precedente, questa coppia di chiavi è stata identificata dal nome Owner. Ogni coppia di chiavi contiene i seguenti elementi:

        • tag_key - Specifica il nome della chiave di tag da collegare al piano di backup. Questa chiave contiene l'operatore del valore di ereditarietà @@assign e un valore stringa. Il valore prevede la distinzione tra lettere maiuscole e minuscole.

        • tag_value: specifica il valore collegato al piano di backup e associato alla tag_key. Questa chiave contiene uno qualsiasi degli operatori del valore di ereditarietà e uno o più valori da sostituire, aggiungere o rimuovere dalla policy effettiva. Questi valori fanno distinzione tra maiuscole e minuscole.

  • regions

    La chiave regions politica specifica quali risorse vengono Regioni AWS AWS Backup cercate per trovare le risorse che soddisfano le condizioni della chiave. selections Questa chiave contiene uno qualsiasi degli operatori di valori di ereditarietà e uno o più valori di stringa per i Regione AWS codici, ad esempio:. ["us-east-1", "eu-north-1"]

  • selections

    La chiave di policy selections specifica le risorse di cui viene eseguito il backup dalle regole del piano in questa policy. Questa chiave corrisponde all'incirca all'BackupSelectionoggetto in. AWS BackupLe risorse sono specificate da una query per la corrispondenza dei nomi e dei valori delle chiavi di tag. La chiave selections contiene una chiave: tags.

    • tags - Specifica i tag che identificano le risorse e il ruolo IAM che dispone dell'autorizzazione per eseguire la query e il backup delle risorse. Il valore di questa chiave contiene uno o più dei seguenti elementi:

      • Un identificatore per questo elemento del tag. Questo identificatore in tags è il nome della chiave di tag tutto in lettere minuscole, anche se il tag di cui eseguire la query da interrogare viene trattato in modo diverso ai fini della distinzione tra maiuscole e minuscole. Questo identificatore non distingue tra maiuscole e minuscole. Nell'esempio precedente, un elemento è stato identificato dal nome My_Backup_Assignment. Ogni identificatore in tags contiene i seguenti elementi:

        • iam_role_arn - Specifica il ruolo IAM che dispone dell'autorizzazione per accedere alle risorse identificate dalla query di tag nelle Regioni AWS specificate dalla chiave regions. Questo valore contiene l'operatore del valore di @@assign ereditarietà e un valore stringa che contiene l'ARN del ruolo. AWS Backup utilizza questo ruolo per interrogare e scoprire le risorse ed eseguire il backup.

          Puoi utilizzare la variabile $account nell'ARN al posto del numero ID dell'account. Quando il piano di backup viene eseguito AWS Backup, sostituisce automaticamente la variabile con l'effettivo numero ID dell'account Account AWS in cui viene eseguita la policy.

          Importante

          La prima volta che si avvia il piano di backup, il ruolo deve esistere già. Ti consigliamo di utilizzare i set di AWS CloudFormation stack e la relativa integrazione con Organizations per creare e configurare automaticamente gli archivi di backup e i ruoli IAM per ogni account membro dell'organizzazione. Per ulteriori informazioni, consulta Creazione di uno stack set con autorizzazioni gestite dal cliente nella Guida per l'utente diAWS CloudFormation .

        • tag_key - Specifica il nome della chiave di tag da cercare. Questa chiave contiene l'operatore del valore di ereditarietà @@assign e un valore stringa. Il valore prevede la distinzione tra lettere maiuscole e minuscole.

        • tag_value— Speciifica il valore che deve essere associato a un nome di chiave corrispondente. tag_key AWS Backup include la risorsa nel backup solo se entrambe le opzioni tag_key e tag_value coincidono. Questa chiave contiene uno qualsiasi degli operatori del valore di ereditarietà e uno o più valori da sostituire, aggiungere o rimuovere dalla policy effettiva. Questi valori fanno distinzione tra maiuscole e minuscole.

  • advanced_backup_settings - Specifica le impostazioni per scenari di backup specifici. Questa chiave contiene una o più impostazioni. Ogni impostazione è una stringa di oggetto JSON con i seguenti elementi:

    • Nome chiave oggetto - Una stringa che specifica il tipo di risorsa a cui si applicano le seguenti impostazioni avanzate.

    • Valore oggetto - Una stringa di oggetto JSON che contiene una o più impostazioni di backup specifiche per il tipo di risorsa associato.

    Al momento, l'unica impostazione di backup avanzata supportata abilita i backup di Microsoft Volume Shadow Copy Service (VSS) per Windows o SQL Server in esecuzione su un'istanza Amazon EC2. Il nome della chiave deve essere il tipo di risorsa "ec2", mentre il valore specifica che il supporto "windows_vss" è enabled o disabled per i backup eseguiti su tali istanze Amazon EC2. Per ulteriori informazioni su questa caratteristica, consulta Creazione di un backup Windows abilitato per VSS nella Guida per gli sviluppatori diAWS Backup .

    "advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } }
  • backup_plan_tags - Specifica i tag collegati al piano di backup stesso. Ciò non influisce sui tag specificati nelle regole o nelle selezioni.

    (Facoltativo) Puoi collegare i tag ai piani di backup. Il valore di questa chiave è una raccolta di elementi.

    Il nome della chiave per ogni elemento in backup_plan_tags è il nome della chiave di tag tutta in lettere minuscole, anche se il tag di cui effettuare la query viene trattato in modo diverso ai fini della distinzione tra maiuscole e minuscole. Questo identificatore non distingue tra maiuscole e minuscole. Il valore per ciascuna di queste voci è costituito dalle seguenti chiavi:

    • tag_key - Specifica il nome della chiave di tag da collegare al piano di backup. Questa chiave contiene l'operatore del valore di ereditarietà @@assign e un valore stringa. Questo valore prevede la distinzione tra lettere maiuscole e minuscole.

    • tag_value: specifica il valore collegato al piano di backup e associato alla tag_key. Questa chiave contiene l'operatore del valore di ereditarietà @@assign e un valore stringa. Questo valore prevede la distinzione tra lettere maiuscole e minuscole.

Esempi di policy di backup

Le policy di backup di esempio che seguono sono solo a scopo informativo. In alcuni degli esempi seguenti, la formattazione degli spazi bianchi JSON potrebbe essere compressa per risparmiare spazio.

Esempio 1: policy assegnata a un nodo padre

Nell'esempio seguente viene illustrata una policy di backup assegnata a uno dei nodi padre di un account.

Policy padre - Questa policy può essere collegata al root dell'organizzazione o a qualsiasi unità organizzativa che è un padre di tutti gli account previsti.

{ "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" } } } } } }

Se nessun altro criterio viene ereditato o associato agli account, la politica effettiva resa in ciascuna delle politiche applicabili è Account AWS simile all'esempio seguente. L'espressione CRON implica che il backup venga eseguito una volta all'ora. L'ID account 123456789012 sarà l'ID account effettivo per ogni account.

{ "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" } } } } }

Esempio 2: una policy padre viene unita a una policy figlio

Nell'esempio seguente, una politica ereditata per i genitori e una politica per i figli sono ereditate o direttamente collegate a un' Account AWS unione per formare la politica effettiva.

Policy padre - Questa policy può essere collegata al root dell'organizzazione o a qualsiasi unità organizzativa padre.

{ "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" ] } } } } } } }

Policy figlia - Questa policy può essere collegata direttamente all'account o a un'unità organizzativa che si trova a un livello inferiore qualsiasi a quello della policy padre cui è collegata.

{ "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" ] } } } } } } }

Policy effettiva risultante - La policy effettiva applicata agli account contiene due piani, ciascuno con un proprio set di regole e un set di risorse a cui applicare le regole.

{ "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" ] } } } } } }

Esempio 3: una policy padre impedisce qualsiasi modifica da parte di una policy figlio

Nell'esempio seguente, una policy padre ereditata utilizza gli operatori di controllo figlio per imporre tutte le impostazioni e impedisce che vengano modificate o sostituite da una policy figlio.

Policy padre - Questa policy può essere collegata al root dell'organizzazione o a qualsiasi unità organizzativa padre. La presenza di "@@operators_allowed_for_child_policies": ["@@none"] in ogni nodo della policy significa che una policy figlio non può apportare modifiche di alcun tipo al piano. Né una policy figlio può aggiungere altri piani alla policy effettiva. Questa policy diventa la policy effettiva per ogni unità organizzativa e account nell'unità organizzativa cui è collegata.

{ "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"] } } } } } }

Policy effettiva risultante - Se esistono policy di backup figlio, queste vengono ignorate e la policy padre diventa la policy effettiva.

{ "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"} } } } }

Esempio 4: una policy padre impedisce modifiche a un piano di backup da parte di una policy figlio

Nell'esempio seguente, una policy padre ereditata utilizza gli operatori di controllo figlio per imporre le impostazioni per un singolo piano e impedisce che vengano modificate o sostituite da una policy figlio. La policy figlio può comunque aggiungere altri piani.

Policy padre - Questa policy può essere collegata al root dell'organizzazione o a qualsiasi unità organizzativa padre. Questo esempio è simile all'esempio precedente con tutti gli operatori di ereditarietà figlio bloccati, ad eccezione del livello superiore plans. L'impostazione @@append a tale livello consente alle policy figlio di aggiungere altri piani alla raccolta nella policy effettiva. Le eventuali modifiche apportate al piano ereditato sono ancora bloccate.

Le sezioni del piano vengono troncate per chiarezza.

{ "plans": { "@@operators_allowed_for_child_policies": ["@@append"], "PII_Backup_Plan": { "@@operators_allowed_for_child_policies": ["@@none"], "regions": { ... }, "rules": { ... }, "selections": { ... } } } }

Policy figlia - Questa policy può essere collegata direttamente all'account o a un'unità organizzativa che si trova a un livello inferiore qualsiasi a quello della policy padre cui è collegata. Questa policy figlio definisce un nuovo piano.

Le sezioni del piano vengono troncate per chiarezza.

{ "plans": { "MonthlyBackupPlan": { "regions": { ... }, "rules": { ... }, "selections": { … } } } }

Policy effettiva risultante - La policy effettiva include entrambi i piani.

{ "plans": { "PII_Backup_Plan": { "regions": { ... }, "rules": { ... }, "selections": { ... } }, "MonthlyBackupPlan": { "regions": { ... }, "rules": { ... }, "selections": { … } } } }

Esempio 5: una policy figlio sostituisce le impostazioni in una policy padre

Nell'esempio seguente, una policy figlia utilizza operatori di impostazione del valore per sovrascrivere alcune delle impostazioni ereditate da una policy padre.

Policy padre - Questa policy può essere collegata al root dell'organizzazione o a qualsiasi unità organizzativa padre. Qualsiasi impostazione può essere sovrascritta da una policy figlio perché il comportamento predefinito, in assenza di un operatore di controllo figlio che lo impedisce, è quello di consentire alla policy figlio di @@assign, @@append o @@remove. La policy padre contiene tutti gli elementi necessari per un piano di backup valido, quindi esegue correttamente il backup delle risorse se viene ereditata così com'è.

{ "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" ] } } } } } } }

Policy figlia - La policy figlia include solo le impostazioni che devono essere diverse dalla policy padre ereditata. È necessario disporre di una policy padre ereditata che fornisca le altre impostazioni necessarie quando viene unita in una policy effettiva. In caso contrario, la policy di backup effettiva contiene un piano di backup che non è valido e non esegue il backup delle risorse come previsto.

{ "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"} } } } } } }

Policy effettiva risultante - La policy effettiva include le impostazioni di entrambe le policy, con le impostazioni fornite dalla policy figlio che sovrascrivono le impostazioni ereditate dal padre. In questo esempio, si verificano le seguenti modifiche:

  • L'elenco delle regioni viene sostituito con un elenco completamente diverso. Se desideri aggiungere una Regione all'elenco ereditato, utilizza @@append anziché @@assign nella policy figlia.

  • AWS Backup viene eseguito ogni due ore anziché ogni ora.

  • AWS Backup consente l'avvio del backup per 80 minuti anziché 60 minuti.

  • AWS Backup utilizza il Default vault invece di. FortKnox

  • Il ciclo di vita viene esteso sia per il trasferimento nello storage a freddo sia per l'eliminazione finale del backup.

{ "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" ] } } } } } }