Verwendung von PutConfigRule mit einem AWS-SDK oder CLI - AWS-SDK-Codebeispiele

Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs verfügbar.

Verwendung von PutConfigRule mit einem AWS-SDK oder CLI

Die folgenden Code-Beispiele zeigen, wie PutConfigRule verwendet wird.

CLI
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.

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

Python
SDK für Python (Boto3)
Anmerkung

Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel- einrichten und ausführen.

class ConfigWrapper: """ Encapsulates AWS Config functions. """ def __init__(self, config_client): """ :param config_client: A Boto3 AWS Config client. """ self.config_client = config_client def put_config_rule(self, rule_name): """ Sets a configuration rule that prohibits making Amazon S3 buckets publicly readable. :param rule_name: The name to give the rule. """ try: self.config_client.put_config_rule( ConfigRule={ "ConfigRuleName": rule_name, "Description": "S3 Public Read Prohibited Bucket Rule", "Scope": { "ComplianceResourceTypes": [ "AWS::S3::Bucket", ], }, "Source": { "Owner": "AWS", "SourceIdentifier": "S3_BUCKET_PUBLIC_READ_PROHIBITED", }, "InputParameters": "{}", "ConfigRuleState": "ACTIVE", } ) logger.info("Created configuration rule %s.", rule_name) except ClientError: logger.exception("Couldn't create configuration rule %s.", rule_name) raise
  • Weitere API-Informationen finden Sie unter PutConfigRule in der API-Referenz zum AWS-SDK für Python (Boto3).