AWS Config-Beispiele unter Verwendung der AWS CLI - AWS Command Line Interface

AWS Config-Beispiele unter Verwendung der AWS CLI

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit AWS Config nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie delete-config-rule verwendet wird.

AWS CLI

So löschen Sie eine AWS-Config-Regel

Mit dem folgenden Befehl wird eine AWS-Config-Regel mit dem Namen MyConfigRule gelöscht:

aws configservice delete-config-rule --config-rule-name MyConfigRule

Das folgende Codebeispiel zeigt, wie delete-delivery-channel verwendet wird.

AWS CLI

So löschen Sie einen Bereitstellungskanal

Mit dem folgendem Befehl wird der Standard-Bereitstellungskanal gelöscht:

aws configservice delete-delivery-channel --delivery-channel-name default

Das folgende Codebeispiel zeigt, wie delete-evaluation-results verwendet wird.

AWS CLI

So löschen Sie Auswertungsergebnisse manuell

Mit dem folgenden Befehl werden die aktuellen Auswertungsergebnisse für die von AWS verwaltete Regel s3-bucket-versioning-enabled gelöscht:

aws configservice delete-evaluation-results --config-rule-name s3-bucket-versioning-enabled

Das folgende Codebeispiel zeigt, wie deliver-config-snapshot verwendet wird.

AWS CLI

So stellen Sie einen Konfigurations-Snapshot bereit

Mit dem folgenden Befehl wird ein Konfigurations-Snapshot an den Amazon-S3-Bucket übermittelt, der zum Standard-Bereitstellungskanal gehört:

aws configservice deliver-config-snapshot --delivery-channel-name default

Ausgabe:

{ "configSnapshotId": "d0333b00-a683-44af-921e-examplefb794" }

Das folgende Codebeispiel zeigt, wie describe-compliance-by-config-rule verwendet wird.

AWS CLI

So rufen Sie Compliance-Informationen für Ihre AWS-Config-Regeln ab

Der folgende Befehl gibt Compliance-Informationen für jede AWS-Config-Regel zurück, gegen die eine oder mehrere AWS-Ressourcen verstoßen:

aws configservice describe-compliance-by-config-rule --compliance-types NON_COMPLIANT

In der Ausgabe gibt der Wert für jedes CappedCount-Attribut an, wie viele Ressourcen der zugehörigen Regel nicht entsprechen. Die folgende Ausgabe gibt beispielsweise an, dass 3 Ressourcen der Regel mit dem Namen InstanceTypesAreT2micro nicht entsprechen.

Ausgabe:

