Syntaxe et exemples d'une politique de sauvegarde - AWS Organizations

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Syntaxe et exemples d'une politique de sauvegarde

Cette page décrit la syntaxe d'une politique de sauvegarde et fournit des exemples.

Syntaxe des politiques de sauvegarde

Une politique de sauvegarde est un fichier texte brut qui est structuré conformément aux règles de JSON. La syntaxe des politiques de sauvegarde suit celle de tous les types de politiques de gestion. Pour plus d'informations, consultez Syntaxe et héritage des politiques de gestion. Cette rubrique se concentre sur l'application de cette syntaxe générale aux exigences spécifiques du type de politique de sauvegarde.

Pour plus d'informations sur AWS Backup les forfaits, consultez CreateBackupPlanle guide du AWS Backup développeur.

Considérations

Syntaxe des politiques

Les noms de clé dupliqués seront rejetés en JSON.

Les politiques doivent spécifier les ressources Régions AWS et les ressources à sauvegarder.

Les politiques doivent spécifier le rôle IAM assumé AWS Backup .

@@assignL'utilisation d'un opérateur au même niveau peut remplacer les paramètres existants. Pour plus d'informations, consultez Une politique enfant remplace les paramètres d'une politique parente.

Les opérateurs d'héritage contrôlent la façon dont les politiques héritées et les politiques attachées à un compte fusionnent pour former la politique effective de ce compte. Ces opérateurs comprennent les opérateurs de définition de valeurs et les opérateurs de contrôle enfants.

Pour plus d'informations, consultez les sections Opérateurs d'héritage et Exemples de politiques de sauvegarde.

Rôles IAM

Le rôle IAM doit exister lors de la première création d'un plan de sauvegarde.

Le rôle IAM doit être autorisé à accéder aux ressources identifiées par une requête de balise.

Le rôle IAM doit être autorisé à effectuer la sauvegarde.

Coffres-forts de sauvegarde

Des coffres-forts doivent exister dans chaque unité spécifiée pour Régions AWS qu'un plan de sauvegarde puisse être exécuté.

Des coffres-forts doivent exister pour chaque AWS compte bénéficiant de la politique effective. Pour plus d'informations, consultez la section Création et suppression d'un coffre de sauvegarde dans le Guide du AWS Backup développeur.

Nous vous recommandons d'utiliser des ensembles de AWS CloudFormation piles et l'intégration de ce service avec Organizations pour créer et configurer automatiquement des coffres-forts de sauvegarde et des rôles IAM pour chaque compte membre de l'organisation. Pour de plus amples informations, consultez Créer un ensemble de piles avec des autorisations autogérées dans le Guide de l'utilisateur AWS CloudFormation .

Quotas

Pour une liste des quotas, voir « AWS Backup quotas » dans le Guide du AWS Backup développeur.

Syntaxe de sauvegarde : Présentation

La syntaxe d'une politique de sauvegarde inclut les composants suivants :

{ "plans": { "PlanName": { "rules": { ... }, "regions": { ... }, "selections": { ... }, "advanced_backup_settings": { ... }, "backup_plan_tags": { ... } } } }
Éléments de politique de sauvegarde
Element Description Obligatoire
règles Liste des règles de sauvegarde. Chaque règle définit le moment où les sauvegardes démarrent et la fenêtre d'exécution des ressources spécifiées dans les selections éléments regions et. Oui
régions Liste des domaines Régions AWS dans lesquels une politique de sauvegarde peut protéger les ressources. Oui
sélections Un ou plusieurs types de ressources dans les limites spécifiées regions que la sauvegarde rules protège. Oui
paramètres_de_sauvegarde avancés

Options de configuration pour des scénarios de sauvegarde spécifiques.

À l'heure actuelle, le seul paramètre de sauvegarde avancé pris en charge active les sauvegardes Microsoft VSS (Volume) pour Windows ou SQL Server exécutées sur une EC2 instance Amazon.

Non
backup_plan_tags

