Sintaxe e exemplos de políticas de backup - AWS Organizations

Sintaxe e exemplos de políticas de backup

Esta página descreve a sintaxe da política de backup e fornece exemplos.

Sintaxe para políticas de backup

Uma política de backup é um arquivo de texto sem formatação estruturado de acordo com as regras do JSON. A sintaxe para políticas de backup segue a sintaxe para todos os tipos de política de gerenciamento. Para obter uma discussão completa sobre essa sintaxe, consulte Sintaxe de política e herança para tipos de política de gerenciamento. Este tópico se concentra na aplicação dessa sintaxe geral aos requisitos específicos do tipo de política de backup.

Essa massa de uma política de backup é o plano de backup e suas regras. A sintaxe do plano de backup em uma política de backup do AWS Organizations é estruturalmente idêntica à sintaxe usada pelo AWS Backup, mas os nomes de chave são diferentes. Nas descrições dos nomes de chave da política abaixo, cada um inclui o nome de chave de plano do AWS Backup equivalente. Para obter mais informações sobre planos do AWS Backup, consulte CreateBackupPlan no Guia do desenvolvedor do AWS Backup.

Para que seja completa e funcional, uma política de backup efetiva deve incluir mais do que apenas um plano de backup com sua programação e regras. A política também deve identificar as Regiões da AWS e os recursos dos quais fazer backup, além da função do AWS Identity and Access Management (IAM) que pode ser usada pelo AWS Backup para executar o backup.

A seguinte política funcionalmente completa mostra a sintaxe básica da política de backup. Se este exemplo fosse anexado diretamente a uma conta, o AWS Backup faria backup de todos os recursos dessa conta nas regiões us-east-1 e eu-north-1 que têm a tag dataType com um valor de PII ou RED. Ele faz backup desses recursos diariamente às 5h00 em My_Backup_Vault e também armazena uma cópia no My_Secondary_Vault. Ambos os cofres estão na mesma conta que o recurso. Ele também armazena uma cópia do backup em My_Tertiary_Vault em uma conta diferente, explicitamente especificada. Os cofres já devem existir em cada uma das Regiões da AWS especificadas para cada Conta da AWS que recebe a política em vigor. Se alguns dos recursos do backup forem instâncias do EC2, o suporte ao Microsoft Volume Shadow Copy Service (VSS) será habilitado para os backups nessas instâncias. O backup aplica a tag Owner:Backup a cada ponto de recuperação.

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

