バックアップポリシーの構文と例 - AWS Organizations

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

バックアップポリシーの構文と例

このページでは、バックアップポリシーの構文について説明し、例を示します。

バックアップポリシーの構文

バックアップポリシーは、JSON のルールに従って構造化されたプレーンテキストファイルです。バックアップポリシーの構文は、すべての管理ポリシータイプの構文に従います。詳細については、「管理ポリシータイプのポリシー構文と継承」を参照してください。このトピックでは、一般的な構文をバックアップポリシータイプの特定の要件に適用することを重点的に扱っています。

AWS Backup プランの詳細については、「 AWS Backup デベロッパーガイド」のCreateBackupPlan」を参照してください。

考慮事項

ポリシー構文

JSON では、重複するキー名は拒否されます。

ポリシーでは、バックアップする AWS リージョン および リソースを指定する必要があります。

ポリシーでは、 が AWS Backup 引き受ける IAM ロールを指定する必要があります。

同じレベルで @@assign 演算子を使用することで、既存の設定が上書きされる可能性があります。詳細については、「A child policy overrides settings in a parent policy」を参照してください。

継承演算子は、アカウントの有効なポリシーが作成される際に、継承されたポリシーとアカウントポリシーがどのようにマージされるかを制御します。これらの演算子には、値設定演算子と子制御演算子が含まれます。

詳細については、「Inheritance operators」と「Backup policy examples」を参照してください。

IAM ロール

IAM ロールは、バックアッププランを初めて作成する時点で存在する必要があります。

IAM ロールには、タグクエリで識別されるリソースにアクセスするためのアクセス許可が必要です。

IAM ロールには、バックアップを実行するためのアクセス許可が必要です。

バックアップボールト

ボールトは、バックアッププランを実行する AWS リージョン 前に、指定された各 に存在する必要があります。

ボールトは、有効なポリシーを受け取る AWS アカウントごとに存在する必要があります。詳細については、「AWS Backup デベロッパーガイド」の「バックアップボールトの作成と削除」を参照してください。

AWS CloudFormation スタックセットとその Organizations との統合を使用して、組織内の各メンバーアカウントのバックアップボールトと IAM ロールを自動的に作成および設定することをお勧めします。詳細については、AWS CloudFormation ユーザーガイドセルフマネージド型のアクセス許可を持つスタックセットの作成を参照してください。

クォータ

クォータのリストについては、「AWS Backup デベロッパーガイド」の「AWS Backup quotas」を参照してください。

バックアップ構文: 概要

バックアップポリシー構文には、次のコンポーネントが含まれます。

{ "plans": { "PlanName": { "rules": { ... }, "regions": { ... }, "selections": { ... }, "advanced_backup_settings": { ... }, "backup_plan_tags": { ... } } } }
バックアップポリシーの要素
要素 説明 必須
ルール バックアップルールのリスト。各ルールは、バックアップを開始するタイミングと、regions および selections 要素で指定されたリソースの実行ウィンドウを定義します。 はい
リージョン バックアップポリシー AWS リージョン がリソースを保護できる のリスト。 はい
selections バックアップ rules が保護する指定された regions 内の 1 つ以上のリソースタイプ。 はい
advanced_backup_settings

特定のバックアップシナリオの設定オプション。

現在、サポートされている高度なバックアップ設定で利用可能なのは、Amazon EC2 インスタンスで実行される Windows または SQL Server の Microsoft ボリュームシャドウコピーサービス (VSS) バックアップだけです。

いいえ
backup_plan_tags

バックアッププランに関連付けるタグ。各タグは、ユーザー定義のキーと値で構成されるラベルです。

タグは、バックアッププランの管理、識別、整理、検索、フィルタリングに役立ちます。

いいえ

バックアップ構文: rules

rules ポリシーキーは、選択したリソースで AWS Backup が実行するスケジュールされたバックアップタスクを指定します。

バックアップルールの要素
要素 説明 必須
schedule_expression

がバックアップジョブ AWS Backup を開始するタイミングを指定する UTC の Cron 式。

cron 式の詳細については、「Amazon EventBridge ユーザーガイド」の「Using cron and rate expressions to schedule rules」を参照してください。

はい
target_backup_vault_name

バックアップが保存されるバックアップボールト。

バックアップボールトは、それらを作成するために使用されるアカウントと、それらが作成される AWS リージョン に固有の名前で識別されます。

はい
target_logically_air_gapped_backup_vault_arn

バックアップが保存されている論理エアギャップボールト ARN。

