Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs
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-rulefile://RequiredTagsForEC2Instances.jsonRequiredTagsForEC2Instances.jsonist 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 TypsAWS::EC2::Instance, sodass AWS Config nur EC2-Instances anhand der Regel auswertet. Da es sich bei der Regel um eine verwaltete Regel handelt, ist dasOwner-Attribut aufAWSund dasSourceIdentifier-Attribut auf den RegelbezeichnerREQUIRED_TAGSfestgelegt. Für dasInputParameters-Attribut werden die Tag-Schlüssel,OwnerundCostCenter, 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-rulefile://InstanceTypesAreT2micro.jsonInstanceTypesAreT2micro.jsonist 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 TypsAWS::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 dasOwner-Attribut aufCUSTOM_LAMBDAund dasSourceIdentifier-Attribut auf den ARN der AWS-Lambda-Funktion festgelegt. DasSourceDetails-Objekt ist erforderlich. Die für dasInputParameters-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).
-