A sintaxe da política de backup inclui os seguintes componentes:

  • Variáveis de $account – Em determinadas sequências de texto nas políticas, você pode usar a variável $account para representar a Conta da AWS atual. Quando o AWS Backup executa um plano na política em vigor, ele substitui automaticamente essa variável pela Conta da AWS atual na qual a política em vigor e seus planos estão sendo executados.

    Importante

    Você pode usar a variável $account somente em elementos de política que possam incluir um nome do recurso da Amazon (ARN), como aqueles que especificam o cofre de backup para armazenamento do backup ou a função do IAM com permissões para executar o backup.

    Por exemplo, o seguinte exige que um cofre denominado My_Vault exista em cada Conta da AWS à qual a política se aplica.

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

    Recomendamos que você use os conjuntos de pilhas do AWS CloudFormation e sua integração com o Organizations para criar e configurar automaticamente cofres de backup e funções do IAM para cada conta-membro da organização. Para obter mais informações, consulte Criação de um conjunto de pilhas com permissões autogerenciadas no Manual do usuário do AWS CloudFormation.

  • Operadores de herança – As políticas de backup podem usar operadores de definição de valores e operadores de controle de subordinados.

  • plans

    No nível superior, a chave da política é a chave plans. Uma política de backup deve sempre começar com esse nome de chave fixo na parte superior do arquivo de política. Sob esta chave, você pode ter um ou mais planos de backup.

  • Cada plano na chave de nível superior plans tem um nome de chave que consiste no nome do plano de backup atribuído pelo usuário. No exemplo anterior, o nome do plano de backup é PII_Backup_Plan. Você pode ter vários planos em uma política, cada um com suas próprias rules, regions, selections e tags.

    Esse nome de chave do plano de backup em uma política de backup mapeia para o valor da chave BackupPlanName em um plano do AWS Backup.

    Cada plano pode conter os seguintes elementos:

    • rules – Esta chave contém uma coleção de regras. Cada regra se traduz em uma tarefa agendada, com uma hora de início e uma janela para fazer backup dos recursos identificados pelos elementos selections e regions na política de backup em vigor.

    • regions – Esta chave contém uma lista matricial de Regiões da AWS dos quais essa política pode fazer backup.

    • selections – Esta chave contém uma ou mais coleções de recursos (dentro da regions especificada) dos quais as rules especificadas fazem backup.

    • advanced_backup_settings – Esta chave contém configurações específicas para backups em execução em determinados recursos.

    • backup_plan_tags – Esta especifica as tags que são anexadas ao plano de backup propriamente dito.

  • rules

    A chave de política rules mapeia para a chave Rules em um plano do AWS Backup. Você pode ter uma ou mais regras sob a chave rules. Cada regra se torna uma tarefa agendada para executar um backup dos recursos selecionados.

    Cada regra contém uma chave cujo nome de chave é o nome da regra. No exemplo anterior, o nome da regra é “My_Hourly_Rule”. O valor da chave de regra é a seguinte coleção de elementos de regra:

    • schedule_expression – Esta chave de política mapeia para a chave ScheduleExpression em um plano do AWS Backup.

      Especifica a hora de início do backup. Essa chave contém o operador de valor de herança @@assign e um valor de string com uma expressão CRON que especifica quando o AWS Backup deve iniciar um trabalho de backup. O formato geral da sequência CRON é: "cron( )". Cada um é um número ou curinga. Por exemplo, cron(0 5 ? * 1,3,5 *) inicia o backup às 5 da manhã, todas as segundas, quartas e sextas-feiras. cron(0 0/1 ? * * *) inicia o backup a cada hora, todos os dias da semana.

    • target_backup_vault_name – Esta chave de política mapeia para a chave TargetBackupVaultName em um plano do AWS Backup.

      Especifica o nome do cofre de backup no qual armazenar o backup. Você cria o valor usando o AWS Backup. Esta chave contém o operador de valor de herança @@assign e um valor de string com um nome de cofre.

      Importante

      O cofre já deve existir quando o plano de backup é iniciado pela primeira vez. Recomendamos que você use os conjuntos de pilhas do AWS CloudFormation e sua integração com o Organizations para criar e configurar automaticamente cofres de backup e funções do IAM para cada conta-membro da organização. Para obter mais informações, consulte Criação de um conjunto de pilhas com permissões autogerenciadas no Manual do usuário do AWS CloudFormation.

    • start_backup_window_minutes – Esta chave de política mapeia para a chave StartWindowMinutes em um plano do AWS Backup.

      (Opcional) Especifica o número de minutos a aguardar antes de cancelar um trabalho que não é iniciado com êxito. Esta chave contém o operador de valor de herança @@assign e um valor com um número inteiro de minutos.

    • complete_backup_window_minutes – Esta chave de política mapeia para a chave CompletionWindowMinutes em um plano do AWS Backup.

      (Opcional) Especifica o número de minutos após um trabalho de backup ser iniciado com êxito antes de ser concluído ou ser cancelado pelo AWS Backup. Esta chave contém o operador de valor de herança @@assign e um valor com um número inteiro de minutos.

    • enable_continuous_backup – Esta chave de política mapeia para a chave EnableContinuousBackup em um plano do AWS Backup.

      (Opcional) Especifica se o AWS Backup cria backups contínuos. True faz com que AWS Backup crie backups contínuos capazes de PITR (point-in-time restore, recuperação em um ponto anterior no tempo). False (ou não especificado) faz com que AWS Backup crie backups de snapshot.

      nota

      Como os backups habilitados para PITR podem ser mantidos por um máximo de 35 dias, você deve escolher False ou não especifique um valor se definir qualquer uma das opções a seguir:

      • Definir delete_after_days como um valor maior que 35.

      • Definir move_to_code_storage_after_days como qualquer valor.

      Para obter mais informações sobre backups contínuos, consulte Recuperação em um ponto anterior no tempo no Guia do desenvolvedor do AWS Backup.

    • lifecycle – Esta chave de política mapeia para a chave Lifecycle em um plano do AWS Backup.

      (Opcional) Especifica quando o AWS Backup faz a transição desse backup para o armazenamento frio e quando ele expira.

      • move_to_cold_storage_after_days – Esta chave de política mapeia para a chave MoveToColdStorageAfterDays em um plano do AWS Backup.

        Especifica o número de dias após o backup antes de o AWS Backup mover o ponto de recuperação para o armazenamento frio. Esta chave contém o operador de valor de herança @@assign e um valor com um número inteiro de dias.

      • delete_after_days – Esta chave de política mapeia para a chave DeleteAfterDays em um plano do AWS Backup.

        Especifica o número de dias após o backup antes de o AWS Backup excluir o ponto de recuperação. Esta chave contém o operador de valor de herança @@assign e um valor com um número inteiro de dias. Se você fizer a transição de um backup para o armazenamento frio, ele deve permanecer lá por um mínimo de 90 dias; portanto, esse valor deve ser de no mínimo 90 dias maior do que o valor move_to_cold_storage_after_days.

    • copy_actions – Esta chave de política mapeia para a chave CopyActions em um plano do AWS Backup.

      (Opcional) Especifica que o AWS Backup deve copiar o backup para um ou mais locais adicionais. Cada local de cópia de backup é descrito da seguinte forma:

      • Uma chave cujo nome identifica exclusivamente esta ação de cópia. Neste momento, o nome da chave deve ser o nome do recurso da Amazon (ARN) do cofre de backup. Esta chave contém duas entradas.

        • target_backup_vault_arn – Esta chave de política mapeia para a chave DestinationBackupVaultArn em um plano do AWS Backup.

          (Opcional) Especifica o cofre no qual o AWS Backup armazena uma cópia adicional do backup. O valor desta chave contém a propriedade operador de valor de herança de @@assign e o ARN do cofre.

          • Para referenciar um cofre na Conta da AWS em que a política de backup está sendo executada, use a variável $account no ARN no lugar do número de ID da conta. Quando o plano de backup é executado pelo AWS Backup, ele substitui automaticamente a variável pelo número de ID da Conta da AWS na qual a política está sendo executada. Isso permite que o backup seja executado corretamente quando a política de backup se aplica a mais de uma conta de uma organização.

          • Para referenciar um cofre em uma outra Conta da AWS da mesma organização, use o número de ID de conta real no ARN.

          Importante
          • Se esta chave estiver ausente, será usada uma versão em minúsculas do ARN no nome da chave superior. Como os ARNs diferenciam maiúsculas de minúsculas, essa sequência pode não corresponder ao ARN real do cofre e o plano falha. Por esse motivo, recomendamos que você sempre forneça essa chave e valor.

          • O cofre de backup para o qual você deseja copiar o backup já deve existir da primeira vez que você iniciar o plano de backup. Recomendamos que você use os conjuntos de pilhas do AWS CloudFormation e sua integração com o Organizations para criar e configurar automaticamente cofres de backup e funções do IAM para cada conta-membro da organização. Para obter mais informações, consulte Criação de um conjunto de pilhas com permissões autogerenciadas no Manual do usuário do AWS CloudFormation.

        • lifecycle – Esta chave de política mapeia para a chave Lifecycle sob a chave CopyAction em um plano do AWS Backup.

          (Opcional) Especifica quando o AWS Backup faz a transição dessa cópia de um backup para o armazenamento frio e quando ela expira.

          • move_to_cold_storage_after_days – Esta chave de política mapeia para a chave MoveToColdStorageAfterDays em um plano do AWS Backup.

            Especifica o número de dias após o backup antes de o AWS Backup mover o ponto de recuperação para o armazenamento frio. Esta chave contém o operador de valor de herança @@assign e um valor com um número inteiro de dias.

          • delete_after_days – Esta chave de política mapeia para a chave DeleteAfterDays em um plano do AWS Backup.

            Especifica o número de dias após o backup antes de o AWS Backup excluir o ponto de recuperação. Esta chave contém o operador de valor de herança @@assign e um valor com um número inteiro de dias. Se você fizer a transição de um backup para o armazenamento frio, ele deve permanecer lá por um mínimo de 90 dias; portanto, esse valor deve ser de no mínimo 90 dias maior do que o valor move_to_cold_storage_after_days.

    • recovery_point_tags – Esta chave de política mapeia para a chave RecoveryPointTags em um plano do AWS Backup.

      (Opcional) Especifica tags anexadas pelo AWS Backup a cada backup que ele cria a partir deste plano. O valor dessa chave contém um ou mais dos seguintes elementos:

      • Um identificador para este par de nome e valor de chave. Esse nome para cada elemento sob recovery_point_tags é o nome da chave de tag em letras minúsculas, mesmo se a tag_key tenha um tratamento de caracteres diferente. Este identificador não diferencia maiúsculas e minúsculas. No exemplo anterior, esse par de chaves foi identificado pelo nome Owner. Cada par de chaves contém os seguintes elementos:

        • tag_key – Especifica o nome da chave de tag a ser anexada ao plano de backup. Esta chave contém o operador de valor de herança @@assign e um valor de string. O valor diferencia maiúsculas de minúsculas.

        • tag_value – especifica o valor anexado ao plano de backup e associado à tag_key. Essa chave contém qualquer um dos operadores de valor de herança, e um ou mais valores para substituir, acrescentar ou remover da política efetiva. Os valores diferenciam maiúsculas de minúsculas.

  • regions

    A chave de política regions especifica quais Regiões da AWS o AWS Backup examina para localizar os recursos que correspondem às condições na chave selections. Esta chave contém qualquer um dos operadores de valor de herança e um ou mais valores de sequência para códigos de Região da AWS, por exemplo: ["us-east-1", "eu-north-1"].

  • selections

    A chave de política selections especifica os recursos dos quais as regras de plano fazem backup nesta política. Essa chave corresponde aproximadamente ao objeto BackupSelection em AWS Backup. Os recursos são especificados por uma consulta para nomes e valores de chave de tag correspondentes. A chave selections contém uma chave abaixo dela – tags.

    • tags – Especifica as tags que identificam os recursos e a função do IAM que têm permissão para consultar os recursos e fazer backup deles. O valor dessa chave contém um ou mais dos seguintes elementos:

      • Um identificador para este elemento de tag. Esse identificador em tags é o nome da chave de tag em letras minúsculas, mesmo que a tag a consultar tenha um tratamento de caracteres diferente. Este identificador não diferencia maiúsculas e minúsculas. No exemplo anterior, um elemento foi identificado pelo nome My_Backup_Assignment. Cada identificador em tags contém os seguintes elementos:

        • iam_role_arn – Especifica a função do IAM que tem permissão para acessar os recursos identificados pela consulta de tag nas Regiões da AWS especificadas pela chave regions. Esse valor contém o operador de valor de herança @@assign e um valor de string que contém o ARN da função. O AWS Backup usa essa função para consultar e descobrir os recursos e para executar o backup.

          Você pode usar a variável $account no ARN no lugar do número de ID da conta. Quando o plano de backup é executado pelo AWS Backup, ele substitui automaticamente a variável pelo número de ID da Conta da AWS na qual a política está sendo executada.

          Importante

          A função já deve existir quando você iniciar o plano de backup pela primeira vez. Recomendamos que você use os conjuntos de pilhas do AWS CloudFormation e sua integração com o Organizations para criar e configurar automaticamente cofres de backup e funções do IAM para cada conta-membro da organização. Para obter mais informações, consulte Criação de um conjunto de pilhas com permissões autogerenciadas no Manual do usuário do AWS CloudFormation.

        • tag_key – Especifica o nome da chave de tag a ser pesquisado. Esta chave contém o operador de valor de herança @@assign e um valor de string. O valor diferencia maiúsculas de minúsculas.

        • tag_value – Especifica o valor que deve ser associado a um nome de chave que corresponda a tag_key. O AWS Backup inclui o recurso no backup somente se tag_key e tag_value corresponderem. Essa chave contém qualquer um dos operadores de valor de herança, e um ou mais valores para substituir, acrescentar ou remover da política efetiva. Os valores diferenciam maiúsculas de minúsculas.

  • advanced_backup_settings – Especifica configurações para cenários de backup específicos. Esta chave contém uma ou mais configurações. Cada configuração é uma sequência de objeto JSON com os seguintes elementos:

    • Nome da chave do objeto – Uma sequência que especifica o tipo de recurso ao qual as configurações avançadas a seguir se aplicam.

    • Valor do objeto – Uma sequência de objeto JSON que contém uma ou mais configurações de backup específicas do tipo de recurso associado.

    No momento, a única configuração de backup avançada compatível habilita os backups do Microsoft Volume Shadow Copy Service (VSS) para Windows ou SQL Server em execução em uma instância do Amazon EC2. O nome da chave deve ser o tipo de recurso "ec2" e o valor especifica que o suporte de "windows_vss" esteja enabled ou disabled para backups realizados nessas instâncias do Amazon EC2. Para obter mais informações sobre esse recurso, consulte Criação de um backup do Windows habilitado para VSS no Guia do desenvolvedor do AWS Backup.

    "advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } }
  • backup_plan_tags – Especifica as tags anexadas ao plano de backup propriamente dito. Isso não afeta as tags especificadas em nenhuma regra ou seleções.

    (Opcional) Você pode anexar tags aos planos de backup. O valor desta chave é uma coleção de elementos.

    O nome de chave para cada elemento sob backup_plan_tags é o nome da chave de tag em letras minúsculas, mesmo se a tag a consultar tenha um tratamento de caracteres diferente. Este identificador não diferencia maiúsculas e minúsculas. O valor para cada uma dessas entradas consiste nas seguintes chaves:

    • tag_key – Especifica o nome da chave de tag a ser anexada ao plano de backup. Esta chave contém o operador de valor de herança @@assign e um valor de string. Esse valor diferencia maiúsculas de minúsculas.

    • tag_value – especifica o valor anexado ao plano de backup e associado à tag_key. Esta chave contém o operador de valor de herança @@assign e um valor de string. Esse valor diferencia maiúsculas de minúsculas.