Tags que vous souhaitez associer à un plan de sauvegarde. Chaque balise est une étiquette composée d’une clé définie par l’utilisateur et d’une valeur.

Les balises peuvent vous aider à gérer, identifier, organiser, rechercher et filtrer vos plans de sauvegarde.

Non

Syntaxe de sauvegarde : règles

La clé rules de stratégie spécifie les tâches de sauvegarde planifiées qui AWS Backup s'exécutent sur les ressources sélectionnées.

Éléments de règle de sauvegarde
Element Description Obligatoire
schedule_expression

Expression cron en UTC qui spécifie quand AWS Backup lance une tâche de sauvegarde.

Pour plus d'informations sur les expressions cron, consultez la section Utilisation des expressions cron et rate pour planifier des règles dans le guide de EventBridge l'utilisateur Amazon.

Oui
target_backup_vault_name

Coffres-forts de sauvegarde où les sauvegardes sont stockées.

Les coffres-forts de sauvegarde sont identifiés par des noms spécifiques pour le compte utilisé pour les créer et l'dans Région AWS laquelle ils sont créés.

Oui
start_backup_window_minutes

Le nombre de minutes à attendre avant d'annuler une tâche de sauvegarde sera annulée si elle ne démarre pas correctement.

Si cette valeur est incluse, elle doit être d'au moins 60 minutes pour éviter les erreurs.

Non
complete_backup_window_minutes Nombre de minutes après le démarrage réussi d'une tâche de sauvegarde et avant qu'elle doive être terminée ou qu'elle soit annulée par AWS Backup. Non
enable_continuous_backup

Spécifie si AWS Backup crée des sauvegardes continues.

Truepousse AWS Backup à créer des sauvegardes continues capables de point-in-time restaurations (PITR). False(ou non spécifié) pousse AWS Backup à créer des sauvegardes d'instantanés.

Pour plus d'informations sur les sauvegardes continues, consultez P oint-in-time recovery dans le Guide du AWS Backup développeur.

Remarque : les sauvegardes compatibles PITR ont une durée de conservation maximale de 35 jours.

Non
lifecycle

Spécifie à AWS Backup quel moment passe une sauvegarde au stockage à froid et à quel moment elle expire.

Les types de ressources pouvant passer au stockage à froid sont répertoriés dans le tableau Disponibilité des fonctionnalités par ressource Disponibilité des fonctionnalités par ressource du Guide du AWS Backup développeur.

Chaque cycle de vie contient les éléments suivants :

  • move_to_cold_storage_after_days: Nombre de jours après la sauvegarde, avant que AWS Backup déplace le point de restauration vers le stockage à froid.

  • delete_after_days: Nombre de jours après la sauvegarde, avant que AWS Backup supprime le point de restauration.

  • opt_in_to_archive_for_supported_resources: Si cette valeur est affectée commetrue, un plan de sauvegarde passe les ressources prises en charge au niveau de stockage d'archivage (froid) conformément à vos paramètres de cycle de vie.

Remarque : Les sauvegardes transférées vers un stockage à froid doivent être stockées dans le stockage à froid pendant au moins 90 jours.

Cela signifie que le délai delete_after_days doit être supérieur de 90 jours àmove_to_cold_storage_after_days.

Non
copy_actions

Spécifie si une sauvegarde est AWS Backup copiée vers un ou plusieurs emplacements supplémentaires.

Chaque action de copie contient les éléments suivants :

  • target_backup_vault_arn: Vault où AWS Backup stocke une copie supplémentaire de la sauvegarde.

    • À utiliser $account pour les copies du même compte

    • Utilisez l'identifiant de compte réel pour les copies entre comptes

  • lifecycle: Spécifie à AWS Backup quel moment passe une sauvegarde au stockage à froid et à quel moment elle expire.

    Chaque cycle de vie contient les éléments suivants :

    • move_to_cold_storage_after_days: Nombre de jours après la sauvegarde, avant que AWS Backup déplace le point de restauration vers le stockage à froid.

    • delete_after_days: Nombre de jours après la sauvegarde, avant que AWS Backup supprime le point de restauration.

