Arbeiten mit Patch Manager-Ressourcen unter Verwendung der AWS CLI
Der Abschnitt enthält Beispiele für AWS Command Line Interface (AWS CLI)-Befehle, mit denen Sie Konfigurationsaufgaben für Patch Manager, ein Tool in AWS Systems Manager, ausführen können.
Ein Beispiel für die Verwendung der AWS CLI zum Patchen einer Serverumgebung mittels einer benutzerdefinierten Patch-Baseline finden Sie unter Anleitung: Patchen einer Serverumgebung mithilfe der AWS CLI.
Weitere Informationen zur Verwendung der AWS CLI für AWS Systems Manager-Aufgaben finden Sie im AWS Systems Manager-Abschnitt der AWS CLI-Befehlsreferenz.
Themen
AWS CLI-Befehle für Patch-Baselines
Beispielbefehle für Patch-Baselines
Erstellen einer Patch-Baseline
Der folgende Befehl erstellt eine Patch-Baseline, die alle kritischen und wichtigen Sicherheitsaktualisierungen für Windows Server 2012 R2 fünf Tage nach ihrer Veröffentlichung genehmigt. Patches wurden auch für die Listen „Genehmigt“ und „Zurückgewiesen“ angegeben. Darüber hinaus wurde die Patch-Baseline mit Tags versehen, um sie für die Produktionsumgebung freizugeben.
Das System gibt unter anderem folgende Informationen zurück
{
   "BaselineId":"pb-0c10e65780EXAMPLE"
}
             
             
                Erstellen einer Patch-Baseline mit benutzerdefinierten Repositorys für verschiedene Betriebssystemversionen
Gilt nur für Linux-verwaltete Knoten. Der folgende Befehl zeigt, wie das Patch-Repository für eine bestimmte Version des Amazon Linux-Betriebssystems anzugeben ist. Dieses Beispiel verwendet ein standardmäßig aktiviertes Quell-Repository auf Amazon Linux 2017.09, könnte aber auf ein anderes Quell-Repository angepasst werden, das Sie für einen verwalteten Knoten konfiguriert haben.
Anmerkung
Um diesen komplexeren Befehl besser zu erklären, wird die Option --cli-input-json mit zusätzlichen, in einer externen JSON-Datei gespeicherten Optionen verwendet.
- 
                        Erstellen Sie eine JSON-Datei mit einem Namen wie my-patch-repository.jsonund fügen Sie den folgenden Inhalt hinzu.{ "Description": "My patch repository for Amazon Linux 2", "Name": "Amazon-Linux-2", "OperatingSystem": "AMAZON_LINUX_2", "ApprovalRules": { "PatchRules": [ { "ApproveAfterDays": 7, "EnableNonSecurity": true, "PatchFilterGroup": { "PatchFilters": [ { "Key": "SEVERITY", "Values": [ "Important", "Critical" ] }, { "Key": "CLASSIFICATION", "Values": [ "Security", "Bugfix" ] }, { "Key": "PRODUCT", "Values": [ "AmazonLinux2" ] } ] } } ] }, "Sources": [ { "Name": "My-AL2", "Products": [ "AmazonLinux2" ], "Configuration": "[amzn-main] \nname=amzn-main-Base\nmirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list //nmirrorlist_expire=300//nmetadata_expire=300 \npriority=10 \nfailovermethod=priority \nfastestmirror_enabled=0 \ngpgcheck=1 \ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga \nenabled=1 \nretries=3 \ntimeout=5\nreport_instanceid=yes" } ] }
- 
                        Führen Sie im Verzeichnis, in dem Sie die Datei gespeichert haben, den folgenden Befehl aus. aws ssm create-patch-baseline --cli-input-json file://my-patch-repository.jsonDas System gibt unter anderem folgende Informationen zurück { "BaselineId": "pb-0c10e65780EXAMPLE" }
