Use PutConfigRule com um AWS SDK ou CLI - AWS Config

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Use PutConfigRule com um AWS SDK ou CLI

Os exemplos de códigos a seguir mostram como usar PutConfigRule.

CLI
AWS CLI

Para adicionar uma regra de Config AWS gerenciada

O comando a seguir fornece código JSON para adicionar uma regra Config AWS gerenciada:

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

RequiredTagsForEC2Instances.json é um arquivo JSON que contém a configuração da regra:

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

Para o ComplianceResourceTypes atributo, esse código JSON limita o escopo a recursos do AWS::EC2::Instance tipo, então o AWS Config avaliará somente instâncias do EC2 em relação à regra. Como a regra é uma regra gerenciada, o atributo Owner é definido como AWS e o atributo SourceIdentifier é definido como o identificador da regra, REQUIRED_TAGS. Para o atributo InputParameters, as chaves de tag exigidas pela regra, CostCenter e Owner são especificados.

Se o comando for bem-sucedido, o AWS Config não retornará nenhuma saída. Para verificar a configuração da regra, execute o describe-config-rules comando e especifique o nome da regra.

Como adicionar uma regra do Config gerenciada pelo cliente

O seguinte comando fornece o código JSON para adicionar uma regra do Config gerenciada pelo cliente:

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

InstanceTypesAreT2micro.json é um arquivo JSON que contém a configuração da regra:

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

Para o ComplianceResourceTypes atributo, esse código JSON limita o escopo a recursos do AWS::EC2::Instance tipo, então o AWS Config avaliará somente instâncias do EC2 em relação à regra. Como essa regra é uma regra gerenciada pelo cliente, o Owner atributo é definido comoCUSTOM_LAMBDA, e o SourceIdentifier atributo é definido como o ARN da função Lambda AWS . O SourceDetails objeto é obrigatório. Os parâmetros especificados para o InputParameters atributo são passados para a função AWS Lambda quando o AWS Config a invoca para avaliar os recursos em relação à regra.

Se o comando for bem-sucedido, o AWS Config não retornará nenhuma saída. Para verificar a configuração da regra, execute o describe-config-rules comando e especifique o nome da regra.

  • Para obter detalhes da API, consulte PutConfigRulena Referência de AWS CLI Comandos.

Python
SDK para Python (Boto3).
nota

Tem mais sobre GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository.

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
  • Para obter detalhes da API, consulte a PutConfigRuleReferência da API AWS SDK for Python (Boto3).

Para obter uma lista completa dos guias do desenvolvedor do AWS SDK e exemplos de código, consulteUsando AWS Config com um AWS SDK. Este tópico também inclui informações sobre como começar e detalhes sobre versões anteriores do SDK.