提供されている場合、サポートされているフルマネージドリソースは論理エアギャップボールトに直接バックアップされ、他のサポートされているリソースはバックアップボールトに一時的な (請求可能な) スナップショットを作成し、論理エアギャップボールトにコピーします。サポートされていないリソースは、指定されたバックアップボールトにのみバックアップされます。

ARN は特別なプレースホルダー $regionと を使用する必要があります$account。たとえば、 という名前のボールトの場合AirGappedVault、正しい値は ですarn:aws:backup:$region:$account:backup-vault:AirGappedVault

いいえ
start_backup_window_minutes

バックアップジョブが正常に開始されない場合にバックアップジョブがキャンセルされるまでの待機時間 (分)。

この値を含める場合、エラーを避けるために少なくとも 60 分必要です。

いいえ
complete_backup_window_minutes バックアップジョブが正常に開始されてから完了するまで、または AWS Backupによってキャンセルされるまでの待機時間 (分)。 いいえ
enable_continuous_backup

が継続的バックアップ AWS Backup を作成するかどうかを指定します。

True は、 AWS Backup がpoint-in-time復元 (PITR) が可能な継続的バックアップを作成します。 False (または指定されていない) は、 AWS Backup がスナップショットバックアップを作成します。

連続バックアップの詳細については、AWS Backup デベロッパーガイドポイントインタイムリカバリを参照してください。

注: PITR 対応バックアップの最大保持期間は 35 日です。

いいえ
lifecycle

がバックアップをコールドストレージ AWS Backup に移行するタイミングと有効期限を指定します。

コールドストレージに移行できるリソースタイプは、「AWS Backup デベロッパーガイド」の「Feature availability by resources」にあるリソース別の機能の可用性の表に記載されています。

各ライフサイクルには以下の要素が含まれます。

  • move_to_cold_storage_after_days: が復旧ポイントをコールドストレージ AWS Backup に移動するまで、バックアップが発生してからの日数。

  • delete_after_days: が復旧ポイント AWS Backup を削除するまでにバックアップが発生してからの日数。

  • opt_in_to_archive_for_supported_resources: この値が true として割り当てられている場合、バックアッププランでは、サポートされているリソースがライフサイクル設定に従ってアーカイブ (コールド) ストレージ階層に移行されます。

注: コールドストレージに移行されたバックアップは、そこに最低 90 日保存される必要があります。

つまり、delete_after_daysmove_to_cold_storage_after_days より 90 日長くする必要があります。

いいえ
copy_actions

がバックアップを 1 つ以上の追加の場所 AWS Backup にコピーするかどうかを指定します。

各コピーアクションには以下の要素が含まれます。

  • target_backup_vault_arn: AWS Backup がバックアップの追加のコピーを保存するボールト。

    • 同じアカウント内でのコピーの場合は $account を使用します

    • クロスアカウントコピーの場合はアカウント ID を使用します

  • lifecycle: がバックアップをコールドストレージ AWS Backup に移行するタイミングと有効期限を指定します。

    各ライフサイクルには以下の要素が含まれます。

    • move_to_cold_storage_after_days: バックアップが実行されてから、 AWS Backup が復旧ポイントをコールドストレージに移動するまでの期間 (日)。

    • delete_after_days: が復旧ポイント AWS Backup を削除するまでに のバックアップが発生してからの日数。

注: コールドストレージに移行されたバックアップは、そこに最低 90 日保存される必要があります。

つまり、delete_after_daysmove_to_cold_storage_after_days より 90 日長くする必要があります。

いいえ
recovery_point_tags

バックアップから復元されたリソースに割り当てるタグ。

各タグには以下の要素が含まれます。

  • tag_key: タグ名 (大文字と小文字を区別)

  • tag_value: タグ値 (大文字と小文字を区別)

いいえ
index_actions

が Amazon EBS スナップショットおよび/または Amazon S3 バックアップのバックアップインデックス AWS Backup を作成するかどうかを指定します。バックアップインデックスは、バックアップのメタデータを検索するために作成されます。バックアップインデックスの作成とバックアップ検索の詳細については、「Backup search」を参照してください。

注: Amazon EBS スナップショットバックアップインデックスを作成するには、追加の IAM role permissions が必要です。

各インデックスアクションには以下の resource_types 要素が含まれます。インデックス作成でサポートされるリソースタイプは Amazon EBS と Amazon S3 です。このパラメータは、インデックス作成にオプトインするリソースタイプを指定します。

いいえ

バックアップ構文: regions