Aktualisieren einer Patch-Baseline
Mit dem folgenden Befehl werden zwei Patches abgelehnt und ein weiterer Patch für eine vorhandenen Patch-Baseline genehmigt.
Weitere Informationen zu akzeptierten Formaten für Listen genehmigter und abgelehnter Patches finden Sie unter Paketnamen-Formate für genehmigte und abgelehnte Patch-Listen.
Das System gibt unter anderem folgende Informationen zurück
{ "BaselineId":"pb-0c10e65780EXAMPLE", "Name":"Windows-Server-2012R2", "RejectedPatches":[ "KB2032276", "MS10-048" ], "GlobalFilters":{ "PatchFilters":[ ] }, "ApprovalRules":{ "PatchRules":[ { "PatchFilterGroup":{ "PatchFilters":[ { "Values":[ "Important", "Critical" ], "Key":"MSRC_SEVERITY" }, { "Values":[ "SecurityUpdates" ], "Key":"CLASSIFICATION" }, { "Values":[ "WindowsServer2012R2" ], "Key":"PRODUCT" } ] }, "ApproveAfterDays":5 } ] }, "ModifiedDate":1481001494.035, "CreatedDate":1480997823.81, "ApprovedPatches":[ "KB2124261" ], "Description":"Windows Server 2012 R2, Important and Critical security updates" }
Umbenennen einer Patch-Baseline
Das System gibt unter anderem folgende Informationen zurück
{ "BaselineId":"pb-0c10e65780EXAMPLE", "Name":"Windows-Server-2012-R2-Important-and-Critical-Security-Updates", "RejectedPatches":[ "KB2032276", "MS10-048" ], "GlobalFilters":{ "PatchFilters":[ ] }, "ApprovalRules":{ "PatchRules":[ { "PatchFilterGroup":{ "PatchFilters":[ { "Values":[ "Important", "Critical" ], "Key":"MSRC_SEVERITY" }, { "Values":[ "SecurityUpdates" ], "Key":"CLASSIFICATION" }, { "Values":[ "WindowsServer2012R2" ], "Key":"PRODUCT" } ] }, "ApproveAfterDays":5 } ] }, "ModifiedDate":1481001795.287, "CreatedDate":1480997823.81, "ApprovedPatches":[ "KB2124261" ], "Description":"Windows Server 2012 R2, Important and Critical security updates" }
Löschen einer Patch-Baseline
aws ssm delete-patch-baseline --baseline-id "pb-0c10e65780EXAMPLE"
Das System gibt unter anderem folgende Informationen zurück
{
   "BaselineId":"pb-0c10e65780EXAMPLE"
}
             
             
                Auflisten aller Patch-Baselines
