AWS Systems ManagerChange Managersteht neuen Kunden nicht mehr offen. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter Änderung der AWS Systems ManagerChange Manager Verfügbarkeit.
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.
Verwenden von Chef InSpec-Profilen mit Systems Manager Compliance
AWS Systems Manager integriert mit Chef InSpec
-
Überprüfen Sie, ob bestimmte Ports geöffnet oder geschlossen sind.
-
Überprüfen Sie, ob bestimmte Anwendungen ausgeführt werden.
-
Überprüfen Sie, ob bestimmte Pakete installiert sind.
-
Prüfen Sie die Windows-Registry-Schlüssel auf spezifische Eigenschaften.
Sie können InSpec Profile nur für Amazon Elastic Compute Cloud (Amazon EC2) -Instances erstellen, die Sie mit Systems Manager verwalten. Lokale Server oder virtuelle Maschinen (VMs) werden nicht unterstützt. Das folgende Chef InSpec-Beispielprofil prüft, ob Port 22 geöffnet ist.
control 'Scan Port' do impact 10.0 title 'Server: Configure the service port' desc 'Always specify which port the SSH server should listen to. Prevent unexpected settings.' describe sshd_config do its('Port') { should eq('22') } end end
InSpec enthält eine Sammlung von Ressourcen, mit denen Sie schnell Schecks und Prüfkontrollen erstellen können. InSpec verwendet die InSpecdomänenspezifische Sprache (DSL)
Funktionsweise
So funktioniert die Verwendung von InSpec Profilen mit Compliance:
-
Identifizieren Sie entweder vordefinierte InSpec Profile, die Sie verwenden möchten, oder erstellen Sie Ihre eigenen. Sie können zunächst vordefinierte Profile
auf GitHub verwenden. Informationen zum Erstellen eigener InSpec Profile finden Sie unter Chef InSpecChef-Profile . -
Speichern Sie Profile entweder in einem öffentlichen oder privaten GitHub-Repository oder in einem S3-Bucket.
-
Führen Sie Compliance mit Ihren InSpec Profilen mithilfe des Systems Manager Manager-Dokuments (SSM-Dokument)
AWS-RunInspecChecksdurch. Sie können einen Konformitätsscan startenRun Command, indem Sie ein Tool in AWS Systems Manager für On-Demand-Scans verwenden, oder Sie können regelmäßige Konformitätsscans mithilfe State Manager eines Tools in AWS Systems Manager planen. -
Identifizieren Sie nicht konforme Knoten, indem Sie die Compliance-API oder Compliance-Konsole verwenden.
Anmerkung
Notieren Sie die folgenden Informationen:
-
Chef verwendet einen Client auf Ihren Knoten zur Verarbeitung des Profils. Sie müssen den Client nicht installieren. Wenn Systems Manager das SSM-Dokument
AWS-RunInspecChecksausführt, prüft das System, ob der Client installiert ist. Falls nicht, installiert Systems Manager den Chef-Client während des Scans und deinstalliert den Client wieder, nachdem der Scan abgeschlossen ist. -
Ausführen des SSM-Dokuments
AWS-RunInspecChecks, weist, wie in diesem Thema beschrieben, einen Compliance-Eintrag vom TypCustom:Inspeczu jedem Ziel-Knoten zu. Um diesen Konformitätstyp zuzuweisen, ruft das Dokument den PutComplianceItemsAPI-Vorgang auf.
Einen InSpec Konformitätsscan ausführen
Dieser Abschnitt enthält Informationen zum Ausführen eines InSpec Konformitätsscans mithilfe der Systems Manager Manager-Konsole und der AWS Command Line Interface (AWS CLI). In der Konsolenprozedur wird angezeigt, wie Sie State Manager konfigurieren, um den Scan auszuführen. Das AWS CLI Verfahren zeigt, wie die Konfiguration für Run Command die Ausführung des Scans konfiguriert wird.
Ausführen eines InSpec Konformitätsscans mit State Manager (Konsole)
Um einen InSpec Konformitätsscan State Manager mit der AWS Systems Manager Konsole auszuführen
Öffnen Sie die AWS Systems Manager Konsole unter https://console.aws.amazon.com/systems-manager/
. Wählen Sie im Navigationsbereich State Manager aus.
-
Wählen Sie Create association (Zuordnung erstellen) aus.
-
Geben Sie im Abschnitt Provide association details (Zuordungsdetails bereitstellen) einen Namen ein.
-
Wählen Sie in der Liste Dokument die Option
AWS-RunInspecChecks. aus. -
Wählen Sie in der Liste Document version (Dokumentversion) die Option Latest at runtime (Neueste zur Laufzeit) aus.
-
Klicken Sie im Abschnitt Parameter, in der Liste Quelltyp entweder auf GitHub oder S3.
Wenn Sie möchten GitHub, geben Sie den Pfad zu einem InSpec Profil in einem öffentlichen oder privaten GitHub Repository in das Feld Quellinformationen ein. Hier ist ein Beispielpfad zu einem öffentlichen Profil, das vom Systems Manager Manager-Team vom folgenden Ort aus bereitgestellt wurde: https://github.com/awslabs/amazon- ssm/tree/master/Compliance/InSpec/PortCheck
. {"owner":"awslabs","repository":"amazon-ssm","path":"Compliance/InSpec/PortCheck","getOptions":"branch:master"}Wenn Sie S3 wählen, geben Sie im Feld Quellinformationen eine gültige URL zu einem InSpec Profil in einem S3-Bucket ein.
Weitere Informationen zur Integration von Systems Manager mit GitHub und Amazon S3 finden Sie unter Ausführen von Skripts von GitHub.
Identifizieren Sie für den Abschnitt Ziele die verwalteten Knoten, auf denen Sie diese Operation ausführen möchten, indem Sie Tags angeben, Instances oder Edge-Geräte manuell auswählen oder eine Ressourcengruppe angeben.
Tipp
Wenn ein verwalteter Knoten, den Sie erwarten, nicht aufgeführt ist, finden Sie weitere Informationen unter Problembehandlung bei der Verfügbarkeit verwalteter Knoten Tipps zur Fehlerbehebung.
-
Verwenden Sie im Abschnitt Specify schedule (Zeitplan festlegen) die Zeitplan-Builder-Optionen, um einen Zeitplan für das Ausführen des Compliance-Scans zu erstellen.
Für Ratenregelung:
-
Geben Sie unter Nebenläufigkeit entweder eine Zahl oder einen Prozentsatz der verwalteten Knoten an, auf denen der Befehl gleichzeitig ausgeführt werden soll.
Anmerkung
Wenn Sie Ziele ausgewählt haben, indem Sie Tags angegeben haben, die auf verwaltete Knoten angewendet wurden, oder indem Sie AWS Ressourcengruppen angegeben haben und Sie sich nicht sicher sind, wie viele verwaltete Knoten das Ziel sind, schränken Sie die Anzahl der Ziele ein, die das Dokument gleichzeitig ausführen können, indem Sie einen Prozentsatz angeben.
-
Geben Sie unter Fehlerschwellenwert an, wann die Ausführung des Befehls auf anderen verwalteten Knoten beendet werden soll, nachdem dafür entweder auf einer bestimmten Anzahl oder einem Prozentsatz von Knoten ein Fehler aufgetreten ist. Falls Sie beispielsweise drei Fehler angeben, sendet Systems Manager keinen Befehl mehr, wenn der vierte Fehler empfangen wird. Von verwalteten Knoten, auf denen der Befehl noch verarbeitet wird, werden unter Umständen ebenfalls Fehler gesendet.
-
(Optional) Wenn Sie im Abschnitt Ausgabeoptionen die Befehlsausgabe in einer Datei speichern möchten, aktivieren Sie das Kontrollkästchen Schreiben in einen S3-Bucket aktivieren. Geben Sie die Namen für den Bucket und das Präfix (Ordner) in die Textfelder ein.
Anmerkung
Die S3-Berechtigungen, die das Schreiben der Daten in einen S3-Bucket ermöglichen, sind diejenigen des Instanzprofils (für EC2 Instances) oder der IAM-Servicerolle (hybridaktivierte Maschinen), die der Instanz zugewiesen wurden, nicht die des IAM-Benutzers, der diese Aufgabe ausführt. Weitere Informationen finden Sie unter Instance-Berechtigungen für Systems Manager konfigurieren oder Eine IAM-Servicerolle für eine Hybrid-Umgebung erstellen. Wenn sich der angegebene S3-Bucket in einem anderen AWS-Konto befindet, stellen Sie außerdem sicher, dass das Instance-Profil oder die IAM-Servicerolle, die dem verwalteten Knoten zugeordnet ist, über die erforderlichen Berechtigungen zum Schreiben in diesen Bucket verfügt.
-
Wählen Sie Zuordnung erstellen. Das System erstellt die Zuordnung und führt den Compliance-Scan automatisch aus.
-
Warten Sie einige Minuten, bis der Scan abgeschlossen ist, und wählen Sie dann Compliance im Navigationsbereich aus.
-
Suchen Sie unter Corresponding managed instances (Entsprechende verwaltete Instances) die Knoten, in denen die Spalte Compliance Type (Compliance-Typ) Custom:Inspec lautet.
-
Wählen Sie eine Knoten-ID aus, um die Details von nicht konformen Status anzuzeigen.
Einen InSpec Konformitätsscan mit () ausführen Run CommandAWS CLI
Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.
Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.
-
Führen Sie einen der folgenden Befehle aus, um ein InSpec Profil GitHub entweder von Amazon S3 aus auszuführen.
Der -Befehl verwendet die folgenden Parameter:
-
sourceType: GitHub oder Amazon S3
-
sourceInfo: URL zum InSpec Profilordner entweder in GitHub oder einem S3-Bucket. Der Ordner muss die InSpec Basisdatei (*.yml) und alle zugehörigen Steuerelemente (*.rb) enthalten.
GitHub
aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:tag_name","Values":["tag_value"]}]' --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\":\"repository_name\", \"path\": \"Inspec.yml_file"}"]}'Ein Beispiel.
aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:testEnvironment","Values":["webServers"]}]' --parameters '{"sourceType":["GitHub"],"getOptions":"branch:master","sourceInfo":["{\"owner\":\"awslabs\", \"repository\":\"amazon-ssm\", \"path\": \"Compliance/InSpec/PortCheck\"}"]}'Amazon S3
aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:tag_name","Values":["tag_value"]}]' --parameters'{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3.aws-api-domain/amzn-s3-demo-bucket/Inspec.yml_file\"}"]}'Ein Beispiel.
aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:testEnvironment","Values":["webServers"]}]' --parameters'{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3.aws-api-domain/amzn-s3-demo-bucket/InSpec/PortCheck.yml\"}"]}' -
-
Führen Sie den folgenden Befehl aus, um eine Übersicht des Compliance-Scans anzuzeigen.
aws ssm list-resource-compliance-summaries --filters Key=ComplianceType,Values=Custom:Inspec -
Führen Sie den folgenden Befehl aus, um Details eines Knotens anzuzeigen, der nicht konform ist.
aws ssm list-compliance-items --resource-idsnode_ID--resource-type ManagedInstance --filters Key=DocumentName,Values=AWS-RunInspecChecks