{ "ComplianceByConfigRules": [ { "Compliance": { "ComplianceContributorCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" }, "ConfigRuleName": "InstanceTypesAreT2micro" }, { "Compliance": { "ComplianceContributorCount": { "CappedCount": 10, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" }, "ConfigRuleName": "RequiredTagsForVolumes" } ] }

Das folgende Codebeispiel zeigt, wie describe-compliance-by-resource verwendet wird.

AWS CLI

So rufen Sie Compliance-Informationen für Ihre AWS-Ressourcen ab

Der folgende Befehl gibt Compliance-Informationen für jede EC2-Instance zurück, die von AWS Config erfasst wurden und gegen eine oder mehrere Regeln verstoßen:

aws configservice describe-compliance-by-resource --resource-type AWS::EC2::Instance --compliance-types NON_COMPLIANT

In der Ausgabe gibt der Wert für jedes CappedCount-Attribut an, gegen wie viele Regeln die Ressource verstößt. Die folgende Ausgabe gibt beispielsweise an, dass die Instance i-1a2b3c4d gegen 2 Regeln verstößt.

Ausgabe:

{ "ComplianceByResources": [ { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-1a2b3c4d", "Compliance": { "ComplianceContributorCount": { "CappedCount": 2, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" } }, { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-2a2b3c4d ", "Compliance": { "ComplianceContributorCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" } } ] }

Das folgende Codebeispiel zeigt, wie describe-config-rule-evaluation-status verwendet wird.

AWS CLI

So rufen Sie Statusinformationen für eine AWS-Config-Regel ab

Der folgende Befehl gibt die Statusinformationen für eine AWS-Config-Regel mit dem Namen MyConfigRule zurück:

aws configservice describe-config-rule-evaluation-status --config-rule-names MyConfigRule

Ausgabe:

{ "ConfigRulesEvaluationStatus": [ { "ConfigRuleArn": "arn:aws:config:us-east-1:123456789012:config-rule/config-rule-abcdef", "FirstActivatedTime": 1450311703.844, "ConfigRuleId": "config-rule-abcdef", "LastSuccessfulInvocationTime": 1450314643.156, "ConfigRuleName": "MyConfigRule" } ] }

Das folgende Codebeispiel zeigt, wie describe-config-rules verwendet wird.

AWS CLI

So rufen Sie Details für eine AWS-Config-Regel ab

Mit dem folgenden Befehl werden Details für eine AWS-Config-Regel mit dem Namen InstanceTypesAreT2micro zurückgegeben:

aws configservice describe-config-rules --config-rule-names InstanceTypesAreT2micro

Ausgabe:

{ "ConfigRules": [ { "ConfigRuleState": "ACTIVE", "Description": "Evaluates whether EC2 instances are the t2.micro type.", "ConfigRuleName": "InstanceTypesAreT2micro", "ConfigRuleArn": "arn:aws:config:us-east-1:123456789012:config-rule/config-rule-abcdef", "Source": { "Owner": "CUSTOM_LAMBDA", "SourceIdentifier": "arn:aws:lambda:us-east-1:123456789012:function:InstanceTypeCheck", "SourceDetails": [ { "EventSource": "aws.config", "MessageType": "ConfigurationItemChangeNotification" } ] }, "InputParameters": "{\"desiredInstanceType\":\"t2.micro\"}", "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Instance" ] }, "ConfigRuleId": "config-rule-abcdef" } ] }

Das folgende Codebeispiel zeigt, wie describe-configuration-recorder-status verwendet wird.

AWS CLI

So rufen Sie Statusinformationen für den Konfigurations-Recorder ab

Der folgende Befehl gibt den Status des Standardkonfigurations-Recorders zurück:

aws configservice describe-configuration-recorder-status

Ausgabe:

{ "ConfigurationRecordersStatus": [ { "name": "default", "lastStatus": "SUCCESS", "recording": true, "lastStatusChangeTime": 1452193834.344, "lastStartTime": 1441039997.819, "lastStopTime": 1441039992.835 } ] }

Das folgende Codebeispiel zeigt, wie describe-configuration-recorders verwendet wird.

AWS CLI

So rufen Sie Details zum Konfigurations-Recorder ab

Der folgende Befehl gibt Details zum Standardkonfigurations-Recorders zurück:

aws configservice describe-configuration-recorders

Ausgabe:

{ "ConfigurationRecorders": [ { "recordingGroup": { "allSupported": true, "resourceTypes": [], "includeGlobalResourceTypes": true }, "roleARN": "arn:aws:iam::123456789012:role/config-ConfigRole-A1B2C3D4E5F6", "name": "default" } ] }

Das folgende Codebeispiel zeigt, wie describe-delivery-channel-status verwendet wird.

AWS CLI

So rufen Sie Statusinformationen für den Bereitstellungskanal ab

Der folgende Befehl gibt den Status des Bereitstellungskanals zurück:

aws configservice describe-delivery-channel-status

Ausgabe:

{ "DeliveryChannelsStatus": [ { "configStreamDeliveryInfo": { "lastStatusChangeTime": 1452193834.381, "lastStatus": "SUCCESS" }, "configHistoryDeliveryInfo": { "lastSuccessfulTime": 1450317838.412, "lastStatus": "SUCCESS", "lastAttemptTime": 1450317838.412 }, "configSnapshotDeliveryInfo": { "lastSuccessfulTime": 1452185597.094, "lastStatus": "SUCCESS", "lastAttemptTime": 1452185597.094 }, "name": "default" } ] }

Das folgende Codebeispiel zeigt, wie describe-delivery-channels verwendet wird.

AWS CLI

So rufen Sie Details über den Bereitstellungskanal ab

Der folgende Befehl gibt Details über den Bereitstellungskanal zurück:

aws configservice describe-delivery-channels

Ausgabe:

{ "DeliveryChannels": [ { "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic", "name": "default", "s3BucketName": "config-bucket-123456789012" } ] }

Das folgende Codebeispiel zeigt, wie get-compliance-details-by-config-rule verwendet wird.

AWS CLI

So rufen Sie die Auswertungsergebnisse für eine AWS-Config-Regel ab

Der folgende Befehl gibt die Auswertungsergebnisse für alle Ressourcen zurück, die einer AWS-Config-Regel mit dem Namen InstanceTypesAreT2micro nicht entsprechen:

aws configservice get-compliance-details-by-config-rule --config-rule-name InstanceTypesAreT2micro --compliance-types NON_COMPLIANT

Ausgabe:

{ "EvaluationResults": [ { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-1a2b3c4d", "ConfigRuleName": "InstanceTypesAreT2micro" } }, "ResultRecordedTime": 1450314645.261, "ConfigRuleInvokedTime": 1450314642.948, "ComplianceType": "NON_COMPLIANT" }, { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-2a2b3c4d", "ConfigRuleName": "InstanceTypesAreT2micro" } }, "ResultRecordedTime": 1450314645.18, "ConfigRuleInvokedTime": 1450314642.902, "ComplianceType": "NON_COMPLIANT" }, { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-3a2b3c4d", "ConfigRuleName": "InstanceTypesAreT2micro" } }, "ResultRecordedTime": 1450314643.346, "ConfigRuleInvokedTime": 1450314643.124, "ComplianceType": "NON_COMPLIANT" } ] }

Das folgende Codebeispiel zeigt, wie get-compliance-details-by-resource verwendet wird.

AWS CLI

So rufen Sie die Auswertungsergebnisse für eine AWS-Ressource ab

Der folgende Befehl gibt die Auswertungsergebnisse für jede Regel zurück, der die EC2-Instance i-1a2b3c4d nicht entspricht:

aws configservice get-compliance-details-by-resource --resource-type AWS::EC2::Instance --resource-id i-1a2b3c4d --compliance-types NON_COMPLIANT

Ausgabe:

{ "EvaluationResults": [ { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-1a2b3c4d", "ConfigRuleName": "InstanceTypesAreT2micro" } }, "ResultRecordedTime": 1450314643.288, "ConfigRuleInvokedTime": 1450314643.034, "ComplianceType": "NON_COMPLIANT" }, { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-1a2b3c4d", "ConfigRuleName": "RequiredTagForEC2Instances" } }, "ResultRecordedTime": 1450314645.261, "ConfigRuleInvokedTime": 1450314642.948, "ComplianceType": "NON_COMPLIANT" } ] }

Das folgende Codebeispiel zeigt, wie get-compliance-summary-by-config-rule verwendet wird.

AWS CLI

So rufen Sie die Compliance-Zusammenfassung für Ihre AWS-Config-Regeln ab

Der folgende Befehl gibt die Anzahl der Regeln zurück, die konform sind, und die Anzahl derer, die nicht konform sind:

aws configservice get-compliance-summary-by-config-rule

In der Ausgabe gibt der Wert für jedes CappedCount-Attribut an, wie viele Regeln konform bzw. nicht konform sind.

Ausgabe:

{ "ComplianceSummary": { "NonCompliantResourceCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceSummaryTimestamp": 1452204131.493, "CompliantResourceCount": { "CappedCount": 2, "CapExceeded": false } } }

Das folgende Codebeispiel zeigt, wie get-compliance-summary-by-resource-type verwendet wird.

AWS CLI

So rufen Sie die Compliance-Zusammenfassung für alle Ressourcentypen ab

Der folgende Befehl gibt die Anzahl der AWS-Ressourcen zurück, die nicht konform sind, und die Anzahl derer, die konform sind:

aws configservice get-compliance-summary-by-resource-type

In der Ausgabe gibt der Wert für jedes CappedCount-Attribut an, wie viele Ressourcen konform bzw. nicht konform sind.

Ausgabe:

{ "ComplianceSummariesByResourceType": [ { "ComplianceSummary": { "NonCompliantResourceCount": { "CappedCount": 16, "CapExceeded": false }, "ComplianceSummaryTimestamp": 1453237464.543, "CompliantResourceCount": { "CappedCount": 10, "CapExceeded": false } } } ] }

So rufen Sie die Compliance-Zusammenfassung für einen bestimmten Ressourcentyp ab

Der folgende Befehl gibt die Anzahl der EC2-Instances zurück, die nicht konform sind, und die Anzahl derer, die konform sind:

aws configservice get-compliance-summary-by-resource-type --resource-types AWS::EC2::Instance

In der Ausgabe gibt der Wert für jedes CappedCount-Attribut an, wie viele Ressourcen konform bzw. nicht konform sind.

Ausgabe:

{ "ComplianceSummariesByResourceType": [ { "ResourceType": "AWS::EC2::Instance", "ComplianceSummary": { "NonCompliantResourceCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceSummaryTimestamp": 1452204923.518, "CompliantResourceCount": { "CappedCount": 7, "CapExceeded": false } } } ] }

Das folgende Codebeispiel zeigt, wie get-resource-config-history verwendet wird.

AWS CLI

So rufen Sie den Konfigurationsverlauf einer AWS-Ressource ab

Der folgende Befehl gibt eine Liste von Konfigurationselementen für eine EC2-Instance mit der ID i-1a2b3c4d zurück:

aws configservice get-resource-config-history --resource-type AWS::EC2::Instance --resource-id i-1a2b3c4d

Das folgende Codebeispiel zeigt, wie get-status verwendet wird.

AWS CLI

So rufen Sie den Status für AWS Config ab

Der folgende Befehl gibt den Status des Bereitstellungskanals und Konfigurations-Recorders zurück:

aws configservice get-status

Ausgabe:

Configuration Recorders: name: default recorder: ON last status: SUCCESS Delivery Channels: name: default last stream delivery status: SUCCESS last history delivery status: SUCCESS last snapshot delivery status: SUCCESS
  • API-Details finden Sie unter GetStatus in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-discovered-resources verwendet wird.

AWS CLI

So listen Sie Ressourcen auf, die AWS Config erkannt hat

Der folgende Befehl listet die EC2-Instances auf, die AWS Config erkannt hat:

aws configservice list-discovered-resources --resource-type AWS::EC2::Instance

Ausgabe:

{ "resourceIdentifiers": [ { "resourceType": "AWS::EC2::Instance", "resourceId": "i-1a2b3c4d" }, { "resourceType": "AWS::EC2::Instance", "resourceId": "i-2a2b3c4d" }, { "resourceType": "AWS::EC2::Instance", "resourceId": "i-3a2b3c4d" } ] }

Das folgende Codebeispiel zeigt, wie put-config-rule verwendet wird.

AWS CLI

So fügen Sie eine von AWS verwaltete Konfigurationsregel hinzu

Der folgende Befehl stellt JSON-Code zum Hinzufügen einer von AWS verwalteten Konfigurationsregel bereit:

aws configservice put-config-rule --config-rule file://RequiredTagsForEC2Instances.json

RequiredTagsForEC2Instances.json ist eine JSON-Datei, die die Regelkonfiguration enthält:

{ "ConfigRuleName": "RequiredTagsForEC2Instances", "Description": "Checks whether the CostCenter and Owner tags are applied to EC2 instances.", "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Instance" ] }, "Source": { "Owner": "AWS", "SourceIdentifier": "REQUIRED_TAGS" }, "InputParameters": "{\"tag1Key\":\"CostCenter\",\"tag2Key\":\"Owner\"}" }

Für das ComplianceResourceTypes-Attribut beschränkt dieser JSON-Code den Bereich auf Ressourcen des Typs AWS::EC2::Instance, sodass AWS Config nur EC2-Instances anhand der Regel auswertet. Da es sich bei der Regel um eine verwaltete Regel handelt, ist das Owner-Attribut auf AWS und das SourceIdentifier-Attribut auf den Regelbezeichner REQUIRED_TAGS festgelegt. Für das InputParameters-Attribut werden die Tag-Schlüssel, Owner und CostCenter, die die Regel benötigt, angegeben.

Wird der Befehl erfolgreich ausgeführt, wird von AWS Config keine Ausgabe zurückgegeben. Zur Überprüfung der Regelkonfiguration führen Sie den Befehl describe-config-rules aus und geben den Regelnamen an.

So fügen Sie eine vom Kunden verwaltete Konfigurationsregel hinzu

Der folgende Befehl stellt JSON-Code zum Hinzufügen einer vom Kunden verwalteten Konfigurationsregel bereit:

aws configservice put-config-rule --config-rule file://InstanceTypesAreT2micro.json

InstanceTypesAreT2micro.json ist eine JSON-Datei, die die Regelkonfiguration enthält:

{ "ConfigRuleName": "InstanceTypesAreT2micro", "Description": "Evaluates whether EC2 instances are the t2.micro type.", "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Instance" ] }, "Source": { "Owner": "CUSTOM_LAMBDA", "SourceIdentifier": "arn:aws:lambda:us-east-1:123456789012:function:InstanceTypeCheck", "SourceDetails": [ { "EventSource": "aws.config", "MessageType": "ConfigurationItemChangeNotification" } ] }, "InputParameters": "{\"desiredInstanceType\":\"t2.micro\"}" }