aws ssm describe-patch-baselines
Das System gibt unter anderem folgende Informationen zurück
{ "BaselineIdentities":[ { "BaselineName":"AWS-DefaultPatchBaseline", "DefaultBaseline":true, "BaselineDescription":"Default Patch Baseline Provided by AWS.", "BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE" }, { "BaselineName":"Windows-Server-2012R2", "DefaultBaseline":false, "BaselineDescription":"Windows Server 2012 R2, Important and Critical security updates", "BaselineId":"pb-0c10e65780EXAMPLE" } ] }
Nachstehend finden Sie einen weiteren Befehl zur Auflistung aller Patch-Baselines in einer AWS-Region.
Das System gibt unter anderem folgende Informationen zurück
{ "BaselineIdentities":[ { "BaselineName":"AWS-DefaultPatchBaseline", "DefaultBaseline":true, "BaselineDescription":"Default Patch Baseline Provided by AWS.", "BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE" }, { "BaselineName":"Windows-Server-2012R2", "DefaultBaseline":false, "BaselineDescription":"Windows Server 2012 R2, Important and Critical security updates", "BaselineId":"pb-0c10e65780EXAMPLE" } ] }
Auflisten aller von AWS bereitgestellten Patch-Baselines
Das System gibt unter anderem folgende Informationen zurück
{ "BaselineIdentities":[ { "BaselineName":"AWS-DefaultPatchBaseline", "DefaultBaseline":true, "BaselineDescription":"Default Patch Baseline Provided by AWS.", "BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE" } ] }
Auflisten der eigenen Patch-Baselines
Das System gibt unter anderem folgende Informationen zurück
{ "BaselineIdentities":[ { "BaselineName":"Windows-Server-2012R2", "DefaultBaseline":false, "BaselineDescription":"Windows Server 2012 R2, Important and Critical security updates", "BaselineId":"pb-0c10e65780EXAMPLE" } ] }
Anzeigen einer Patch-Baseline
aws ssm get-patch-baseline --baseline-id pb-0c10e65780EXAMPLE
Anmerkung
Bei benutzerdefinierten Patch-Baselines können Sie entweder die Patch-Baseline-ID oder den vollständigen Amazon-Ressourcennamen (ARN) angeben. Für von AWS bereitgestellte Patch-Baselines müssen Sie den vollständigen ARN angeben. Beispiel, arn:aws:ssm:us-east-2:075727635805:patchbaseline/pb-0c10e65780EXAMPLE.
Das System gibt unter anderem folgende Informationen zurück
{ "BaselineId":"pb-0c10e65780EXAMPLE", "Name":"Windows-Server-2012R2", "PatchGroups":[ "Web Servers" ], "RejectedPatches":[ ], "GlobalFilters":{ "PatchFilters":[ ] }, "ApprovalRules":{ "PatchRules":[ { "PatchFilterGroup":{ "PatchFilters":[ { "Values":[ "Important", "Critical" ], "Key":"MSRC_SEVERITY" }, { "Values":[ "SecurityUpdates" ], "Key":"CLASSIFICATION" }, { "Values":[ "WindowsServer2012R2" ], "Key":"PRODUCT" } ] }, "ApproveAfterDays":5 } ] }, "ModifiedDate":1480997823.81, "CreatedDate":1480997823.81, "ApprovedPatches":[ ], "Description":"Windows Server 2012 R2, Important and Critical security updates" }
Abrufen einer Standard-Patch-Baseline
aws ssm get-default-patch-baseline --region us-east-2
Das System gibt unter anderem folgende Informationen zurück
{
   "BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE"
}
             
             
                Eine benutzerdefinierte Patch-Baseline als Standard festlegen
Das System gibt unter anderem folgende Informationen zurück
{
   "BaselineId":"pb-0c10e65780EXAMPLE"
}
             
             
                Eine AWS-Patch-Baseline als Standard zurücksetzen
Das System gibt unter anderem folgende Informationen zurück
{
   "BaselineId":"pb-0c10e65780EXAMPLE"
}
             
             
                Markieren einer Patch-Baseline
Auflisten aller Tags für eine Patch-Baseline
Entfernen eines Tags aus einer Patch-Baseline
AWS CLI-Befehle für Patch-Gruppen
Beispielbefehle für Patch-Gruppen
Erstellen einer Patch-Gruppe
Anmerkung
Patch-Gruppen werden nicht in Patch-Vorgängen verwendet, die auf Patch-Richtlinien basieren. Weitere Informationen zur Arbeit mit Patch-Richtlinien finden Sie unter Patch-Richtlinienkonfigurationen in Quick Setup.
Um das Organisieren Ihrer Patching-Aufgaben zu erleichtern, empfehlen wir, dass Sie verwaltete Knoten mithilfe von Tags zu Patch-Gruppen hinzufügen. Patch-Gruppen erfordern die Nutzung des Tag-Schlüssels Patch Group oder PatchGroup. Wenn Sie Tags in EC2-Instance-Metadaten zugelassen haben, müssen Sie PatchGroup (ohne Leerzeichen) verwenden. Sie können einen beliebigen Tag-Wert angeben, aber der Tag-Schlüssel muss Patch Group oder PatchGroup lauten. Weitere Informationen zu Patch-Gruppen finden Sie unter Patch-Gruppen.
Nachdem Sie Ihre verwalteten Knoten mithilfe von Tags gruppiert haben, fügen Sie den Patch-Gruppenwert einer Patch-Baseline hinzu. Mit der Registrierung der Patch-Gruppe für eine Patch-Baseline können Sie sicherstellen, dass beim Einspielen von Patches die richtigen Patches installiert werden.
Aufgabe 1: Hinzufügen von EC2-Instances zu einer Patch-Gruppe mithilfe von Tags
Anmerkung
Bei Verwendung der Amazon Elastic Compute Cloud (Amazon EC2)-Konsole und AWS CLI ist es möglich, Key = Patch Group-oder Key = PatchGroup-Tags auf Instances anzuwenden, die noch nicht für die Verwendung mit Systems Manager konfiguriert sind. Wenn eine EC2-Instance, die Sie in Patch Manager erwarten, nach dem Anwenden des Patch Group-oder Key = PatchGroup-Tag nicht aufgeführt ist, finden Sie Tipps zur Fehlerbehebung unter Problembehandlung bei der Verfügbarkeit verwalteter Knoten.
Führen Sie den folgenden Befehl aus, um das Tag PatchGroup einer EC2-Instance hinzuzufügen.
aws ec2 create-tags --resources"i-1234567890abcdef0"--tags "Key=PatchGroup,Value=GroupValue"
Aufgabe 2: Hinzufügen von verwalteten Knoten zu einer Patch-Gruppe mithilfe von Tags
Führen Sie den folgenden Befehl aus, um das Tag PatchGroup einem verwalteten Knoten hinzuzufügen.
Aufgabe 3: Hinzufügen einer Patch-Gruppe zu einer Patch-Baseline
Führen Sie den folgenden Befehl aus, um der angegebenen Patch-Baseline einen PatchGroup-Tag-Wert zuzuordnen.
Das System gibt unter anderem folgende Informationen zurück
{
  "PatchGroup": "Development",
  "BaselineId": "pb-0c10e65780EXAMPLE"
}
                 
             
             
                Registrieren einer Patch-Gruppe „Webserver“ für eine Patch-Baseline
