翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
バックアップポリシーの構文と例
このページでは、バックアップポリシーの構文について説明し、例を示します。
バックアップポリシーの構文
バックアップポリシーは、JSON
AWS Backup プランの詳細については、CreateBackupPlan」を参照してください。 AWS Backup
考慮事項
ポリシー構文
重複するキー名は JSON で拒否されます。
ポリシーでは、バックアップする AWS リージョン および リソースを指定する必要があります。
ポリシーでは、 が AWS Backup 引き受ける IAM ロールを指定する必要があります。
同じレベルで @@assign
演算子を使用すると、既存の設定が上書きされる可能性があります。詳細については、「子ポリシーが親ポリシーの設定を上書きする」を参照してください。
継承演算子は、アカウントの有効なポリシーが作成される際に、継承されたポリシーとアカウントポリシーがどのようにマージされるかを制御します。これらの演算子には、値設定演算子と子制御演算子が含まれます。
詳細については、「継承演算子」および「バックアップポリシーの例」を参照してください。
IAM ロール
IAM ロールは、バックアッププランを初めて作成するときに存在する必要があります。
IAM ロールには、タグクエリで識別されるリソースにアクセスするためのアクセス許可が必要です。
IAM ロールには、バックアップを実行するアクセス許可が必要です。
バックアップボールト
ボールトは、バックアッププランを実行する AWS リージョン 前に、指定された各 に存在する必要があります。
ボールトは、有効なポリシーを受け取る AWS アカウントごとに存在する必要があります。詳細については、「 AWS Backup デベロッパーガイド」の「バックアップボールトの作成と削除」を参照してください。
AWS CloudFormation スタックセットとその Organizations との統合を使用して、組織内の各メンバーアカウントのバックアップボールトと IAM ロールを自動的に作成および設定することをお勧めします。詳細については、AWS CloudFormation ユーザーガイドのセルフマネージド型のアクセス許可を持つスタックセットの作成を参照してください。
クォータ
クォータのリストについては、「 AWS Backup デベロッパーガイド」のAWS Backup 「クォータ」を参照してください。
バックアップ構文: 概要
バックアップポリシー構文には、次のコンポーネントが含まれます。
{ "plans": { "PlanName": { "rules": { ... }, "regions": { ... }, "selections": { ... }, "advanced_backup_settings": { ... }, "backup_plan_tags": { ... } } } }
要素 | 説明 | 必須 |
---|---|---|
ルール | バックアップルールのリスト。各ルールは、 および selections 要素で指定されたリソースのバックアップの開始時期regions と実行ウィンドウを定義します。 |
はい |
リージョン | バックアップポリシー AWS リージョン がリソースを保護できる のリスト。 | はい |
選択 | バックアップがrules 保護regions する指定された 内の 1 つ以上のリソースタイプ。 |
はい |
advanced_backup_settings | 特定のバックアップシナリオの設定オプション。 現在サポートされている高度なバックアップ設定は、Amazon EC2 インスタンスで実行されている Windows または SQL Server の Microsoft Volume Shadow Copy Service (VSS) バックアップを有効にすることです。 |
いいえ |
backup_plan_tags | バックアッププランに関連付けるタグ。各タグは、ユーザー定義のキーと値で構成されるラベルです。 タグは、バックアッププランの管理、識別、整理、検索、フィルタリングに役立ちます。 |
いいえ |
バックアップ構文: ルール
rules
ポリシーキーは、選択したリソースで が AWS Backup 実行するスケジュールされたバックアップタスクを指定します。
要素 | 説明 | 必須 |
---|---|---|
schedule_expression |
がバックアップジョブ AWS Backup を開始するタイミングを指定する UTC の Cron 式。 cron 式の詳細については、「Amazon EventBridge ユーザーガイド」の「cron 式と rate 式を使用してルールをスケジュールする」を参照してください。 |
はい |
target_backup_vault_name |
バックアップが保存されるバックアップボールト。 バックアップボールトは、それらを作成するために使用されるアカウントと、それらが作成される AWS リージョン に固有の名前で識別されます。 |
はい |
start_backup_window_minutes |
バックアップジョブが正常に開始されない場合、バックアップジョブをキャンセルするまで待機する分数。 この値を含める場合、エラーを避けるために少なくとも 60 分必要です。 |
いいえ |
complete_backup_window_minutes |
N バックアップジョブが正常に開始されてから完了するまでの分数。完了しないと、 によってキャンセルされます AWS Backup。 | いいえ |
enable_continuous_backup |
が継続的バックアップ AWS Backup を作成するかどうかを指定します。
連続バックアップの詳細については、AWS Backup デベロッパーガイドのポイントインタイムリカバリを参照してください。 注: PITR 対応バックアップの最大保持期間は 35 日です。 |
いいえ |
lifecycle |
がバックアップをコールドストレージ AWS Backup に移行するタイミングと有効期限を指定します。 コールドストレージに移行できるリソースタイプは、「 AWS Backup デベロッパーガイド」の「リソース別の機能の可用性」表「リソース別の機能の可用性」に記載されています。 各ライフサイクルには、次の要素が含まれます。
注: コールドストレージに移行するバックアップは、最低 90 日間コールドストレージに保存する必要があります。 つまり、 は より 90 日長く |
いいえ |
copy_actions |
がバックアップを 1 つ以上の追加の場所 AWS Backup にコピーするかどうかを指定します。 各コピーアクションには、次の要素が含まれます。
注: コールドストレージに移行したバックアップは、最低 90 日間コールドストレージに保存する必要があります。 つまり、 は より 90 日長く |
いいえ |
recovery_point_tags |
バックアップから復元されたリソースに割り当てるタグ。 各タグには、次の要素が含まれています。
|
いいえ |
index_actions |
が Amazon EBS スナップショットおよび/または Amazon S3 バックアップのバックアップインデックス AWS Backup を作成するかどうかを指定します。バックアップインデックスは、バックアップのメタデータを検索するために作成されます。バックアップインデックスの作成とバックアップ検索の詳細については、「バックアップ検索」を参照してください。 注: Amazon EBS スナップショットバックアップインデックスを作成するには、追加の IAM ロールのアクセス許可が必要です。 各インデックスアクションには次の要素が含まれます。インデックス作成でサポートされている |
いいえ |
バックアップ構文: リージョン
regions
ポリシーキーは、 AWS リージョン がselections
キーの条件に一致するリソースを見つけるためにどの AWS Backup を検索するかを指定します。
要素 | 説明 | 必須 |
---|---|---|
regions |
AWS リージョン コードを指定します。例: |
はい |
バックアップ構文: 選択
selections
ポリシーキーは、バックアップポリシーのルールによってバックアップされるリソースを指定します。
相互に排他的な要素は tags
と の 2 つですresources
。有効なポリシーを有効にするには、タグresources
として または have
を選択する必要があります。
タグ条件とリソース条件の両方を含む選択が必要な場合は、 resources
キーを使用します。
要素 | 説明 | 必須 |
---|---|---|
iam_role_arn |
が、指定されたリージョン全体のリソースをクエリ、検出、バックアップすることを AWS Backup 引き受ける IAM ロール。 ロールには、タグ条件に基づいてリソースをクエリし、一致するリソースに対してバックアップオペレーションを実行するための十分なアクセス許可が必要です。 |
はい |
tag_key |
検索するタグキー名。 | はい |
tag_value |
一致する tag_key に関連付ける必要がある値。 AWS Backup には、tag_key と tag_value の両方が一致する (大文字と小文字が区別される) 場合にのみ、 リソースが含まれます。 |
はい |
conditions |
含めるか除外するタグキーと値 string_equals または string_not_equals を使用して、完全に一致するタグを含めるか除外します。 string_like と string_not_like を使用して、特定の文字を含むタグまたは含まないタグを含めるか除外する 注: 選択ごとに 30 の条件に制限されています。 |
いいえ |
要素 | 説明 | 必須 |
---|---|---|
iam_role_arn |
が、指定されたリージョン全体のリソースをクエリ、検出、バックアップすることを AWS Backup 引き受ける IAM ロール。 ロールには、タグ条件に基づいてリソースをクエリし、一致するリソースに対してバックアップオペレーションを実行するための十分なアクセス許可が必要です。 注: では AWS GovCloud (US) Regions、パーティションの名前を ARN に追加する必要があります。 たとえば、 |
はい |
resource_types |
バックアッププランに含めるリソースタイプ。 | はい |
not_resource_types |
バックアッププランから除外するリソースタイプ。 | いいえ |
conditions |
含めるか除外するタグキーと値 string_equals または string_not_equals を使用して、完全に一致するタグを含めるか除外します。 string_like と string_not_like を使用して、特定の文字を含むタグまたは含まないタグを含めるか除外する 注: 選択ごとに 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/*"
コード例
詳細については、「タグブロックを使用したリソースの指定」および「リソースブロックを使用したリソースの指定」を参照してください。
バックアップ構文: 高度なバックアップ設定
advanced_backup_settings
キーは、特定のバックアップシナリオの設定オプションを指定します。各設定には、次の要素が含まれます。
要素 | 説明 | 必須 |
---|---|---|
advanced_backup_settings |
特定のバックアップシナリオの設定を指定します。このキーには 1 つ以上の設定が含まれます。各設定は、次の要素を持つ JSON オブジェクト文字列です。 現在サポートされている高度なバックアップ設定は、Amazon EC2 インスタンスで実行されている Windows または SQL Server の Microsoft Volume Shadow Copy Service (VSS) バックアップを有効にすることです。 各高度なバックアップでは、次の要素が設定されます。
|
いいえ |
例:
"advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } },
バックアップ構文: バックアッププランタグ
backup_plan_tags
ポリシーキーは、バックアッププラン自体にアタッチされるタグを指定します。これは、 rules
または に指定されたタグには影響しませんselections
。
要素 | 説明 | 必須 |
---|---|---|
backup_plan_tags |
各タグは、ユーザー定義のキーと値で構成されるラベルです。
|
いいえ |
バックアップポリシーの例
次のサンプルバックアップポリシーは、情報提供のみを目的としています。以下の例の一部では、スペースを節約するために 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" }, "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", "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
ブロックを使用してリソースを指定する例です。