Für das ComplianceResourceTypes-Attribut beschränkt dieser JSON-Code den Bereich auf Ressourcen des Typs AWS::EC2::Instance, sodass AWS Config nur EC2-Instances anhand der Regel auswertet. Da es sich bei dieser Regel um eine vom Kunden verwaltete Regel handelt, ist das Owner-Attribut auf CUSTOM_LAMBDA und das SourceIdentifier-Attribut auf den ARN der AWS-Lambda-Funktion festgelegt. Das SourceDetails-Objekt ist erforderlich. Die für das InputParameters-Attribut angegebenen Parameter werden an die AWS-Lambda-Funktion übergeben, wenn AWS Config sie aufruft, um Ressourcen anhand der Regel auszuwerten.

Wird der Befehl erfolgreich ausgeführt, wird von AWS Config keine Ausgabe zurückgegeben. Zur Überprüfung der Regelkonfiguration führen Sie den Befehl describe-config-rules aus und geben den Regelnamen an.

  • API-Details finden Sie unter PutConfigRule in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie put-configuration-recorder verwendet wird.

AWS CLI

Beispiel 1: So zeichnen Sie alle unterstützten Ressourcen auf

Der folgende Befehl erstellt einen Konfigurations-Recorder, der Änderungen an allen unterstützten Ressourcentypen, einschließlich globaler Ressourcentypen, verfolgt:

