Utilizzare PutConfigRule con un o AWS SDK CLI - Esempi di codice dell'AWS SDK

Ci sono altri AWS SDK esempi disponibili nel repository AWS Doc SDK Examples GitHub .

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzare PutConfigRule con un o AWS SDK CLI

Gli esempi di codice seguenti mostrano come utilizzare PutConfigRule.

CLI
AWS CLI

Per aggiungere una regola AWS Config gestita

Il comando seguente fornisce il JSON codice per aggiungere una regola Config AWS gestita:

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

RequiredTagsForEC2Instances.jsonè un JSON file che contiene la configurazione delle regole:

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

Per l'ComplianceResourceTypesattributo, questo JSON codice limita l'ambito alle risorse del AWS::EC2::Instance tipo, quindi AWS Config valuterà solo EC2 le istanze in base alla regola. Poiché la regola è una regola gestita, l'Ownerattributo è impostato su e l'SourceIdentifierattributo è impostato sull'identificatore della regolaAWS,. REQUIRED_TAGS Per l'InputParametersattributo, vengono specificate le chiavi di tag richieste dalla regola CostCenter eOwner.

Se il comando ha esito positivo, AWS Config non restituisce alcun output. Per verificare la configurazione della regola, esegui il describe-config-rules comando e specifica il nome della regola.

Per aggiungere una regola Config gestita dal cliente

Il comando seguente fornisce il JSON codice per aggiungere una regola Config gestita dal cliente:

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

InstanceTypesAreT2micro.jsonè un JSON file che contiene la configurazione delle regole:

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

Per l'ComplianceResourceTypesattributo, questo JSON codice limita l'ambito alle risorse del AWS::EC2::Instance tipo, quindi AWS Config valuterà solo EC2 le istanze in base alla regola. Poiché questa regola è una regola gestita dal cliente, l'Ownerattributo è impostato su e l'SourceIdentifierattributo è impostato sulla ARN funzione AWS Lambda. CUSTOM_LAMBDA L'SourceDetailsoggetto è obbligatorio. I parametri specificati per l'InputParametersattributo vengono passati alla funzione AWS Lambda quando AWS Config la richiama per valutare le risorse rispetto alla regola.

Se il comando ha esito positivo, AWS Config non restituisce alcun output. Per verificare la configurazione della regola, esegui il describe-config-rules comando e specifica il nome della regola.

  • Per API i dettagli, vedere PutConfigRulein AWS CLI Command Reference.

Python
SDKper Python (Boto3)
Nota

C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice 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
  • Per API i dettagli, vedere PutConfigRulePython (Boto3) Reference.AWS SDK API