백업 정책 구문 및 예제 - AWS Organizations

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

백업 정책 구문 및 예제

이 페이지에서는 백업 정책 구문에 대해 설명하고 예제를 제공합니다.

백업 정책 구문

백업 정책은 JSON 규칙에 따라 구성된 일반 텍스트 파일입니다. 백업 정책 구문은 모든 관리 정책 유형에 대한 구문을 따릅니다. 해당 구문에 대한 자세한 내용은 관리 정책 유형에 대한 정책 구문 및 상속을 참조하세요. 이 항목에서는 백업 정책 유형의 특정 요구 사항에 해당 일반 구문을 적용하는 방법을 중점적으로 설명합니다.

백업 정책의 대부분은 백업 계획과 그 규칙입니다. 백업 정책 내의 백업 계획 구문은 에서 사용하는 구문과 구조적으로 AWS Backup동일하지만 키 이름은 다릅니다. AWS Organizations 아래 정책 키 이름에 대한 설명에는 각 정책 키 이름에 해당하는 AWS Backup 계획 키 이름이 포함되어 있습니다. AWS Backup 플랜에 대한 자세한 내용은 AWS Backup 개발자 안내서를 참조하십시오 CreateBackupPlan.

참고

JSON을 사용할 때 중복된 키 이름은 거부됩니다. 단일 정책에 여러 계획, 규칙 또는 선택 항목을 포함하려면 각 키의 이름이 고유해야 합니다.

완전하고 제대로 작동하는 유효 백업 정책은 일정 및 규칙이 포함된 백업 계획 이상을 포함해야 합니다. 또한 정책은 백업할 대상 AWS 리전 및 리소스, 백업을 수행하는 데 사용할 AWS Backup 수 있는 AWS Identity and Access Management (IAM) 역할을 식별해야 합니다.

다음의 기능적으로 완전한 정책은 기본 백업 정책 구문을 보여 줍니다. 이 예제를 계정에 직접 연결한 경우 값이 PII 또는 RED 인 AWS Backup 태그가 dataType 있는 us-east-1eu-north-1 지역에서 해당 계정의 모든 리소스를 백업합니다. 이러한 리소스를 매일 오전 5시에 My_Backup_Vault로 백업하고 복제본을 My_Secondary_Vault에 저장합니다. 두 볼트는 모두 리소스와 동일한 계정에 있습니다. 정책은 명시적으로 지정한 다른 계정의 My_Tertiary_Vault에도 백업의 복사본을 저장합니다. 유효한 정책을 받는 각 저장소의 지정된 AWS 리전 저장소에는 저장소가 AWS 계정 이미 있어야 합니다. 백업된 리소스가 EC2 인스턴스인 경우 해당 인스턴스의 백업에 대해 Microsoft Volume Shadow Copy Service(VSS) 지원이 활성화됩니다. 백업은 각 복구 지점에 태그 Owner:Backup을 적용합니다.

{ "plans": { "PII_Backup_Plan": { "rules": { "My_Hourly_Rule": { "schedule_expression": {"@@assign": "cron(0 5 ? * * *)"}, "start_backup_window_minutes": {"@@assign": "60"}, "complete_backup_window_minutes": {"@@assign": "604800"}, "enable_continuous_backup": {"@@assign": false}, "target_backup_vault_name": {"@@assign": "My_Backup_Vault"}, "recovery_point_tags": { "Owner": { "tag_key": {"@@assign": "Owner"}, "tag_value": {"@@assign": "Backup"} } }, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "180"}, "delete_after_days": {"@@assign": "270"} }, "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"} } } } } }