Remarque : Les sauvegardes transférées vers un stockage à froid doivent être stockées dans le stockage à froid pendant au moins 90 jours.

Cela signifie que le délai delete_after_days doit être supérieur de 90 jours àmove_to_cold_storage_after_days.

Non
recovery_point_tags

Balises que vous souhaitez attribuer aux ressources restaurées à partir d'une sauvegarde.

Chaque balise contient les éléments suivants :

  • tag_key: nom du tag (sensible aux majuscules et minuscules)

  • tag_value: valeur du tag (sensible aux majuscules et minuscules)

Non
index_actions

Spécifie s'il AWS Backup crée un index de sauvegarde de vos instantanés Amazon EBS et/ou de vos sauvegardes Amazon S3. Des index de sauvegarde sont créés afin de rechercher les métadonnées de vos sauvegardes. Pour plus d'informations sur la création d'index de sauvegarde et la recherche de sauvegarde, consultez la section Recherche de sauvegarde.

Remarque : des autorisations de rôle IAM supplémentaires sont requises pour créer un index de sauvegarde instantanée Amazon EBS.

Chaque action d'indexation contient l'élément suivant : les types resource_types de ressources pris en charge pour l'indexation sont Amazon EBS et Amazon S3. Ce paramètre indique le type de ressource qui sera sélectionné pour l'indexation.

Non

Syntaxe de sauvegarde : régions

La clé de regions stratégie spécifie les dans Régions AWS lesquelles AWS Backup recherche les ressources qui correspondent aux conditions de la selections clé.

Éléments des régions de sauvegarde
Element Description Obligatoire
regions

Spécifie les Région AWS codes. Par exemple : ["us-east-1", "eu-north-1"].

Oui

Syntaxe de sauvegarde : sélections

La clé selections de stratégie spécifie les ressources qui sont sauvegardées par les règles d'une politique de sauvegarde.

Il existe deux éléments qui s'excluent mutuellement : tags etresources. Pour être valide, une politique efficace doit être resources inscrite dans des balises have ou dans la sélection.

Si vous souhaitez une sélection comportant à la fois des conditions de balise et des conditions de ressources, utilisez les resources clés.

Éléments de sélection de sauvegarde : Tags
Element Description Obligatoire
iam_role_arn Rôle IAM qui AWS Backup suppose d'interroger, de découvrir et de sauvegarder des ressources dans les régions spécifiées.

Le rôle doit disposer d'autorisations suffisantes pour interroger les ressources en fonction des conditions des balises et effectuer des opérations de sauvegarde sur les ressources correspondantes.

Oui
tag_key Nom de la clé de balise à rechercher. Oui
tag_value Valeur qui doit être associée au tag_key correspondant.

AWS Backup inclut la ressource uniquement si tag_key et tag_value correspondent (distinction majuscules/minuscules).

Oui
conditions

Étiquetez les clés et les valeurs que vous souhaitez inclure ou exclure

Utilisez string_equals ou string_not_equals pour inclure ou exclure les balises correspondant exactement à une correspondance.

Utilisez string_like et string_not_like pour inclure ou exclure les balises contenant ou ne contenant pas de caractères spécifiques

Remarque : Limité à 30 conditions pour chaque sélection.

Non
Éléments de sélection de sauvegarde : Ressources
Element Description Obligatoire
iam_role_arn Rôle IAM qui AWS Backup suppose d'interroger, de découvrir et de sauvegarder des ressources dans les régions spécifiées.

Le rôle doit disposer d'autorisations suffisantes pour interroger les ressources en fonction des conditions des balises et effectuer des opérations de sauvegarde sur les ressources correspondantes.

Remarque : Dans AWS GovCloud (US) Regions, vous devez ajouter le nom de la partition à l'ARN.