aws configservice put-configuration-recorder \ --configuration-recorder name=default,roleARN=arn:aws:iam::123456789012:role/config-role \ --recording-group allSupported=true,includeGlobalResourceTypes=true

Wird der Befehl erfolgreich ausgeführt, wird von AWS Config keine Ausgabe zurückgegeben. Führen Sie den Befehl describe-configuration-recorders aus, um die Einstellungen Ihres Konfigurations-Recorders zu überprüfen.

Beispiel 2: So zeichnen Sie bestimmte Ressourcentypen auf

Der folgende Befehl erstellt einen Konfigurations-Recorder, der nur Änderungen an den Ressourcentypen verfolgt, die in der JSON-Datei für die Option --recording-group angegeben sind:

aws configservice put-configuration-recorder \ --configuration-recorder name=default,roleARN=arn:aws:iam::123456789012:role/config-role \ --recording-group file://recordingGroup.json

Bei recordingGroup.json handelt es sich um eine JSON-Datei, die die Ressourcentypen angibt, die AWS Config aufzeichnet:

{ "allSupported": false, "includeGlobalResourceTypes": false, "resourceTypes": [ "AWS::EC2::EIP", "AWS::EC2::Instance", "AWS::EC2::NetworkAcl", "AWS::EC2::SecurityGroup", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::IAM::User", "AWS::IAM::Policy" ] }

Bevor Sie die Ressourcentypen für den resourceTypes-Schlüssel angeben können, müssen Sie die Optionen allSupported und includeGlobalResourceTypes auf „false” festlegen oder diese auslassen.

Wird der Befehl erfolgreich ausgeführt, wird von AWS Config keine Ausgabe zurückgegeben. Führen Sie den Befehl describe-configuration-recorders aus, um die Einstellungen Ihres Konfigurations-Recorders zu überprüfen.

Beispiel 3: So wählen Sie alle unterstützten Ressourcen mit Ausnahme bestimmter Ressourcentypen aus

Der folgende Befehl erstellt einen Konfigurations-Recorder, der Änderungen an allen aktuell und künftig unterstützten Ressourcentypen verfolgt mit Ausnahme von Ressourcentypen, die in der JSON-Datei für die Option --recording-group angegeben sind:

aws configservice put-configuration-recorder \ --configuration-recorder name=default,roleARN=arn:aws:iam::123456789012:role/config-role \ --recording-group file://recordingGroup.json

Bei recordingGroup.json handelt es sich um eine JSON-Datei, die die Ressourcentypen angibt, die AWS Config aufzeichnet:

{ "allSupported": false, "exclusionByResourceTypes": { "resourceTypes": [ "AWS::Redshift::ClusterSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::CloudFront::StreamingDistribution" ] }, "includeGlobalResourceTypes": false, "recordingStrategy": { "useOnly": "EXCLUSION_BY_RESOURCE_TYPES" }, }

Bevor Sie Ressourcentypen angeben können, die von der Aufzeichnung ausgeschlossen werden sollen, führen Sie folgende Schritte aus: 1) Sie müssen die Optionen allSupported und includeGlobalResourceTypes auf „false“ festlegen oder sie weglassen und 2) Sie müssen das Feld useOnly von RecordingStrategy auf EXCLUSION_BY_RESOURCE_TYPES einstellen.

