BaselineOverride パラメータの使用 - AWS Systems Manager

BaselineOverride パラメータの使用

の一機能であるパッチマネージャーのベースラインオーバーライド機能を使用して、実行時にパッチ適用設定を定義できますAWS Systems Manager これを行うには、パッチベースラインのリストを備えた JSON オブジェクトを含む Amazon Simple Storage Service (Amazon S3) バケットを指定します。パッチ適用操作では、デフォルトのパッチベースラインのルールを適用する代わりに、ホストオペレーティングシステムに一致する JSON オブジェクトで指定されるベースラインを使用します。

注記

BaselineOverride パラメータを使用しても、パラメータで指定されたベースラインのパッチコンプライアンスが上書きされることはありません。出力結果は、 の一機能である Run Command から Stdout ログに記録されますAWS Systems Manager 結果は、NON_COMPLIANT としてマークされているパッケージのみを出力します。つまり、パッケージは MissingFailedInstalledRejected、または InstalledPendingReboot としてマークされます。

スナップショット ID またはインストールオーバーライドリストパラメータでパッチベースラインオーバーライドを使用する

パッチベースラインオーバーライドが注目に値する動作をするケースが 2 つあります。

ベースラインオーバーライドとスナップショット ID を同時に使用する

スナップショット ID により、特定のパッチ適用コマンドのすべてのインスタンスがすべて同じことを適用するようにします。例えば、一度に 1,000 個のインスタンスにパッチを適用すると、パッチは同じになります。

スナップショット ID とパッチベースラインオーバーライドの両方を使用する場合、スナップショット ID はパッチベースラインオーバーライドよりも優先されます。ベースラインオーバーライドルールは引き続き使用されますが、評価されるのは 1 回だけです。前の例では、1,000 インスタンス間のパッチは常に同じになります。パッチ適用操作の途中で参照先の S3 バケット内の JSON ファイルを別のものに変更した場合、適用されたパッチは同じままになります。これは、スナップショット ID が指定されたためです。

ベースラインオーバーライドとインストールオーバーライドリストを同時に使用する

これら 2 つのパラメータを同時に使用することはできません。両方のパラメータが指定されると、パッチ適用ドキュメントは失敗し、インスタンスに対するスキャンまたはインストールは実行されません。

コードの例

次の Python のコード例は、パッチベースラインオーバーライドを生成する方法を示しています。

import boto3 import json ssm = boto3.client('ssm') s3 = boto3.resource('s3') s3_bucket_name = 'my-baseline-override-bucket' s3_file_name = 'MyBaselineOverride.json' baseline_ids_to_export = ['pb-0000000000000000', 'pb-0000000000000001'] baseline_overrides = [] for baseline_id in baseline_ids_to_export: baseline_overrides.append(ssm.get_patch_baseline( BaselineId=baseline_id )) json_content = json.dumps(baseline_overrides, indent=4, sort_keys=True, default=str) s3.Object(bucket_name=s3_bucket_name, key=s3_file_name).put(Body=json_content)

これにより、次のようなパッチベースラインオーバーライドが生成されます。

[ { "ApprovalRules": { "PatchRules": [ { "ApproveAfterDays": 0, "ComplianceLevel": "UNSPECIFIED", "EnableNonSecurity": false, "PatchFilterGroup": { "PatchFilters": [ { "Key": "PRODUCT", "Values": [ "*" ] }, { "Key": "CLASSIFICATION", "Values": [ "*" ] }, { "Key": "SEVERITY", "Values": [ "*" ] } ] } } ] }, "ApprovedPatches": [], "ApprovedPatchesComplianceLevel": "UNSPECIFIED", "ApprovedPatchesEnableNonSecurity": false, "GlobalFilters": { "PatchFilters": [] }, "OperatingSystem": "AMAZON_LINUX_2", "RejectedPatches": [], "RejectedPatchesAction": "ALLOW_AS_DEPENDENCY", "Sources": [] }, { "ApprovalRules": { "PatchRules": [ { "ApproveUntilDate": "2021-01-06", "ComplianceLevel": "UNSPECIFIED", "EnableNonSecurity": true, "PatchFilterGroup": { "PatchFilters": [ { "Key": "PRODUCT", "Values": [ "*" ] }, { "Key": "CLASSIFICATION", "Values": [ "*" ] }, { "Key": "SEVERITY", "Values": [ "*" ] } ] } } ] }, "ApprovedPatches": [ "open-ssl*" ], "ApprovedPatchesComplianceLevel": "UNSPECIFIED", "ApprovedPatchesEnableNonSecurity": false, "GlobalFilters": { "PatchFilters": [] }, "OperatingSystem": "CENTOS", "RejectedPatches": [ "python*" ], "RejectedPatchesAction": "ALLOW_AS_DEPENDENCY", "Sources": [] } ]