Das System gibt unter anderem folgende Informationen zurück
{
   "PatchGroup":"Web Servers",
   "BaselineId":"pb-0c10e65780EXAMPLE"
}
             
             
                Registrieren einer Patch-Gruppe „Backend“ für die von AWS bereitgestellte Patch-Baseline
Das System gibt unter anderem folgende Informationen zurück
{
   "PatchGroup":"Backend",
   "BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE"
}
             
             
                Anzeigen der Registrierungen für Patch-Gruppen
aws ssm describe-patch-groups --region us-east-2
Das System gibt unter anderem folgende Informationen zurück
{ "PatchGroupPatchBaselineMappings":[ { "PatchGroup":"Backend", "BaselineIdentity":{ "BaselineName":"AWS-DefaultPatchBaseline", "DefaultBaseline":false, "BaselineDescription":"Default Patch Baseline Provided by AWS.", "BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE" } }, { "PatchGroup":"Web Servers", "BaselineIdentity":{ "BaselineName":"Windows-Server-2012R2", "DefaultBaseline":true, "BaselineDescription":"Windows Server 2012 R2, Important and Critical updates", "BaselineId":"pb-0c10e65780EXAMPLE" } } ] }
Aufheben der Registrierung einer Patch-Gruppe für eine Patch-Baseline
Das System gibt unter anderem folgende Informationen zurück
{
   "PatchGroup":"Production",
   "BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE"
}
             
         
            AWS CLI-Befehle zum Anzeigen von Patch-Zusammenfassungen und -details