백업 정책 구문에는 다음 구성 요소가 포함됩니다.

  • $account 변수 - 정책의 특정 텍스트 문자열에서 $account 변수를 사용하여 현재 AWS 계정을 나타낼 수 있습니다. 유효 정책에서 계획을 실행하면 이 변수가 유효 정책 및 해당 계획이 AWS Backup 실행되고 있는 현재 AWS 계정 변수로 자동 대체됩니다.

    중요

    Amazon 리소스 이름(ARN)을 포함할 수 있는 정책 요소(예: 백업을 저장할 백업 볼트를 지정하는 요소 또는 백업을 수행할 권한이 있는 IAM 역할)에서만 $account 변수를 사용할 수 있습니다.

    예를 들어, 다음과 같은 경우에는 정책이 AWS 계정 적용되는 각 저장소에 이름이 지정된 저장소가 My_Vault 있어야 합니다.

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

    AWS CloudFormation 스택 세트 및 Organization과의 통합을 사용하여 조직의 각 구성원 계정에 대한 백업 저장소와 IAM 역할을 자동으로 생성하고 구성하는 것이 좋습니다. 자세한 내용은 AWS CloudFormation 사용 설명서자체 관리 권한으로 스택 세트 만들기를 참조하세요.

  • 상속 연산자 - 백업 정책은 상속 값-설정(value-setting) 연산자하위 제어 연산자를 모두 사용할 수 있습니다.

  • plans

    정책의 최상위 키에는 plans 키가 있습니다. 백업 정책은 항상 정책 파일의 맨 위에 있는 이 고정 키 이름으로 시작해야 합니다. 이 키 아래에 하나 이상의 백업 계획을 둘 수 있습니다.

  • plans 최상위 키 아래의 각 계획은 사용자가 할당한 백업 계획 이름으로 구성된 키 이름을 갖습니다. 위의 예제에서 백업 계획 이름은 PII_Backup_Plan입니다. 한 정책에 각각 고유한 rules, regions, selections, tags를 가진 여러 계획을 둘 수 있습니다.

    백업 정책의 이 백업 계획 키 이름은 계획의 BackupPlanName 키 값에 매핑됩니다. AWS Backup

    각 객체에는 다음의 요소가 포함될 수 있습니다.

    • rules - 이 키에는 규칙 모음이 들어 있습니다. 각 규칙은 예약된 작업으로 변환되며, 유효 백업 정책의 selectionsregions 요소로 식별된 리소스를 백업할 시작 시간 및 기간이 포함됩니다.

    • regions- 이 키에는 이 정책으로 리소스를 백업할 수 있는 AWS 리전 사람의 배열 목록이 들어 있습니다.

    • selections – 이 키에는 지정된 rules에 의해 백업되는 리소스 모음(지정된 regions에 있음)이 하나 이상 들어 있습니다.

    • advanced_backup_settings- 이 키에는 특정 리소스에서 실행되는 백업에 특정한 설정이 포함되어 있습니다.

    • backup_plan_tags - 백업 계획 자체에 연결되는 태그를 지정합니다.

  • rules

    rules 정책 키는 AWS Backup 계획의 Rules 키에 매핑됩니다. rules 키 아래에 하나 이상의 규칙을 포함할 수 있습니다. 각 규칙은 선택한 리소스에 대한 백업을 수행하는 예약된 작업이 됩니다.

    각 규칙에는 이름이 규칙 이름인 키가 포함됩니다. 위의 예제에서 규칙 이름은 “My_Hourly_Rule”입니다. 규칙 키의 값은 다음과 같은 규칙 요소의 모음입니다.

    • schedule_expression— 이 정책 키는 AWS Backup 계획의 ScheduleExpression 키에 매핑됩니다.

      백업의 시작 시간을 지정합니다. 이 키에는 @@assign상속 값 연산자와 백업 작업 시작 시기를 AWS Backup 지정하는 CRON 표현식이 있는 문자열 값이 들어 있습니다. CRON 문자열의 일반적인 형식은 "cron( )"입니다. 각각은 숫자 또는 와일드카드입니다. 예를 들어 cron(0 5 ? * 1,3,5 *)는 매주 월요일, 수요일 및 금요일 오전 5시에 백업을 시작합니다. cron(0 0/1 ? * * *)는 매일 매시 정각에 백업을 시작합니다.

    • target_backup_vault_name— 이 정책 키는 계획의 키에 TargetBackupVaultName 매핑됩니다. AWS Backup

      백업을 저장할 백업 볼트의 이름을 지정합니다. 를 사용하여 가치를 AWS Backup창출합니다. 이 키에는 @@assign 상속 값 연산자와 볼트 이름이 포함된 문자열 값이 들어 있습니다.

      중요

      백업 계획을 처음 시작할 때 볼트가 이미 있어야 합니다. AWS CloudFormation 스택 세트 및 Organization과의 통합을 사용하여 조직의 각 구성원 계정에 대한 백업 저장소와 IAM 역할을 자동으로 생성하고 구성하는 것이 좋습니다. 자세한 내용은 AWS CloudFormation 사용 설명서자체 관리 권한으로 스택 세트 만들기를 참조하세요.

    • start_backup_window_minutes— 이 정책 키는 계획의 키에 StartWindowMinutes 매핑됩니다. AWS Backup

      (선택 사항) 성공적으로 시작되지 않은 작업을 취소하기 전에 대기할 시간(분)을 지정합니다. 이 키에는 @@assign 상속 값 연산자와 정수 값(분)이 들어 있습니다.

    • complete_backup_window_minutes – 이 정책 키는 AWS Backup 계획의 CompletionWindowMinutes 키에 매핑됩니다.

      (선택 사항) 백업 작업이 성공적으로 시작된 후 완료되거나 AWS Backup에 의해 취소되기 전까지 시간(분)을 지정합니다. 이 키에는 @@assign 상속 값 연산자와 정수 값(분)이 들어 있습니다.

    • enable_continuous_backup— 이 정책 키는 AWS Backup 계획의 EnableContinuousBackup 키에 매핑됩니다.

      (선택 사항) 연속 백업을 AWS Backup 생성할지 여부를 지정합니다. True point-in-time 복원 가능한 연속 백업 (PITR) AWS Backup 을 생성하는 원인. False(또는 지정되지 않음) 원인은 AWS Backup 스냅샷 백업을 생성합니다.

      참고

      PITR 지원 백업은 최대 35일 동안 유지할 수 있으므로 만약 다음 옵션 중 하나를 설정했다면 False를 선택하거나 값을 지정하지 않아야 합니다.

      • delete_after_days를 35보다 큰 값으로 설정.

      • move_to_cold_storage_after_days를 임의의 값으로 설정.

      연속 백업에 대한 자세한 내용은 AWS Backup 개발자 안내서의 P oint-in-time 복구를 참조하십시오.

    • lifecycle— 이 정책 키는 AWS Backup 계획의 Lifecycle 키에 매핑됩니다.

      (선택 사항) 이 백업을 콜드 스토리지로 AWS Backup 전환하는 시기와 만료일을 지정합니다.

      • move_to_cold_storage_after_days - 이 정책 키는 계획의 키에 MoveToColdStorageAfterDays 매핑됩니다. AWS Backup

        AWS Backup 이 백업 후 복구 지점을 콜드 스토리지로 이동할 때까지 경과할 기간(일)을 지정합니다. 이 키에는 @@assign 상속 값 연산자와 정수 값(일)이 들어 있습니다.

      • delete_after_days— 이 정책 키는 AWS Backup 계획의 DeleteAfterDays 키에 매핑됩니다.

        AWS Backup 이 백업 후 복구 지점을 삭제할 때까지 경과할 기간(일)을 지정합니다. 이 키에는 @@assign 상속 값 연산자와 정수 값(일)이 들어 있습니다. 백업을 콜드 스토리지로 전환하는 경우 백업을 최소 90일 동안 유지해야 하므로 이 값은 move_to_cold_storage_after_days보다 90일 이상 커야 합니다.

    • copy_actions— 이 정책 키는 AWS Backup 계획의 CopyActions 키에 매핑됩니다.

      (선택 사항) 백업을 하나 이상의 추가 위치에 복사하도록 AWS Backup 지정합니다. 각 백업 복사본 위치는 아래에 설명되어 있습니다.

      • 이름으로 해당 복사 작업을 고유하게 식별할 수 있는 키입니다. 이때 키 이름은 백업 볼트의 Amazon 리소스 이름(ARN)이어야 합니다. 이 키는 두 항목을 포함합니다.

        • target_backup_vault_arn – 이 정책 키는 AWS Backup 계획의 DestinationBackupVaultArn 키에 매핑됩니다.

          (선택 사항) 백업의 추가 복사본을 AWS Backup 저장하는 저장소를 지정합니다. 이 키의 값은 @@assign 상속 값 연산자와 볼트의 ARN을 포함합니다.

          • 백업 정책이 실행되는 저장소를 참조하려면 계정 ID 번호 대신 ARN의 $account 변수를 사용하십시오. AWS 계정 백업 계획을 실행하면 변수가 정책이 AWS Backup 실행되는 계정의 계정 ID 번호로 자동 대체됩니다. AWS 계정 이렇게 하면 백업 정책을 조직의 둘 이상의 계정에 적용할 때 백업이 올바르게 실행됩니다.

          • 동일한 조직에 있는 다른 AWS 계정 의 볼트를 참조하려면 ARN에 실제 계정 ID 번호를 사용합니다.

          중요
          • 이 키가 없으면 상위 키 이름에 있는 모든 소문자 버전의 ARN이 사용됩니다. ARN은 대소문자를 구분하므로 이 문자열은 오류의 실제 ARN과 일치하지 않을 수 있으며 계획이 실패합니다. 따라서 항상 이 키 및 값을 제공하는 것이 좋습니다.

          • 백업 계획을 처음 시작할 때 백업을 복사하려는 백업 볼트가 사전에 존재해야 합니다. AWS CloudFormation 스택 세트 및 Organizations와의 통합을 사용하여 조직의 각 멤버 계정에 대한 백업 볼트 및 IAM 역할을 자동으로 생성하고 구성하는 것이 좋습니다. 자세한 내용은 AWS CloudFormation 사용 설명서자체 관리 권한으로 스택 세트 만들기를 참조하세요.

        • lifecycle— 이 정책 키는 AWS Backup 계획의 Lifecycle 키 아래에 있는 CopyAction 키에 매핑됩니다.

          (선택 사항) 이 백업 복사본을 콜드 스토리지로 AWS Backup 전환하는 시기와 만료일을 지정합니다.

          • move_to_cold_storage_after_days – 이 정책 키는 AWS Backup 계획의 MoveToColdStorageAfterDays 키에 매핑됩니다.

            백업이 발생한 후 복구 지점을 콜드 스토리지로 AWS Backup 이동하기 전까지 경과할 일수를 지정합니다. 이 키에는 @@assign 상속 값 연산자와 정수 값(일)이 들어 있습니다.

          • delete_after_days – 이 정책 키는 AWS Backup 계획의 DeleteAfterDays 키에 매핑됩니다.

            백업이 발생한 후 복구 지점을 AWS Backup 삭제하기 전까지 경과할 일수를 지정합니다. 이 키에는 @@assign 상속 값 연산자와 정수 값(일)이 들어 있습니다. 백업을 콜드 스토리지로 전환하는 경우 백업을 최소 90일 동안 유지해야 하므로 이 값은 move_to_cold_storage_after_days보다 90일 이상 커야 합니다.

    • recovery_point_tags- 이 정책 키는 AWS Backup 계획의 RecoveryPointTags 키에 매핑됩니다.

      (선택 사항) 이 계획에서 생성하는 각 백업에 AWS Backup 첨부되는 태그를 지정합니다. 이 키의 값에는 다음 요소 중 하나 이상이 포함됩니다.

      • 이 키 이름/값 페어의 식별자. tag_key의 대/소문자 처리가 다르더라도 recovery_point_tags 아래의 각 요소에 대한 이 이름은 모두 소문자로 표시된 태그 키 이름입니다. 이 식별자는 대소문자를 구분하지 않습니다. 위의 예제에서 이 키 페어는 이름 Owner로 식별되었습니다. 각 키 페어에는 다음 요소가 들어 있습니다.

        • tag_key – 백업 계획에 연결할 태그 키 이름을 지정합니다. 이 키에는 @@assign 상속 값 연산자와 문자열 값이 들어 있습니다. 값은 대소문자를 구분합니다.

        • tag_value - 백업 계획에 연결되고 tag_key와 연결되는 값을 지정합니다. 이 키에는 상속 값 연산자와 유효 정책에서 대체, 추가 또는 제거할 하나 이상의 값이 들어 있습니다. 이러한 값은 대소문자를 구분합니다.

  • regions

    regions정책 키는 키의 조건에 맞는 리소스를 찾기 위해 검색할 대상을 지정합니다. AWS 리전 AWS Backup selections 이 키에는 모든 상속 값 연산자와 하나 이상의 AWS 리전 코드 문자열 값이 포함됩니다 (예:["us-east-1", "eu-north-1"].

  • selections

    selections 정책 키는 이 정책의 계획 규칙에 의해 백업되는 리소스를 지정합니다. 이 키는 대략 의 BackupSelection 객체에 해당합니다 AWS Backup. 리소스는 태그 키 이름 및 값을 일치시키는 쿼리에 의해 지정됩니다. selections 키는 그 아래에 하나의 키(tags)를 포함합니다.

    • tags – 리소스를 식별하는 태그와, 리소스를 쿼리해서 백업할 수 있는 권한이 있는 IAM 역할을 지정합니다. 이 키의 값에는 다음 요소 중 하나 이상이 포함됩니다.

      • 이 태그 요소의 식별자. 쿼리할 태그의 대/소문자 처리가 다르더라도 tags 아래의 이 식별자는 모두 소문자로 표시된 태그 키 이름입니다. 이 식별자는 대소문자를 구분하지 않습니다. 위의 예제에서 한 요소가 이름 My_Backup_Assignment로 식별되었습니다. tags의 각 식별자에는 다음 요소가 들어 있습니다.

        • iam_role_arnregions 키로 지정된 AWS 리전 에서 태그 쿼리로 식별된 리소스에 액세스할 수 있는 권한이 있는 IAM 역할을 지정합니다. 이 값에는 @@assign상속 값 연산자와 역할의 ARN이 포함된 문자열 값이 포함됩니다. AWS Backup 이 역할을 사용하여 리소스를 쿼리 및 검색하고 백업을 수행합니다.

          계정 ID 번호 대신 ARN의 $account 변수를 사용할 수 있습니다. 에서 백업 계획을 실행하면 변수가 정책이 실행되고 있는 실제 계정 ID 번호로 자동 대체됩니다. AWS Backup AWS 계정

          중요

          백업 계획을 처음 시작할 때 역할이 이미 존재해야 합니다. AWS CloudFormation 스택 세트 및 Organization과의 통합을 사용하여 조직의 각 구성원 계정에 대한 백업 저장소와 IAM 역할을 자동으로 생성하고 구성하는 것이 좋습니다. 자세한 내용은 AWS CloudFormation 사용 설명서자체 관리 권한으로 스택 세트 만들기를 참조하세요.

        • tag_key - 검색할 태그 키 이름을 지정합니다. 이 키에는 @@assign 상속 값 연산자와 문자열 값이 들어 있습니다. 값은 대소문자를 구분합니다.

        • tag_value- 일치하는 키 이름과 연결되어야 하는 값을 지정합니다. tag_key AWS Backup 와 가 모두 tag_value 일치하는 경우에만 백업에 tag_key 리소스를 포함합니다. 이 키에는 상속 값 연산자와 유효 정책에서 대체, 추가 또는 제거할 하나 이상의 값이 들어 있습니다. 이러한 값은 대소문자를 구분합니다.

  • advanced_backup_settings – 특정 백업 시나리오에 대한 설정을 지정합니다. 이 키에는 하나 이상의 설정이 있습니다. 각 설정은 다음 요소를 포함하는 JSON 객체 문자열입니다.

    • 객체 키 이름 - 다음 고급 설정이 적용되는 리소스 유형을 지정하는 문자열입니다.

    • 객체 값 - 연관된 리소스 유형에 특정한 하나 이상의 백업 설정을 포함하는 JSON 객체 문자열입니다.

    현재 지원되는 유일한 고급 백업 설정은 Amazon EC2 인스턴스에서 실행 중인 Windows 또는 SQL Server에 대해 Microsoft Volume Shadow Copy Service(VSS) 백업을 사용하는 것입니다. 키 이름은 "ec2" 리소스 유형이어야 하며, 값은 Amazon EC2 인스턴스에서 실행되는 백업에 대해 "windows_vss" 지원을 enabled, 아니면 disabled 여부를 지정합니다. 이 기능에 대한 자세한 내용은 AWS Backup 개발자 안내서VSS 지원 Windows 백업 생성을 참조하세요.

    "advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } }
  • backup_plan_tags – 백업 계획 자체에 연결되는 태그를 지정합니다. 규칙 또는 선택 사항에 지정된 태그에는 영향을 주지 않습니다.

    (선택 사항) 백업 계획에 태그를 연결할 수 있습니다. 이 키의 값은 요소의 모음입니다.

    쿼리할 태그의 대/소문자 처리가 다르더라도 backup_plan_tags 아래의 각 요소에 대한 키 이름은 모두 소문자로 표시된 태그 키 이름입니다. 이 식별자는 대소문자를 구분하지 않습니다. 이러한 각 항목의 값은 다음 키로 구성됩니다.

    • tag_key – 백업 계획에 연결할 태그 키 이름을 지정합니다. 이 키에는 @@assign 상속 값 연산자와 문자열 값이 들어 있습니다. 이 값은 대소문자를 구분합니다.

    • tag_value - 백업 계획에 연결되고 tag_key와 연결되는 값을 지정합니다. 이 키에는 @@assign 상속 값 연산자와 문자열 값이 들어 있습니다. 이 값은 대소문자를 구분합니다.

백업 정책 예제

다음 백업 정책 예제는 정보 제공 용도로만 제공됩니다. 다음 예제 중 일부에서는 공간을 절약하기 위해 JSON 공백 서식이 압축되었을 수 있습니다.

예제 1: 상위 노드에 할당된 정책

다음 예제에서는 계정의 상위 노드 중 하나에 할당된 백업 정책을 보여 줍니다.

상위 정책 – 이 정책은 조직의 루트 또는 모든 의도된 계정의 상위 OU에 연결할 수 있습니다.

{ "plans": { "PII_Backup_Plan": { "regions": { "@@assign": [ "ap-northeast-2", "us-east-1", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": { "@@assign": "cron(0 5/1 ? * * *)" }, "start_backup_window_minutes": { "@@assign": "480" }, "complete_backup_window_minutes": { "@@assign": "10080" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "180" }, "delete_after_days": { "@@assign": "270" } }, "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" } } } } } }

계정에 상속되거나 계정에 연결된 다른 정책이 없는 경우 각 적용 가능한 정책에서 렌더링된 유효 정책은 다음 예와 AWS 계정 같습니다. CRON 식은 백업을 한 시간에 한 번 실행합니다. 계정 ID 123456789012는 각 계정의 실제 계정 ID입니다.

{ "plans": { "PII_Backup_Plan": { "regions": [ "us-east-1", "ap-northeast-3", "eu-north-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/1 ? * * *)", "start_backup_window_minutes": "60", "target_backup_vault_name": "FortKnox", "lifecycle": { "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" } } } } }

예제 2: 상위 정책이 하위 정책과 병합

다음 예에서는 상속된 상위 정책과 하위 정책을 상속하거나 AWS 계정 병합에 직접 연결하여 효과적인 정책을 구성합니다.

상위 정책 – 이 정책은 조직의 루트 또는 모든 상위 OU에 연결할 수 있습니다.

{ "plans": { "PII_Backup_Plan": { "regions": { "@@append":[ "us-east-1", "ap-northeast-3", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": { "@@assign": "cron(0 0/1 ? * * *)" }, "start_backup_window_minutes": { "@@assign": "60" }, "target_backup_vault_name": { "@@assign": "FortKnox" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "28" }, "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" ] } } } } } } }

하위 정책 – 이 정책은 상위 정책이 연결된 수준보다 낮은 수준에서 계정 또는 OU에 직접 연결할 수 있습니다.

{ "plans": { "Monthly_Backup_Plan": { "regions": { "@@append":[ "us-east-1", "eu-central-1" ] }, "rules": { "Monthly": { "schedule_expression": { "@@assign": "cron(0 5 1 * ? *)" }, "start_backup_window_minutes": { "@@assign": "480" }, "target_backup_vault_name": { "@@assign": "Default" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "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" ] } } } } } } }

최종 유효 정책 – 계정에 적용되는 유효 정책에는 각각 자체 규칙 집합과 규칙을 적용할 리소스 집합이 있는 두 개의 계획이 포함됩니다.

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

예제 3: 상위 정책이 하위 정책에 의한 모든 변경을 금지

다음 예제에서 상속된 상위 정책은 하위 제어 연산자를 사용하여 모든 설정을 강제 적용하고 하위 정책이 설정을 변경 또는 재정의하는 것을 금지합니다.

상위 정책 – 이 정책은 조직의 루트 또는 모든 상위 OU에 연결할 수 있습니다. 정책의 모든 노드에 "@@operators_allowed_for_child_policies": ["@@none"]이 존재한다는 것은 하위 정책이 계획을 변경할 수 없음을 의미합니다. 또한 하위 정책은 유효 정책에 추가 계획을 추가할 수 없습니다. 이 정책은 연결된 OU 아래의 모든 OU 및 계정에 대해 유효한 정책이 됩니다.

{ "plans": { "@@operators_allowed_for_child_policies": ["@@none"], "PII_Backup_Plan": { "@@operators_allowed_for_child_policies": ["@@none"], "regions": { "@@operators_allowed_for_child_policies": ["@@none"], "@@append": [ "us-east-1", "ap-northeast-3", "eu-north-1" ] }, "rules": { "@@operators_allowed_for_child_policies": ["@@none"], "Hourly": { "@@operators_allowed_for_child_policies": ["@@none"], "schedule_expression": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "cron(0 0/1 ? * * *)" }, "start_backup_window_minutes": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "60" }, "target_backup_vault_name": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "FortKnox" }, "lifecycle": { "@@operators_allowed_for_child_policies": ["@@none"], "move_to_cold_storage_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "28" }, "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"] } } } } } }

최종 유효 정책 – 하위 백업 정책이 존재하면 해당 정책이 무시되고 상위 정책이 유효 정책이 됩니다.

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

예제 4: 상위 정책이 하위 정책에 의한 한 백업 계획의 변경을 금지

다음 예제에서 상속된 상위 정책은 하위 제어 연산자를 사용하여 단일 계획의 설정을 강제 적용하고 하위 정책이 해당 설정을 변경 또는 재정의하는 것을 금지합니다. 하위 정책은 여전히 추가 계획을 추가할 수 있습니다.

상위 정책 – 이 정책은 조직의 루트 또는 모든 상위 OU에 연결할 수 있습니다. 이 예제는 plans 최상위 수준을 제외하고 모든 하위 상속 연산자가 차단된 이전 예제와 유사합니다. 이 수준에서 @@append 설정을 사용하면 하위 정책이 유효 정책의 모음에 다른 계획을 추가할 수 있습니다. 상속된 계획에 대한 변경 사항은 여전히 모두 차단됩니다.

명확성을 위해 계획 섹션은 잘렸습니다.

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

하위 정책 – 이 정책은 상위 정책이 연결된 수준보다 낮은 수준에서 계정 또는 OU에 직접 연결할 수 있습니다. 이 하위 정책은 새 계획을 정의합니다.

명확성을 위해 계획 섹션은 잘렸습니다.

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

최종 유효 정책 – 유효 정책에는 두 계획이 모두 포함됩니다.

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

예제 5: 하위 정책이 상위 정책의 설정을 재정의

다음 예제에서 하위 정책은 값-설정(value-setting) 연산자를 사용하여 상위 정책에서 상속된 설정 일부를 재정의합니다.

상위 정책 – 이 정책은 조직의 루트 또는 모든 상위 OU에 연결할 수 있습니다. 해당 작업을 금지하는 하위 제어 연산자가 없는 경우 기본 동작은 하위 정책에 @@assign, @@append 또는 @@remove를 허용하는 것이므로 하위 정책은 모든 설정을 재정의할 수 있습니다. 상위 정책에는 유효한 백업 계획에 필요한 모든 요소가 포함되어 있으므로 정책이 있는 그대로 상속되면 리소스가 성공적으로 백업됩니다.

{ "plans": { "PII_Backup_Plan": { "regions": { "@@append": [ "us-east-1", "ap-northeast-3", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": {"@@assign": "cron(0 0/1 ? * * *)"}, "start_backup_window_minutes": {"@@assign": "60"}, "target_backup_vault_name": {"@@assign": "FortKnox"}, "lifecycle": { "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" ] } } } } } } }

하위 정책 – 하위 정책에는 상속된 상위 정책과 달라야 하는 설정만 포함됩니다. 유효 정책으로 병합될 때 다른 필수 설정을 제공하는 상속된 상위 정책이 있어야 합니다. 그렇지 않으면 예상대로 리소스를 백업하지 않는 잘못된 백업 계획이 유효 백업 정책에 포함됩니다.

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

최종 유효 정책 – 유효 정책에는 두 정책의 설정이 모두 포함되며 하위 정책이 제공하는 설정은 상위 정책에서 상속된 설정을 재정의합니다. 이 예제에서는 다음과 같이 변경됩니다.

  • 리전 목록이 완전히 다른 목록으로 바뀝니다. 상속된 목록에 리전을 추가하려면 하위 정책에 @@assign 대신 @@append를 사용합니다.

  • AWS Backup 매시간이 아닌 격주로 수행합니다.

  • AWS Backup 60분이 아닌 80분 동안 백업을 시작할 수 있습니다.

  • AWS Backup 대신 Default 볼트를 사용합니다FortKnox.

  • 백업을 콜드 스토리지로 이전 및 최종 삭제하기 위한 수명 주기가 모두 연장됩니다.

{ "plans": { "PII_Backup_Plan": { "regions": [ "us-west-2", "eu-central-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/2 ? * * *)", "start_backup_window_minutes": "80", "target_backup_vault_name": "Default", "lifecycle": { "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" ] } } } } } }