Par exemple, « arn:aws:ec2:*:*:volume/* » doit être « arn:aws-us-gov:ec2:*:*:volume/* ».

Oui
resource_types Types de ressources à inclure dans un plan de sauvegarde. Oui
not_resource_types Types de ressources à exclure d'un plan de sauvegarde. Non
conditions

Étiquetez les clés et les valeurs que vous souhaitez inclure ou exclure

Utilisez string_equals ou string_not_equals pour inclure ou exclure les balises correspondant exactement à une correspondance.

Utilisez string_like et string_not_like pour inclure ou exclure les balises contenant ou ne contenant pas de caractères spécifiques

Remarque : Limité à 30 conditions pour chaque sélection.

Non

Types de ressources pris en charge

Organizations prend en charge les types de ressources suivants pour les not_resource_types éléments resource_types et :

  • AWS Backup gateway machines virtuelles : "arn:aws:backup-gateway:*:*:vm/*"

  • AWS CloudFormation piles : "arn:aws:cloudformation:*:*:stack/*"

  • Tables Amazon DynamoDB : "arn:aws:dynamodb:*:*:table/*"

  • EC2 Instances Amazon : "arn:aws:ec2:*:*:instance/*"

  • Volumes Amazon EBS : "arn:aws:ec2:*:*:volume/*"

  • Système de fichiers Amazon EFS : "arn:aws:elasticfilesystem:*:*:file-system/*"

  • Clusters Amazon Aurora/Amazon DocumentDB/Amazon Neptune : "arn:aws:rds:*:*:cluster:*"

  • Bases de données Amazon RDS : "arn:aws:rds:*:*:db:*"

  • Cluster Amazon Redshift : "arn:aws:redshift:*:*:cluster:*"

  • Amazon S3 : "arn:aws:s3:::*"

  • Gestionnaire de systèmes AWS pour SAP Bases de données HANA : "arn:aws:ssm-sap:*:*:HANA/*"

  • AWS Storage Gateway passerelles : "arn:aws:storagegateway:*:*:gateway/*"

  • Bases de données Amazon Timestream : "arn:aws:timestream:*:*:database/*"

  • Systèmes de FSx fichiers Amazon : "arn:aws:fsx:*:*:file-system/*"

  • FSx Volumes Amazon : "arn:aws:fsx:*:*:volume/*"

Exemples de code

Pour plus d'informations, consultez les sections Spécification des ressources à l'aide du bloc de balises et Spécification des ressources à l'aide du bloc de ressources.

Syntaxe de sauvegarde : paramètres de sauvegarde avancés

La advanced_backup_settings clé spécifie les options de configuration pour des scénarios de sauvegarde spécifiques. Chaque paramètre contient les éléments suivants :

Éléments de sauvegarde avancés
Element Description Obligatoire
advanced_backup_settings Spécifie les paramètres pour des scénarios de sauvegarde spécifiques. Cette clé contient un ou plusieurs paramètres. Chaque paramètre est une chaîne d'objet JSON avec les éléments suivants :

À l'heure actuelle, le seul paramètre de sauvegarde avancé pris en charge active les sauvegardes Microsoft VSS (Volume) pour Windows ou SQL Server exécutées sur une EC2 instance Amazon.

Chaque sauvegarde avancée définit les éléments suivants :

  • Object key name: chaîne qui spécifie le type de ressource auquel les paramètres avancés suivants s'appliquent.

    Le nom de clé doit être le type de "ec2" ressource

  • Object value: chaîne contenant un ou plusieurs paramètres de sauvegarde spécifiques au type de ressource associé.

    La valeur indique que le "windows_vss" support concerne enabled ou disabled concerne les sauvegardes effectuées sur les EC2 instances Amazon.

Non

Exemple :

"advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } },

Syntaxe de sauvegarde : balises du plan de sauvegarde

La clé backup_plan_tags de politique spécifie les balises qui sont attachées à un plan de sauvegarde lui-même. Cela n'a aucun impact sur les balises spécifiées pour rules ouselections.

Éléments de balise de plan de sauvegarde
Element Description Obligatoire
backup_plan_tags Chaque balise est une étiquette composée d'une clé définie par l'utilisateur et d'une valeur :
  • tag_key: Nom de la clé de balise à rechercher. La valeur est sensible à la casse.

  • tag_value: Valeur qui est attachée au plan de sauvegarde et associée àtag_key. La valeur est sensible à la casse.

Non

Exemples de politiques de sauvegarde

Les exemples de politiques de sauvegarde qui suivent sont fournis à titre informatif uniquement. Dans certains des exemples suivants, la mise en forme des espaces JSON peut être compressée pour économiser de l'espace.

Exemple 1 : Politique affectée à un nœud parent

L'exemple suivant montre une politique de sauvegarde affectée à l'un des nœuds parents d'un compte.

Politique parente : cette politique peut être attachée à la racine de l'organisation ou à une UO parente de tous les comptes prévus.

{ "plans": { "PII_Backup_Plan": { "regions": { "@@assign": [ "ap-northeast-2", "us-east-1", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": { "@@assign": "cron(0 5/1 ? * * *)" }, "start_backup_window_minutes": { "@@assign": "480" }, "complete_backup_window_minutes": { "@@assign": "10080" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "180" }, "delete_after_days": { "@@assign": "270" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "target_backup_vault_name": { "@@assign": "FortKnox" }, "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "delete_after_days": { "@@assign": "120" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } }, "arn:aws:backup:us-west-1:111111111111:backup-vault:tertiary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-west-1:111111111111:backup-vault:tertiary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "delete_after_days": { "@@assign": "120" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": { "@@assign": "arn:aws:iam::$account:role/MyIamRole" }, "tag_key": { "@@assign": "dataType" }, "tag_value": { "@@assign": [ "PII", "RED" ] } } } }, "advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } } } } }

Si aucune autre politique n'est héritée ou attachée aux comptes, la politique effective rendue dans chaque applicable Compte AWS ressemble à l'exemple suivant. L'expression CRON provoque l'exécution de la sauvegarde une fois par heure à l'heure pile. L'ID de compte 123456789012 sera l'ID de compte réel de chaque compte.

{ "plans": { "PII_Backup_Plan": { "regions": [ "us-east-1", "ap-northeast-3", "eu-north-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/1 ? * * *)", "start_backup_window_minutes": "60", "target_backup_vault_name": "FortKnox", "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "delete_after_days": "2", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" }, "lifecycle": { "delete_after_days": "28", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" } }, "arn:aws:backup:us-west-1:111111111111:backup-vault:tertiary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-west-1:111111111111:backup-vault:tertiary_vault" }, "lifecycle": { "delete_after_days": "28", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::123456789012:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } }, "advanced_backup_settings": { "ec2": { "windows_vss": "enabled" } } } } }

Exemple 2 : Une politique parente est fusionnée avec une politique enfant

Dans l'exemple suivant, une politique parente héritée et une politique enfant héritée ou directement attachée à un Compte AWS fusionnent pour former la politique effective.

Politique parente : cette politique peut être attachée à la racine de l'organisation ou à une UO parente.

{ "plans": { "PII_Backup_Plan": { "regions": { "@@append":[ "us-east-1", "ap-northeast-3", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": { "@@assign": "cron(0 0/1 ? * * *)" }, "start_backup_window_minutes": { "@@assign": "60" }, "target_backup_vault_name": { "@@assign": "FortKnox" }, "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "28" }, "delete_after_days": { "@@assign": "180" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "28" }, "delete_after_days": { "@@assign": "180" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": { "@@assign": "arn:aws:iam::$account:role/MyIamRole" }, "tag_key": { "@@assign": "dataType" }, "tag_value": { "@@assign": [ "PII", "RED" ] } } } } } } }

Politique enfant : cette politique peut être attachée directement au compte ou à une UO dans n'importe quel niveau inférieur à celui auquel la politique parente est attachée.

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

Politique effective résultante : la politique effective appliquée aux comptes contient deux plans, chacun avec son propre ensemble de règles et son ensemble de ressources auquel appliquer les règles.

{ "plans": { "PII_Backup_Plan": { "regions": [ "us-east-1", "ap-northeast-3", "eu-north-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/1 ? * * *)", "start_backup_window_minutes": "60", "target_backup_vault_name": "FortKnox", "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "delete_after_days": "2", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": "28", "delete_after_days": "180", "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::$account:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } } }, "Monthly_Backup_Plan": { "regions": [ "us-east-1", "eu-central-1" ], "rules": { "monthly": { "schedule_expression": "cron(0 5 1 * ? *)", "start_backup_window_minutes": "480", "target_backup_vault_name": "Default", "lifecycle": { "delete_after_days": "365", "move_to_cold_storage_after_days": "30", "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:Default" : { "target_backup_vault_arn": { "@@assign" : "arn:aws:backup:us-east-1:$account:backup-vault:Default" }, "lifecycle": { "move_to_cold_storage_after_days": "30", "delete_after_days": "365", "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "selections": { "tags": { "monthlydatatype": { "iam_role_arn": "arn:aws:iam::&ExampleAWSAccountNo3;:role/MyMonthlyBackupIamRole", "tag_key": "BackupType", "tag_value": [ "MONTHLY", "RED" ] } } } } } }

Exemple 3 : Une politique parente empêche toute modification par une politique enfant

Dans l'exemple suivant, une politique parente héritée utilise les opérateurs de contrôle enfants pour appliquer tous les paramètres et empêche leur modification ou remplacement par une politique enfant.

Politique parente : cette politique peut être attachée à la racine de l'organisation ou à une UO parente. La présence de "@@operators_allowed_for_child_policies": ["@@none"] à chaque nœud de la politique signifie qu'une politique enfant ne peut apporter aucune modification au plan. Une politique enfant ne peut pas non plus ajouter des plans supplémentaires à la politique effective. Cette politique devient la politique effective pour chaque UO et chaque compte sous l'UO à laquelle elle est rattachée.

{ "plans": { "@@operators_allowed_for_child_policies": ["@@none"], "PII_Backup_Plan": { "@@operators_allowed_for_child_policies": ["@@none"], "regions": { "@@operators_allowed_for_child_policies": ["@@none"], "@@append": [ "us-east-1", "ap-northeast-3", "eu-north-1" ] }, "rules": { "@@operators_allowed_for_child_policies": ["@@none"], "Hourly": { "@@operators_allowed_for_child_policies": ["@@none"], "schedule_expression": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "cron(0 0/1 ? * * *)" }, "start_backup_window_minutes": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "60" }, "target_backup_vault_name": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "FortKnox" }, "index_actions": { "@@operators_allowed_for_child_policies": ["@@none"], "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "@@operators_allowed_for_child_policies": ["@@none"], "move_to_cold_storage_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "28" }, "delete_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "180" }, "opt_in_to_archive_for_supported_resources": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "false" } }, "copy_actions": { "@@operators_allowed_for_child_policies": ["@@none"], "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault": { "@@operators_allowed_for_child_policies": ["@@none"], "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault", "@@operators_allowed_for_child_policies": ["@@none"] }, "lifecycle": { "@@operators_allowed_for_child_policies": ["@@none"], "delete_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "28" }, "move_to_cold_storage_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "180" }, "opt_in_to_archive_for_supported_resources": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "false" } } } } } }, "selections": { "@@operators_allowed_for_child_policies": ["@@none"], "tags": { "@@operators_allowed_for_child_policies": ["@@none"], "datatype": { "@@operators_allowed_for_child_policies": ["@@none"], "iam_role_arn": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "arn:aws:iam::$account:role/MyIamRole" }, "tag_key": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "dataType" }, "tag_value": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": [ "PII", "RED" ] } } } }, "advanced_backup_settings": { "@@operators_allowed_for_child_policies": ["@@none"], "ec2": { "@@operators_allowed_for_child_policies": ["@@none"], "windows_vss": { "@@assign": "enabled", "@@operators_allowed_for_child_policies": ["@@none"] } } } } } }

Politique effective résultante : si des politiques de sauvegarde enfants existent, elles sont ignorées et la politique parente devient la politique effective.

{ "plans": { "PII_Backup_Plan": { "regions": [ "us-east-1", "ap-northeast-3", "eu-north-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/1 ? * * *)", "start_backup_window_minutes": "60", "target_backup_vault_name": "FortKnox", "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "delete_after_days": "2", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" }, "copy_actions": { "target_backup_vault_arn": "arn:aws:backup:us-east-1:123456789012:backup-vault:secondary_vault", "lifecycle": { "move_to_cold_storage_after_days": "28", "delete_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::123456789012:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } }, "advanced_backup_settings": { "ec2": {"windows_vss": "enabled"} } } } }

Exemple 4 : Une politique parente empêche les modifications d'un plan de sauvegarde par une politique enfant

Dans l'exemple suivant, une politique parente héritée utilise les opérateurs de contrôle enfants pour appliquer les paramètres d'un plan unique et les empêche d'être modifiés ou remplacés par une politique enfant. La politique enfant peut encore ajouter des plans supplémentaires.

Politique parente : cette politique peut être attachée à la racine de l'organisation ou à une UO parente. Cet exemple est similaire au précédent où tous les opérateurs d'héritage enfants sont bloqués, sauf au niveau supérieur plans. Le paramètre @@append à ce niveau permet aux politiques enfants d'ajouter d'autres plans à l'ensemble dans la politique effective. Toutes les modifications du plan hérité sont toujours bloquées.

Les sections du plan sont tronquées pour plus de clarté.

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

Politique enfant : cette politique peut être attachée directement au compte ou à une UO dans n'importe quel niveau inférieur à celui auquel la politique parente est attachée. Cette politique enfant définit un nouveau plan.

Les sections du plan sont tronquées pour plus de clarté.

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

Politique effective résultante : la politique effective inclut les deux plans.

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

Exemple 5 : Une politique enfant remplace les paramètres d'une politique parente

Dans l'exemple suivant, une politique enfant utilise des opérateurs de définition de valeur pour remplacer certains des paramètres hérités d'une politique parente.

Politique parente : cette politique peut être attachée à la racine de l'organisation ou à une UO parente. Tous les paramètres peuvent être remplacés par une politique enfant, car le comportement par défaut, en l'absence d'un opérateur de contrôle enfant qui l'empêche, est d'autoriser la politique enfant à @@assign, @@append ou @@remove. La politique parente contient tous les éléments requis pour un plan de sauvegarde valable, de sorte qu'elle sauvegarde vos ressources correctement si elles sont héritées en l'état.

{ "plans": { "PII_Backup_Plan": { "regions": { "@@append": [ "us-east-1", "ap-northeast-3", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": {"@@assign": "cron(0 0/1 ? * * *)"}, "start_backup_window_minutes": {"@@assign": "60"}, "target_backup_vault_name": {"@@assign": "FortKnox"}, "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "delete_after_days": {"@@assign": "2"}, "move_to_cold_storage_after_days": {"@@assign": "180"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:t2": { "target_backup_vault_arn": {"@@assign": "arn:aws:backup:us-east-1:$account:backup-vault:t2"}, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "28"}, "delete_after_days": {"@@assign": "180"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": {"@@assign": "arn:aws:iam::$account:role/MyIamRole"}, "tag_key": {"@@assign": "dataType"}, "tag_value": { "@@assign": [ "PII", "RED" ] } } } } } } }

Politique enfant : la politique enfant inclut uniquement les paramètres qui doivent être différents de ceux de la politique parente héritée. Il doit y avoir une politique parente héritée qui fournit les autres paramètres requis lors de la fusion dans une politique effective. Sinon, la politique de sauvegarde effective contient un plan de sauvegarde non valable qui ne sauvegarde pas vos ressources comme prévu.

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

Politique effective résultante : la politique effective inclut les paramètres des deux politiques, ceux fournis par la politique enfant remplaçant les paramètres hérités de la politique parente. Dans cet exemple, les modifications suivantes se produisent :

  • La liste des régions est remplacée par une liste complètement différente. Si vous souhaitez ajouter une région à la liste héritée, utilisez @@append au lieu de @@assign dans la politique enfant.

  • AWS Backup effectue la tâche toutes les deux heures au lieu de toutes les heures.

  • AWS Backup accorde 80 minutes pour démarrer la sauvegarde au lieu de 60 minutes.

  • AWS Backup utilise le Default coffre au lieu deFortKnox.

  • Le cycle de vie est prolongé pour le transfert vers le stockage à froid et la suppression à terme de la sauvegarde.

{ "plans": { "PII_Backup_Plan": { "regions": [ "us-west-2", "eu-central-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/2 ? * * *)", "start_backup_window_minutes": "80", "target_backup_vault_name": "Default", "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "lifecycle": { "delete_after_days": "365", "move_to_cold_storage_after_days": "30", "opt_in_to_archive_for_supported_resources": "false" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault": { "target_backup_vault_arn": {"@@assign": "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault"}, "lifecycle": { "move_to_cold_storage_after_days": "28", "delete_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::$account:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } } } } }

Exemple 6 : Spécification des ressources avec le tags bloc

L'exemple suivant inclut toutes les ressources avec les tag_key symboles = “env” et tag_value = "prod" et"gamma". Cet exemple exclut les ressources avec le tag_key = "backup" et le 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" } } } } } } }, ...

Exemple 7 : Spécification des ressources avec le resources bloc

Voici des exemples d'utilisation du resources bloc pour spécifier des ressources.

Example: Select all resources in my account

La logique booléenne est similaire à celle que vous pouvez utiliser dans les politiques IAM. Le "resource_types" bloc utilise un booléen AND pour combiner les types de ressources.

... "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

La logique booléenne est similaire à celle que vous pouvez utiliser dans les politiques IAM. Les "not_resource_types" blocs "resource_types" et utilisent un booléen AND pour combiner les types de ressources.

... "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

La logique booléenne est similaire à celle que vous pouvez utiliser dans les politiques IAM. Les "not_resource_types" blocs "resource_types" et utilisent un booléen AND pour combiner les types de ressources. Le "conditions" bloc utilise un AND booléen.

... "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"

La logique booléenne est similaire à celle que vous pouvez utiliser dans les politiques IAM. Le "resource_types" bloc utilise un booléen AND pour combiner les types de ressources. Le "conditions" bloc utilise un booléen AND pour combiner les types de ressources et les conditions des balises.

... "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"

La logique booléenne est similaire à celle que vous pouvez utiliser dans les politiques IAM. Le "resource_types" bloc utilise un booléen AND pour combiner les types de ressources. Le "conditions" bloc utilise un booléen AND pour combiner les types de ressources et les conditions des balises.

... "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"

La logique booléenne est similaire à celle que vous pouvez utiliser dans les politiques IAM. Le "resource_types" bloc utilise un booléen AND pour combiner les types de ressources. Le "conditions" bloc utilise un booléen AND pour combiner les types de ressources et les conditions des balises.

Dans cet exemple, notez l'utilisation du caractère générique (*) dans include**exclude*, etarn:aws:rds:*:*:db:*. Vous pouvez utiliser le caractère générique (*) au début, à la fin et au milieu d'une chaîne.

... "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

La logique booléenne est similaire à celle que vous pouvez utiliser dans les politiques IAM. Les "not_resource_types" blocs "resource_types" et utilisent un booléen AND pour combiner les types de ressources. Le "conditions" bloc utilise un booléen AND pour combiner les types de ressources et les conditions des balises.

... "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"} } } } } }, ...