regions ポリシーキーは、selectionsキーの条件に一致するリソースを見つけるために AWS リージョン が AWS Backup どの を検索するかを指定します。

バックアップリージョンの要素
要素 説明 必須
regions

AWS リージョン コードを指定します。例: ["us-east-1", "eu-north-1"]

はい

バックアップ構文: selections

selections ポリシーキーは、バックアップポリシーのルールによってバックアップされるリソースを指定します。

tagsresources は、相互に排他的な要素となります。有効なポリシーでは、選択内容に含まれるタグもしくは resources のどちらかが一方のみが有効である必要があります。

タグ条件とリソース条件の両方を選択内容に含めたい場合は、resources キーを使用します。

バックアップ選択の要素: Tags
要素 説明 必須
iam_role_arn が、指定されたリージョン全体のリソースのクエリ、検出、バックアップを AWS Backup 引き受ける IAM ロール。

ロールには、タグ条件に基づいてリソースをクエリし、一致するリソースに対してバックアップオペレーションを実行するための十分なアクセス許可が必要です。

はい
tag_key 検索するタグキー名。 はい
tag_value 一致する tag_key に関連付ける必要がある値。

tag_key と tag_value の両方が一致する (大文字小文字も一致する必要があります) 場合にのみ、AWS Backup にリソースが含まれます。

はい
conditions

含めるか除外するタグキーと値

完全に一致するタグを含めるか除外するには、string_equals または string_not_equals を使用します。

特定の文字列を含むタグまたは含まないタグを含めるか除外するには、string_likestring_not_like を使用します。

注: 選択 1 件ごとに条件は最大 30 個に制限されます。

いいえ
バックアップ選択の要素: Resources
要素 説明 必須
iam_role_arn が、指定されたリージョン全体のリソースのクエリ、検出、バックアップを AWS Backup 引き受ける IAM ロール。

ロールには、タグ条件に基づいてリソースをクエリし、一致するリソースに対してバックアップオペレーションを実行するための十分なアクセス許可が必要です。

注: では AWS GovCloud (US) Regions、パーティションの名前を ARN に追加する必要があります。