Wird der Befehl erfolgreich ausgeführt, wird von AWS Config keine Ausgabe zurückgegeben. Führen Sie den Befehl describe-configuration-recorders aus, um die Einstellungen Ihres Konfigurations-Recorders zu überprüfen.

Das folgende Codebeispiel zeigt, wie put-delivery-channel verwendet wird.

AWS CLI

So erstellen Sie einen Bereitstellungskanal

Der folgende Befehl stellt die Einstellungen für den Bereitstellungskanal als JSON-Code zur Verfügung:

aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json

Die Datei deliveryChannel.json gibt die Attribute des Bereitstellungskanals an:

{ "name": "default", "s3BucketName": "config-bucket-123456789012", "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic", "configSnapshotDeliveryProperties": { "deliveryFrequency": "Twelve_Hours" } }

In diesem Beispiel werden die folgenden Attribute festgelegt:

name – der Name des Bereitstellungskanals. Standardmäßig weist AWS Config einem neuen Bereitstellungskanal den Namen default zu. Sie können den Namen des Bereitstellungskanals nicht mit dem Befehl put-delivery-channel aktualisieren. Die Schritte zum Ändern des Namens finden Sie unter „Umbenennen des Bereitstellungskanals s3BucketName“. – der Name des Amazon-S3-Buckets, an den AWS Config Konfigurations-Snapshots und Konfigurations-Verlaufsdateien übermittelt. Wenn Sie einen Bucket angeben, der zu einem anderen AWS-Konto gehört, muss dieser Bucket über Richtlinien verfügen, die AWS Config Zugriffsberechtigungen gewähren. Weitere Informationen finden Sie unter Berechtigungen für den Amazon-S3-Bucket.