Beispielbefehle zum Anzeigen von Patch-Zusammenfassungen und -details
Abrufen aller Patches, die in einer bestimmten Patch-Baseline definiert sind
Anmerkung
Dieser Befehl wird nur für Windows Server-Patch-Baselines unterstützt.
Das System gibt unter anderem folgende Informationen zurück
{ "NextToken":"--token string truncated--", "EffectivePatches":[ { "PatchStatus":{ "ApprovalDate":1384711200.0, "DeploymentStatus":"APPROVED" }, "Patch":{ "ContentUrl":"https://support.microsoft.com/en-us/kb/2876331", "ProductFamily":"Windows", "Product":"WindowsServer2012R2", "Vendor":"Microsoft", "Description":"A security issue has been identified in a Microsoft software product that could affect your system. You can help protect your system by installing this update from Microsoft. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article. After you install this update, you may have to restart your system.", "Classification":"SecurityUpdates", "Title":"Security Update for Windows Server 2012 R2 Preview (KB2876331)", "ReleaseDate":1384279200.0, "MsrcClassification":"Critical", "Language":"All", "KbNumber":"KB2876331", "MsrcNumber":"MS13-089", "Id":"e74ccc76-85f0-4881-a738-59e9fc9a336d" } }, { "PatchStatus":{ "ApprovalDate":1428858000.0, "DeploymentStatus":"APPROVED" }, "Patch":{ "ContentUrl":"https://support.microsoft.com/en-us/kb/2919355", "ProductFamily":"Windows", "Product":"WindowsServer2012R2", "Vendor":"Microsoft", "Description":"Windows Server 2012 R2 Update is a cumulative set of security updates, critical updates and updates. You must install Windows Server 2012 R2 Update to ensure that your computer can continue to receive future Windows Updates, including security updates. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article for more information. After you install this item, you may have to restart your computer.", "Classification":"SecurityUpdates", "Title":"Windows Server 2012 R2 Update (KB2919355)", "ReleaseDate":1428426000.0, "MsrcClassification":"Critical", "Language":"All", "KbNumber":"KB2919355", "MsrcNumber":"MS14-018", "Id":"8452bac0-bf53-4fbd-915d-499de08c338b" } } ---output truncated---
Alle Patches für AmazonLinux2018.03 mit der Klassifizierung SECURITY und einem Schweregrad von Critical erhalten
                Das System gibt unter anderem folgende Informationen zurück
{ "Patches": [ { "AdvisoryIds": ["ALAS-2011-1"], "BugzillaIds": [ "1234567" ], "Classification": "SECURITY", "CVEIds": [ "CVE-2011-3192"], "Name": "zziplib", "Epoch": "0", "Version": "2.71", "Release": "1.3.amzn1", "Arch": "i686", "Product": "AmazonLinux2018.03", "ReleaseDate": 1590519815, "Severity": "CRITICAL" } ] } ---output truncated---
Abrufen aller Patches für Windows Server 2012 mit einem MSRC-Schweregrad von Critical
                Das System gibt unter anderem folgende Informationen zurück
{ "Patches":[ { "ContentUrl":"https://support.microsoft.com/en-us/kb/2727528", "ProductFamily":"Windows", "Product":"WindowsServer2012", "Vendor":"Microsoft", "Description":"A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.", "Classification":"SecurityUpdates", "Title":"Security Update for Windows Server 2012 (KB2727528)", "ReleaseDate":1352829600.0, "MsrcClassification":"Critical", "Language":"All", "KbNumber":"KB2727528", "MsrcNumber":"MS12-072", "Id":"1eb507be-2040-4eeb-803d-abc55700b715" }, { "ContentUrl":"https://support.microsoft.com/en-us/kb/2729462", "ProductFamily":"Windows", "Product":"WindowsServer2012", "Vendor":"Microsoft", "Description":"A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.", "Classification":"SecurityUpdates", "Title":"Security Update for Microsoft .NET Framework 3.5 on Windows 8 and Windows Server 2012 for x64-based Systems (KB2729462)", "ReleaseDate":1352829600.0, "MsrcClassification":"Critical", "Language":"All", "KbNumber":"KB2729462", "MsrcNumber":"MS12-074", "Id":"af873760-c97c-4088-ab7e-5219e120eab4" } ---output truncated---
Abrufen aller verfügbaren Patches
aws ssm describe-available-patches --region us-east-2
Das System gibt unter anderem folgende Informationen zurück
{ "NextToken":"--token string truncated--", "Patches":[ { "Classification": "SecurityUpdates", "ContentUrl": "https://support.microsoft.com/en-us/kb/4074588", "Description": "A security issue has been identified in a Microsoft software product that could affect your system. You can help protect your system by installing this update from Microsoft. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article. After you install this update, you may have to restart your system.", "Id": "11adea10-0701-430e-954f-9471595ae246", "KbNumber": "KB4074588", "Language": "All", "MsrcNumber": "", "MsrcSeverity": "Critical", "Product": "WindowsServer2016", "ProductFamily": "Windows", "ReleaseDate": 1518548400, "Title": "2018-02 Cumulative Update for Windows Server 2016 (1709) for x64-based Systems (KB4074588)", "Vendor": "Microsoft" }, { "Classification": "SecurityUpdates", "ContentUrl": "https://support.microsoft.com/en-us/kb/4074590", "Description": "A security issue has been identified in a Microsoft software product that could affect your system. You can help protect your system by installing this update from Microsoft. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article. After you install this update, you may have to restart your system.", "Id": "f5f58231-ac5d-4640-ab1b-9dc8d857c265", "KbNumber": "KB4074590", "Language": "All", "MsrcNumber": "", "MsrcSeverity": "Critical", "Product": "WindowsServer2016", "ProductFamily": "Windows", "ReleaseDate": 1518544805, "Title": "2018-02 Cumulative Update for Windows Server 2016 for x64-based Systems (KB4074590)", "Vendor": "Microsoft" } ---output truncated---
Abrufen der zusammengefassten Patch-Zustände pro verwalteten Knoten
Diese Zusammenfassung pro verwalteten Knoten zeigt Ihnen die Anzahl der Patches mit den folgenden Zuständen pro Knoten an: „NotApplicable“, „Missing“, „Failed“, „InstalledOther“ und „Installed“.
Das System gibt unter anderem folgende Informationen zurück
{ "InstancePatchStates":[ { "InstanceId": "i-08ee91c0b17045407", "PatchGroup": "", "BaselineId": "pb-0c10e65780EXAMPLE", "SnapshotId": "6d03d6c5-f79d-41d0-8d0e-00a9aEXAMPLE", "InstalledCount": 50, "InstalledOtherCount": 353, "InstalledPendingRebootCount": 0, "InstalledRejectedCount": 0, "MissingCount": 0, "FailedCount": 0, "UnreportedNotApplicableCount": -1, "NotApplicableCount": 671, "OperationStartTime": "2020-01-24T12:37:56-08:00", "OperationEndTime": "2020-01-24T12:37:59-08:00", "Operation": "Scan", "RebootOption": "NoReboot" }, { "InstanceId": "i-09a618aec652973a9", "PatchGroup": "", "BaselineId": "pb-0c10e65780EXAMPLE", "SnapshotId": "c7e0441b-1eae-411b-8aa7-973e6EXAMPLE", "InstalledCount": 36, "InstalledOtherCount": 396, "InstalledPendingRebootCount": 0, "InstalledRejectedCount": 0, "MissingCount": 3, "FailedCount": 0, "UnreportedNotApplicableCount": -1, "NotApplicableCount": 420, "OperationStartTime": "2020-01-24T12:37:34-08:00", "OperationEndTime": "2020-01-24T12:37:37-08:00", "Operation": "Scan", "RebootOption": "NoReboot" } ---output truncated---
Abrufen der Patch-Compliance-Details für einen verwalteten Knoten
aws ssm describe-instance-patches --instance-id i-08ee91c0b17045407
Das System gibt unter anderem folgende Informationen zurück
{ "NextToken":"--token string truncated--", "Patches":[ { "Title": "bind-libs.x86_64:32:9.8.2-0.68.rc1.60.amzn1", "KBId": "bind-libs.x86_64", "Classification": "Security", "Severity": "Important", "State": "Installed", "InstalledTime": "2019-08-26T11:05:24-07:00" }, { "Title": "bind-utils.x86_64:32:9.8.2-0.68.rc1.60.amzn1", "KBId": "bind-utils.x86_64", "Classification": "Security", "Severity": "Important", "State": "Installed", "InstalledTime": "2019-08-26T11:05:32-07:00" }, { "Title": "dhclient.x86_64:12:4.1.1-53.P1.28.amzn1", "KBId": "dhclient.x86_64", "Classification": "Security", "Severity": "Important", "State": "Installed", "InstalledTime": "2019-08-26T11:05:31-07:00" }, ---output truncated---
Anzeigen der Patch-Compliance-Ergebnisse (AWS CLI)
Anzeigen von Patch-Compliance-Ergebnissen für einen einzelnen verwalteten Knoten
Führen Sie den folgenden Befehl in der AWS Command Line Interface (AWS CLI) aus, um die Patch-Compliance-Ergebnisse für einen einzelnen verwalteten Knoten anzuzeigen.
aws ssm describe-instance-patch-states --instance-idinstance-id
Ersetzen Sie instance-id mit der ID des verwalteten Knoten, für den Sie Ergebnisse anzeigen möchten, im Format i-02573cafcfEXAMPLE oder mi-0282f7c436EXAMPLE.
Das System gibt unter anderem folgende Informationen zurück.
{ "InstancePatchStates": [ { "InstanceId": "i-02573cafcfEXAMPLE", "PatchGroup": "mypatchgroup", "BaselineId": "pb-0c10e65780EXAMPLE", "SnapshotId": "a3f5ff34-9bc4-4d2c-a665-4d1c1EXAMPLE", "CriticalNonCompliantCount": 2, "SecurityNonCompliantCount": 2, "OtherNonCompliantCount": 1, "InstalledCount": 123, "InstalledOtherCount": 334, "InstalledPendingRebootCount": 0, "InstalledRejectedCount": 0, "MissingCount": 1, "FailedCount": 2, "UnreportedNotApplicableCount": 11, "NotApplicableCount": 2063, "OperationStartTime": "2021-05-03T11:00:56-07:00", "OperationEndTime": "2021-05-03T11:01:09-07:00", "Operation": "Scan", "LastNoRebootInstallOperationTime": "2020-06-14T12:17:41-07:00", "RebootOption": "RebootIfNeeded" } ] }
So zeigen Sie eine Patch-Anzahl-Zusammenfassung für alle EC2-Instances in einer Region an
Der describe-instance-patch-states unterstützt das Abrufen von Ergebnissen für jeweils eine verwaltete Instance. Wenn Sie jedoch ein benutzerdefiniertes Skript mit dem describe-instance-patch-states-Befehl verwenden, können Sie einen detaillierteren Bericht erstellen.
Wenn zum Beispiel das jq filter toolInstalledPendingReboot haben.
aws ssm describe-instance-patch-states \ --instance-ids $(aws ec2 describe-instances --regionregion| jq '.Reservations[].Instances[] | .InstanceId' | tr '\n|"' ' ') \ --output text --query 'InstancePatchStates[*].{Instance:InstanceId, InstalledPendingRebootCount:InstalledPendingRebootCount}'
region repräsentiert die Kennung für eine von AWS-Region unterstützte AWS Systems Manager, z. B. us-east-2 für die Region USA Ost (Ohio). Eine Liste der unterstützten Region-Werte finden Sie in der Spalte Region unter Service-Endpunkte von Systems Manager in der Allgemeine Amazon Web Services-Referenz.
Zum Beispiel:
aws ssm describe-instance-patch-states \ --instance-ids $(aws ec2 describe-instances --region us-east-2 | jq '.Reservations[].Instances[] | .InstanceId' | tr '\n|"' ' ') \ --output text --query 'InstancePatchStates[*].{Instance:InstanceId, InstalledPendingRebootCount:InstalledPendingRebootCount}'
Das System gibt unter anderem folgende Informationen zurück
1 i-02573cafcfEXAMPLE 0 i-0471e04240EXAMPLE 3 i-07782c72faEXAMPLE 6 i-083b678d37EXAMPLE 0 i-03a530a2d4EXAMPLE 1 i-01f68df0d0EXAMPLE 0 i-0a39c0f214EXAMPLE 7 i-0903a5101eEXAMPLE 7 i-03823c2fedEXAMPLE
Zusätzlich zu InstalledPendingRebootCount können Sie nach den folgenden Anzahltypen suchen:
- 
                        CriticalNonCompliantCount
- 
                        SecurityNonCompliantCount
- 
                        OtherNonCompliantCount
- 
                        UnreportedNotApplicableCount
- 
                        InstalledPendingRebootCount
- 
                        FailedCount
- 
                        NotApplicableCount
- 
                        InstalledRejectedCount
- 
                        InstalledOtherCount
- 
                        MissingCount
- 
                        InstalledCount
AWS CLI-Befehle zum Scannen und Patchen von verwalteten Knoten
Nachdem Sie die folgenden Befehle ausgeführt haben, um nach Patch-Compliance zu scannen oder Patches zu installieren, können Sie mit Befehlen im AWS CLI-Befehle zum Anzeigen von Patch-Zusammenfassungen und -details-Abschnitt Informationen zu Patch-Status und -Compliance anzeigen.
Beispielbefehle
Verwaltete Knoten auf Patch-Compliance scannen (AWS CLI)
So scannen Sie spezifische verwaltete Knoten auf Patch-Compliance
Führen Sie den folgenden Befehl aus.
Das System gibt unter anderem folgende Informationen zurück
{ "Command": { "CommandId": "a04ed06c-8545-40f4-87c2-a0babEXAMPLE", "DocumentName": "AWS-RunPatchBaseline", "DocumentVersion": "$DEFAULT", "Comment": "", "ExpiresAfter": 1621974475.267, "Parameters": { "Operation": [ "Scan" ] }, "InstanceIds": [], "Targets": [ { "Key": "InstanceIds", "Values": [ "i-02573cafcfEXAMPLE, i-0471e04240EXAMPLE" ] } ], "RequestedDateTime": 1621952275.267, "Status": "Pending", "StatusDetails": "Pending", "TimeoutSeconds": 600, ---output truncated--- } }
So scannen Sie verwaltete Knoten nach Patch-Gruppentag auf Patch-Compliance
Führen Sie den folgenden Befehl aus.
Das System gibt unter anderem folgende Informationen zurück
{ "Command": { "CommandId": "87a448ee-8adc-44e0-b4d1-6b429EXAMPLE", "DocumentName": "AWS-RunPatchBaseline", "DocumentVersion": "$DEFAULT", "Comment": "", "ExpiresAfter": 1621974983.128, "Parameters": { "Operation": [ "Scan" ] }, "InstanceIds": [], "Targets": [ { "Key": "tag:PatchGroup", "Values": [ "Web servers" ] } ], "RequestedDateTime": 1621952783.128, "Status": "Pending", "StatusDetails": "Pending", "TimeoutSeconds": 600, ---output truncated--- } }
Installieren von Patches auf verwalteten Knoten (AWS CLI)
So installieren Sie Patches auf spezifischen verwalteten Knoten
Führen Sie den folgenden Befehl aus.
Anmerkung
Die anvisierten verwalteten Knoten werden nach Bedarf neu gestartet, um die Patch-Installation abzuschließen. Weitere Informationen finden Sie unter SSM-Befehlsdokument zum Patchen: AWS-RunPatchBaseline.
Das System gibt unter anderem folgende Informationen zurück
{ "Command": { "CommandId": "5f403234-38c4-439f-a570-93623EXAMPLE", "DocumentName": "AWS-RunPatchBaseline", "DocumentVersion": "$DEFAULT", "Comment": "", "ExpiresAfter": 1621975301.791, "Parameters": { "Operation": [ "Install" ] }, "InstanceIds": [], "Targets": [ { "Key": "InstanceIds", "Values": [ "i-02573cafcfEXAMPLE, i-0471e04240EXAMPLE" ] } ], "RequestedDateTime": 1621953101.791, "Status": "Pending", "StatusDetails": "Pending", "TimeoutSeconds": 600, ---output truncated--- } }
So installieren Sie Patches auf verwalteten Knoten in einer spezifischen Patch-Gruppe
Führen Sie den folgenden Befehl aus.
Das System gibt unter anderem folgende Informationen zurück
{ "Command": { "CommandId": "fa44b086-7d36-4ad5-ac8d-627ecEXAMPLE", "DocumentName": "AWS-RunPatchBaseline", "DocumentVersion": "$DEFAULT", "Comment": "", "ExpiresAfter": 1621975407.865, "Parameters": { "Operation": [ "Install" ] }, "InstanceIds": [], "Targets": [ { "Key": "tag:PatchGroup", "Values": [ "Web servers" ] } ], "RequestedDateTime": 1621953207.865, "Status": "Pending", "StatusDetails": "Pending", "TimeoutSeconds": 600, ---output truncated--- } }