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.json
est 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'
ComplianceResourceTypes
attribut, ce JSON code limite la portée aux ressources de ceAWS::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'Owner
attribut est défini surAWS
, et l'SourceIdentifier
attribut est défini sur l'identifiant de règle,REQUIRED_TAGS
. Pour l'InputParameters
attribut, 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.json
est 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'
ComplianceResourceTypes
attribut, ce JSON code limite la portée aux ressources de ceAWS::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'Owner
attribut est défini surCUSTOM_LAMBDA
, et l'SourceIdentifier
attribut est défini sur celui ARN de la fonction AWS Lambda. L'SourceDetails
objet est obligatoire. Les paramètres spécifiés pour l'InputParameters
attribut 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 PutConfigRule
la 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
-