snsTopicARN – der Amazon-Ressourcenname (ARN) des Amazon-SNS-Themas, an das AWS Config Benachrichtigungen über Konfigurationsänderungen sendet. Wenn Sie ein Thema aus einem anderen Konto auswählen, muss das Thema über Richtlinien verfügen, die AWS Config Zugriffsberechtigungen gewähren. Weitere Informationen finden Sie unter „Berechtigungen für das Amazon-SNS-Thema“.

configSnapshotDeliveryProperties – enthält das Attribut deliveryFrequency, das festlegt, wie oft AWS Config Konfigurations-Snapshots übermittelt und Auswertungen für periodische Konfigurationsregeln aufruft.

Wird der Befehl erfolgreich ausgeführt, wird von AWS Config keine Ausgabe zurückgegeben. Führen Sie den Befehl describe-delivery-channels aus, um die Einstellungen Ihres Bereitstellungskanals zu überprüfen.

Das folgende Codebeispiel zeigt, wie start-config-rules-evaluation verwendet wird.

AWS CLI

So führen Sie eine On-Demand-Auswertung für AWS-Config-Regeln durch

Mit dem folgenden Befehl wird eine Auswertung für zwei von AWS verwaltete Regeln gestartet:

aws configservice start-config-rules-evaluation --config-rule-names s3-bucket-versioning-enabled cloudtrail-enabled