Exemplos de políticas de backup

As políticas de backup no exemplo a seguir são apenas para fins informativos. Em alguns dos exemplos a seguir, a formatação de espaço em branco JSON pode ser compactada para economizar espaço.

Exemplo 1: Política atribuída a um nó pai

O exemplo a seguir mostra uma política de backup atribuída a um dos nós pai de uma conta.

Política superior – Esta política pode ser anexada à raiz da organização ou a qualquer UO que seja superior a todas as contas pretendidas.

{ "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 nenhuma outra política for herdada ou anexada às contas, a política em vigor processada em cada Conta da AWS aplicável será semelhante ao exemplo a seguir. A expressão CRON faz com que o backup seja executado uma vez por hora. O ID da conta 123456789012 será o ID de conta real para cada conta.

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

Exemplo 2: Uma política pai é mesclada com uma política filho

No exemplo a seguir, uma política superior herdada e uma política subordinada herdada ou diretamente anexada a uma Conta da AWS se mesclam para formar a política em vigor.

Política superior – Esta política pode ser anexada à raiz da organização ou a qualquer UO superior.

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

Política subordinada – Esta política pode ser anexada diretamente à conta ou a uma UO em qualquer nível abaixo daquele ao qual a política superior está anexada.

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

Política em vigor resultante – A política em vigor aplicada às contas contém dois planos, cada um com o seu próprio conjunto de regras e conjunto de recursos aos quais as regras devem ser aplicadas.

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

Exemplo 3: Uma política pai impede quaisquer alterações por uma política filho

No exemplo a seguir, uma política pai herdada usa os operadores de controle filho para impor todas as configurações e impede que elas sejam alteradas ou substituídas por uma política filho.

Política superior – Esta política pode ser anexada à raiz da organização ou a qualquer UO superior. A presença de "@@operators_allowed_for_child_policies": ["@@none"] em cada nó da política significa que uma política filho não pode fazer alterações de nenhum tipo no plano. Uma política filho também não pode adicionar planos extras à política efetiva. Essa política se torna a política efetiva para cada UO e conta sob a UO à qual ela está anexada.

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

Política em vigor resultante Se existirem políticas de backup subordinadas, elas serão ignoradas e a política superior se tornará a política em vigor.

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

Exemplo 4: Uma política pai impede alterações em um plano de backup por uma política filho

No exemplo a seguir, uma política pai herdada usa os operadores de controle filho para impor as configurações para um único plano e impede que elas sejam alteradas ou substituídas por uma política filho. A política filho ainda pode adicionar planos extras.

Política superior – Esta política pode ser anexada à raiz da organização ou a qualquer UO superior. Este exemplo é semelhante ao exemplo anterior com todos os operadores de herança filho bloqueados, exceto no nível superior dos plans. A configuração @@append nesse nível permite que as políticas filho adicionem outros planos à coleção na política efetiva. Quaisquer alterações ao plano herdado ainda são bloqueadas.

As seções do plano estão truncadas para maior clareza.

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

Política subordinada – Esta política pode ser anexada diretamente à conta ou a uma UO em qualquer nível abaixo daquele ao qual a política superior está anexada. Esta política filho define um novo plano.

As seções do plano estão truncadas para maior clareza.

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

Política em vigor resultante – A política em vigor inclui ambos os planos.

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

Exemplo 5: Uma política filho substitui as configurações numa política pai

No exemplo a seguir, uma política subordinada usa operadores de definição de valor para substituir algumas das configurações herdadas de uma política superior.

Política superior – Esta política pode ser anexada à raiz da organização ou a qualquer UO superior. Qualquer uma das configurações pode ser substituída por uma política filho porque o comportamento padrão, na ausência de um operador de controle filho que o impede, é permitir a política filho para @@assign, @@append, ou @@remove. A política pai contém todos os elementos necessários para um plano de backup válido; portanto, ele faz backup de seus recursos com êxito se for herdado como está.

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

Política subordinada – A política subordinada inclui apenas as configurações que precisam ser diferentes da política superior herdada. Deve haver uma política superior herdada que forneça as outras configurações necessárias quando mescladas em uma política em vigor. Caso contrário, a política de backup em vigor contém um plano de backup inválido que não fará backup de seus recursos conforme o esperado.

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

Política em vigor resultante – A política em vigor inclui configurações de ambas as políticas, com as configurações fornecidas pela política subordinada substituindo as configurações herdadas da superior. Neste exemplo, ocorrem as seguintes alterações:

  • A lista de regiões é substituída por uma lista completamente diferente. Se você quiser adicionar uma região à lista herdada, consulte @@append em vez de @@assign na política subordinada.

  • AWS BackupO executa a cada duas horas em vez de hora em hora.

  • AWS BackupO permite 80 minutos para que o backup seja iniciado em vez de 60 minutos.

  • O AWS Backup usa o cofre Default em vez de FortKnox.

  • O ciclo de vida é estendido tanto para a transferência para o armazenamento frio quanto para a eventual exclusão do 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" ] } } } } } }