À utiliser PutConfigRule avec un AWS SDK ou CLI - Exemples de code de l'AWS SDK

D'autres AWS SDK exemples sont disponibles dans le GitHub dépôt AWS Doc SDK Examples.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

À utiliser PutConfigRule avec un AWS SDK ou CLI

Les exemples de code suivants montrent comment utiliserPutConfigRule.

CLI
AWS CLI

Pour ajouter une règle Config AWS gérée

La commande suivante fournit le JSON code permettant d'ajouter une règle de configuration AWS gérée :

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

RequiredTagsForEC2Instances.jsonest un JSON fichier qui contient la configuration des règles :

{ "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\"}" }

Pour l'ComplianceResourceTypesattribut, ce JSON code limite la portée aux ressources de ce AWS::EC2::Instance type, de sorte que AWS Config évaluera uniquement les EC2 instances par rapport à la règle. Comme la règle est une règle gérée, l'Ownerattribut est défini surAWS, et l'SourceIdentifierattribut est défini sur l'identifiant de règle,REQUIRED_TAGS. Pour l'InputParametersattribut, les clés de balise requises par la règle, CostCenter etOwner, sont spécifiées.

Si la commande aboutit, AWS Config ne renvoie aucune sortie. Pour vérifier la configuration des règles, exécutez la describe-config-rules commande et spécifiez le nom de la règle.

Pour ajouter une règle Config gérée par le client

La commande suivante fournit le JSON code permettant d'ajouter une règle de configuration gérée par le client :

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

InstanceTypesAreT2micro.jsonest un JSON fichier qui contient la configuration des règles :

{ "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\"}" }

Pour l'ComplianceResourceTypesattribut, ce JSON code limite la portée aux ressources de ce AWS::EC2::Instance type, de sorte que AWS Config évaluera uniquement les EC2 instances par rapport à la règle. Comme cette règle est une règle gérée par le client, l'Ownerattribut est défini surCUSTOM_LAMBDA, et l'SourceIdentifierattribut est défini sur celui ARN de la fonction AWS Lambda. L'SourceDetailsobjet est obligatoire. Les paramètres spécifiés pour l'InputParametersattribut sont transmis à la fonction AWS Lambda lorsque AWS Config l'invoque pour évaluer les ressources par rapport à la règle.

Si la commande aboutit, AWS Config ne renvoie aucune sortie. Pour vérifier la configuration des règles, exécutez la describe-config-rules commande et spécifiez le nom de la règle.

  • Pour API plus de détails, voir PutConfigRulela section Référence des AWS CLI commandes.

Python
SDKpour Python (Boto3)
Note

Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

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
  • Pour API plus de détails, reportez-vous PutConfigRuleà la section AWS SDKpour la référence Python (Boto3). API