View a markdown version of this page

Mit dem BaselineOverride Einstellung - AWS Systems Manager

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Mit dem BaselineOverride Einstellung

Sie können zur Laufzeit die Patch-Einstellungen mithilfe der Baseline-Override-Funktion in definieren Patch Manager. Geben Sie dazu einen Amazon Simple Storage Service (Amazon S3)-Bucket an, der ein JSON-Objekt mit einer Liste mit Patch-Baselines enthält. Beim Patchvorgang werden die im JSON-Objekt bereitgestellten Baselines verwendet, die mit dem Hostbetriebssystem übereinstimmen, anstatt die Regeln aus der Standard-Patch-Baseline anzuwenden.

Wichtig

Der BaselineOverride-Dateiname darf die folgenden Zeichen nicht enthalten: Backtick (`), einfaches Anführungszeichen ('), doppeltes Anführungszeichen („) und Dollarzeichen ($).

Eine Baseline-Override kann auch die Patch-Quelle für den Patchvorgang definieren. Wenn Sie eine Baseline-Override mit einer Sources Parameter, Patch Manager verwendet die von Ihnen angegebene Repository-Konfiguration. Geben Sie nur Repositorys an, denen Sie vertrauen, dass sie Pakete für Ihre verwalteten Knoten bereitstellen. Weitere Informationen zu Patch-Quellkonfigurationen finden Sie unter So geben Sie ein alternatives Patch-Quell-Repository an (Linux).

Wenn Sie Patch-Policy verwenden, wird die Patch-Compliance der im BaselineOverride-Parameter angegebenen Baseline nicht überschrieben. Die Ausgabeergebnisse werden in den Stdout-Protokollen von aufgezeichnet Run Command. Die Ergebnisse drucken nur Pakete aus, die als NON_COMPLIANT gekennzeichnet sind. Das bedeutet, dass das Paket als Missing, Failed, InstalledRejected oder InstalledPendingReboot gekennzeichnet ist.

Wenn ein Patch-Vorgang jedoch eine Patch-Richtlinie verwendet, übergibt das System den Override-Parameter aus dem zugehörigen S3-Bucket, und der Compliance-Wert wird für den verwalteten Knoten aktualisiert. Weitere Informationen zum Patch-Richtlinienverhalten finden Sie unter Patch-Richtlinienkonfigurationen in Schnelleinrichtung.

Anmerkung

Wenn Sie einen Knoten patchen, der nur IPv6 verwendet, stellen Sie sicher, dass die angegebene URL vom Knoten aus erreichbar ist. Wenn der SSM Agent Konfigurationsoption UseDualStackEndpoint ist gesetzt auf true, dann wird ein Dualstack-S3-Client verwendet, wenn eine S3-URL bereitgestellt wird. Siehe Tutorial: Patchen eines Servers in einer reinen IPv6-Umgebung weitere Informationen zur Konfiguration des Agenten für die Verwendung von Dualstack.

Verwenden der Patch-Baseline-Überschreibung mit den Parametern „Snapshot-ID“ oder „Install Override List“

Es gibt zwei Fälle, in denen die Patch-Baseline-Überschreibung ein bemerkenswertes Verhalten aufweist.

Gleichzeitiges Verwenden von Baseline-Überschreiben und Snapshot-ID

Snapshot-IDs stellen sicher, dass alle verwalteten Knoten in einem bestimmten Patching-Befehl alle dasselbe anwenden. Wenn Sie beispielsweise 1 000 Knoten gleichzeitig patchen, sind die Patches identisch.

Wenn Sie sowohl eine Snapshot-ID als auch eine Patch-Baseline-Überschreibung verwenden, hat die Snapshot-ID Vorrang vor der Patch-Baseline-Überschreibung. Die Baseline-Überschreibungsregeln werden weiterhin verwendet, aber sie werden nur einmal ausgewertet. Im vorangegangenen Beispiel sind die Patches für Ihre 1 000 verwaltete Knoten immer gleich. Wenn Sie in der Mitte des Patching-Vorgangs die JSON-Datei im referenzierten S3-Bucket auf etwas anderes geändert haben, sind die angewendeten Patches immer noch identisch. Dies liegt daran, dass die Snapshot-ID bereitgestellt wurde.

Gleichzeitiges Verwenden der Baseline-Überschreibung und des Parameters „Override List“

Sie können diese beiden Parameter nicht gleichzeitig verwenden. Das Patching-Dokument schlägt fehl, wenn beide Parameter angegeben sind, und es führt keine Scans oder Installationen auf dem verwalteten Knoten durch.

Codebeispiele

Das folgende Codebeispiel für Python zeigt, wie die Patch-Baseline-Überschreibung generiert wird.

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)

So wird eine Patch-Baseline-Überschreibung wie die folgende erstellt.

[ { "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": "SUSE", "RejectedPatches": [ "python*" ], "RejectedPatchesAction": "ALLOW_AS_DEPENDENCY", "Sources": [] } ]