Das folgende Codebeispiel zeigt, wie start-configuration-recorder verwendet wird.

AWS CLI

So starten Sie den Configuration Recorder

Der folgende Befehl startet den Standardkonfigurations-Recorder:

aws configservice start-configuration-recorder --configuration-recorder-name default

Wird der Befehl erfolgreich ausgeführt, wird von AWS Config keine Ausgabe zurückgegeben. Führen Sie den Befehl get-status aus, um zu überprüfen, ob AWS Config Ihre Ressourcen aufzeichnet.

Das folgende Codebeispiel zeigt, wie stop-configuration-recorder verwendet wird.

AWS CLI

So beenden Sie den Configuration Recorder

Der folgende Befehl hält den Standardkonfigurations-Recorder an:

aws configservice stop-configuration-recorder --configuration-recorder-name default

Wird der Befehl erfolgreich ausgeführt, wird von AWS Config keine Ausgabe zurückgegeben. Führen Sie den Befehl get-status aus, um sicherzustellen, dass AWS Config Ihre Ressourcen nicht aufzeichnet.

Das folgende Codebeispiel zeigt, wie subscribe verwendet wird.

AWS CLI

So abonnieren Sie AWS

Mit dem folgenden Befehl werden der Standardbereitstellungskanal und der Konfigurations-Recorder erstellt: Der Befehl gibt auch den Amazon-S3-Bucket und das Amazon-SNS-Thema an, an das AWS Config Konfigurationsinformationen übermittelt:

aws configservice subscribe --s3-bucket config-bucket-123456789012 --sns-topic arn:aws:sns:us-east-1:123456789012:config-topic --iam-role arn:aws:iam::123456789012:role/ConfigRole-A1B2C3D4E5F6

Ausgabe:

Using existing S3 bucket: config-bucket-123456789012 Using existing SNS topic: arn:aws:sns:us-east-1:123456789012:config-topic Subscribe succeeded: Configuration Recorders: [ { "recordingGroup": { "allSupported": true, "resourceTypes": [], "includeGlobalResourceTypes": false }, "roleARN": "arn:aws:iam::123456789012:role/ConfigRole-A1B2C3D4E5F6", "name": "default" } ] Delivery Channels: [ { "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic", "name": "default", "s3BucketName": "config-bucket-123456789012" } ]
  • API-Details finden Sie unter Subscribe in der AWS CLI-Befehlsreferenz.