たとえば、「arn:aws:ec2:*:*:volume/*」は「arn:aws-us-gov:ec2:*:*:volume/*」にする必要があります。

はい
resource_types バックアッププランに含めるリソースタイプ。 はい
not_resource_types バックアッププランから除外するリソースタイプ。 いいえ
conditions

含めるか除外するタグキーと値

完全に一致するタグを含めるか除外するには、string_equals または string_not_equals を使用します。

特定の文字列を含むタグまたは含まないタグを含めるか除外するには、string_likestring_not_like を使用します。

注: 選択 1 件ごとに条件は最大 30 個に制限されます。

いいえ

サポートされているリソースタイプ

Organizations は、resource_types 要素と not_resource_types 要素に対して次のリソースタイプをサポートしています。

  • AWS Backup gateway 仮想マシン: "arn:aws:backup-gateway:*:*:vm/*"

  • AWS CloudFormation スタック: "arn:aws:cloudformation:*:*:stack/*"

  • Amazon DynamoDB テーブル: "arn:aws:dynamodb:*:*:table/*"

  • Amazon EC2 インスタンス: "arn:aws:ec2:*:*:instance/*"

  • Amazon EBS ボリューム: "arn:aws:ec2:*:*:volume/*"

  • Amazon EFS ファイルシステム: "arn:aws:elasticfilesystem:*:*:file-system/*"

  • Amazon Aurora/Amazon DocumentDB/Amazon Neptune クラスター: "arn:aws:rds:*:*:cluster:*"

  • Amazon RDS データベース: "arn:aws:rds:*:*:db:*"

  • Amazon Redshift クラスター: "arn:aws:redshift:*:*:cluster:*"

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

  • AWS Systems Manager for SAP HANA データベース: "arn:aws:ssm-sap:*:*:HANA/*"

  • AWS Storage Gateway ゲートウェイ: "arn:aws:storagegateway:*:*:gateway/*"

  • Amazon Timestream データベース: "arn:aws:timestream:*:*:database/*"

  • Amazon FSx ファイルシステム: "arn:aws:fsx:*:*:file-system/*"

  • Amazon FSx ボリューム: "arn:aws:fsx:*:*:volume/*"

コード例

詳細については、「Specifying resources with the tags block」および「Specifying resources with the resources block」を参照してください。

バックアップ構文: 高度なバックアップ設定

advanced_backup_settings キーは、特定のバックアップシナリオの設定オプションを指定します。各設定には以下の要素が含まれます。

高度なバックアップ設定の要素
要素 説明 必須
advanced_backup_settings 特定のバックアップシナリオの設定を指定します。このキーには 1 つ以上の設定が含まれます。各設定は、次の要素を持つ JSON オブジェクト文字列です。

現在、サポートされている高度なバックアップ設定で利用可能なのは、Amazon EC2 インスタンスで実行される Windows または SQL Server の Microsoft ボリュームシャドウコピーサービス (VSS) バックアップだけです。

それぞれの高度なバックアップ設定では、以下の要素を設定します。

  • Object key name: 次の高度な設定が適用されるリソースのタイプを指定する文字列。

    キー名は "ec2" リソースタイプである必要があります。

  • Object value: 関連付けられたリソースタイプに固有の 1 つ以上のバックアップ設定が含まれる文字列。

    この値により、Amazon EC2 インスタンスで実行されるバックアップに対する "windows_vss" サポートを enabled にするか disabled にするかを指定します。

いいえ

:

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

バックアップ構文: backup plan tags

backup_plan_tags ポリシーキーは、バックアッププラン自体にアタッチされるタグを指定します。これは、rules または selections に対して指定されたタグには影響しません。

バックアッププランタグの要素
要素 説明 必須
backup_plan_tags 各タグは、ユーザー定義のキーと値で構成されるラベルです。
  • tag_key: 検索するタグキー名。 値では、大文字と小文字が区別されます。

  • tag_value: バックアッププランにアタッチされ、tag_key に関連付けられている値。 値では、大文字と小文字が区別されます。

いいえ

バックアップポリシーの例

次のサンプルバックアップポリシーは、情報提供のみを目的としています。以下の例の一部では、スペースを節約するために JSON の空白書式が圧縮される場合があります。

例 1: 親ノードに割り当てられたポリシー

次の例は、アカウントの親ノードの 1 つに割り当てられているバックアップポリシーを示しています。

親ポリシー - このポリシーは、組織のルート、またはすべての対象アカウントの親である任意の OU にアタッチできます。

{ "plans": { "PII_Backup_Plan": { "regions": { "@@assign": [ "ap-northeast-2", "us-east-1", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": { "@@assign": "cron(0 5/1 ? * * *)" }, "start_backup_window_minutes": { "@@assign": "480" }, "complete_backup_window_minutes": { "@@assign": "10080" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "180" }, "delete_after_days": { "@@assign": "270" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "target_backup_vault_name": { "@@assign": "FortKnox" }, "target_logically_air_gapped_backup_vault_arn": { "@@assign": "arn:aws:backup:$region:$account:backup-vault:AirGappedVault" }, "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" } } } } } }

他のポリシーがアカウントに継承またはアタッチされていない場合、該当する各 でレンダリングされる有効なポリシーは次の例の 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", "target_logically_air_gapped_backup_vault_arn": "arn:aws:backup:$region:$account:backup-vault:AirGappedVault", "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" } } } } }

例 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" }, "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" ] } } } } } } }

子ポリシー - このポリシーは、アカウントに直接アタッチすることも、親ポリシーがアタッチされているより低いレベルの OU にアタッチすることもできます。

{ "plans": { "Monthly_Backup_Plan": { "regions": { "@@append":[ "us-east-1", "eu-central-1" ] }, "rules": { "Monthly": { "schedule_expression": { "@@assign": "cron(0 5 1 * ? *)" }, "start_backup_window_minutes": { "@@assign": "480" }, "target_backup_vault_name": { "@@assign": "Default" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "delete_after_days": { "@@assign": "365" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:Default" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:backup-vault:Default" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "delete_after_days": { "@@assign": "365" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "selections": { "tags": { "MonthlyDatatype": { "iam_role_arn": { "@@assign": "arn:aws:iam::$account:role/MyMonthlyBackupIamRole" }, "tag_key": { "@@assign": "BackupType" }, "tag_value": { "@@assign": [ "MONTHLY", "RED" ] } } } } } } }

最終的に適用される有効なポリシー - アカウントに適用される有効なポリシーには、2 つのプランがあり、それぞれに独自のルールのセットとルールを適用するリソースのセットがあります。

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

例 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" }, "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"] } } } } } }

最終的に適用される有効なポリシー - 子バックアップポリシーが存在する場合、それらは無視され、親ポリシーが有効なポリシーになります。

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

例 4: 親ポリシーが、子ポリシーによる 1 つのバックアッププランへの変更を防止する

次の例では、継承された親ポリシーが子制御演算子を使用して単一のプランの設定を強制し、子ポリシーによって変更またはオーバーライドされないようにします。子ポリシーがプランを追加することはできます。

親ポリシー - このポリシーは、組織のルートまたは任意の親 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: 子ポリシーが親ポリシーの設定をオーバーライドする

次の例では、子ポリシーが値設定演算子を使用して、親ポリシーから継承された設定の一部をオーバーライドしています。

親ポリシー - このポリシーは、組織のルートまたは任意の親 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"}, "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" ] } } } } } } }

子ポリシー - 子ポリシーには、継承された親ポリシーとは異なる必要がある設定のみが含まれます。有効なポリシーにマージするときは、その他の必須設定を提供する、継承された親ポリシーが必要です。それがないと、有効なバックアップポリシーには無効なバックアッププランが格納され、期待どおりにリソースがバックアップされません。

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

最終的に適用される有効なポリシー - 有効なポリシーには両方のポリシーの設定が含まれます。子ポリシーによって提供される設定が、親ポリシーから継承された設定をオーバーライドします。この例では、以下の変更が発生します。

  • リージョンのリストは、まったく別のリストに置き換えられます。継承リストにリージョンを追加する場合、子ポリシーで @@assign の代わりに @@append を使用します。

  • AWS Backup は、時間単位ではなく 2 時間ごとに実行します。

  • 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", "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" ] } } } } } }

例 6: tags ブロックを使用したリソースの指定

次の例には、tag_key = “env” であり、tag_value = "prod" であり、かつ "gamma" のあるすべてのリソースが含まれます。この例では、tag_key = "backup" であり、かつ tag_value = "false" であるリソースを除外します。

... "selections":{ "tags":{ "selection_name":{ "iam_role_arn": {"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "tag_key":{"@@assign": "env"}, "tag_value":{"@@assign": ["prod", "gamma"]}, "conditions":{ "string_not_equals":{ "condition_name1":{ "condition_key": { "@@assign": "aws:ResourceTag/backup" }, "condition_value": { "@@assign": "false" } } } } } } }, ...

例 7: resources ブロックを使用したリソースの指定

以下は、resources ブロックを使用してリソースを指定する例です。

Example: Select all resources in my account

ブール論理は、IAM ポリシーで使用するものと同様です。"resource_types" ブロックはブール値 AND を使用してリソースタイプを組み合わせます。

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

ブール論理は、IAM ポリシーで使用するものと同様です。"resource_types" ブロックと "not_resource_types" ブロックは、ブール値 AND を使用してリソースタイプを組み合わせます。

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

ブール論理は、IAM ポリシーで使用するものと同様です。"resource_types" ブロックと "not_resource_types" ブロックは、ブール値 AND を使用してリソースタイプを組み合わせます。"conditions" ブロックはブール値 AND を使用します。

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

ブール論理は、IAM ポリシーで使用するものと同様です。"resource_types" ブロックはブール値 AND を使用してリソースタイプを組み合わせます。"conditions" ブロックはブール値 AND を使用してリソースタイプとタグ条件を組み合わせます。

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

ブール論理は、IAM ポリシーで使用するものと同様です。"resource_types" ブロックはブール値 AND を使用してリソースタイプを組み合わせます。"conditions" ブロックはブール値 AND を使用してリソースタイプとタグ条件を組み合わせます。

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

ブール論理は、IAM ポリシーで使用するものと同様です。"resource_types" ブロックはブール値 AND を使用してリソースタイプを組み合わせます。"conditions" ブロックはブール値 AND を使用してリソースタイプとタグ条件を組み合わせます。

この例では、include**exclude*arn:aws:rds:*:*:db:* でワイルドカード文字 (*) を使用していることに注意してください。ワイルドカード文字 (*) は文字列の先頭、末尾、および中間で使用できます。

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

ブール論理は、IAM ポリシーで使用するものと同様です。"resource_types" ブロックと "not_resource_types" ブロックは、ブール値 AND を使用してリソースタイプを組み合わせます。"conditions" ブロックはブール値 AND を使用してリソースタイプとタグ条件を組み合わせます。

... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "*" ] }, "not_resource_types":{ "@@assign":[ "arn:aws:fsx:*:*:file-system/*", "arn:aws:rds:*:*:db:*" ] }, "conditions":{ "string_equals":{ "condition_name1":{ "condition_key":{"@@assign":"aws:ResourceTag/backup"}, "condition_value":{"@@assign":"true"} } } } } }, ...