Usar PutConfigRule com o AWS SDK ou a CLI
Os exemplos de código a seguir mostram como usar o PutConfigRule.
- CLI
-
- AWS CLI
-
Como adicionar uma regra gerenciada do AWS Config
O seguinte comando fornece o código JSON para adicionar uma regra gerenciada do AWS Config:
aws configservice put-config-rule --config-rulefile://RequiredTagsForEC2Instances.jsonRequiredTagsForEC2Instances.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\"}" }Esse código JSON limita o escopo do atributo
ComplianceResourceTypesaos recursos do tipoAWS::EC2::Instance. Desta forma, o AWS Config avaliará somente instâncias do EC2 em relação à regra. Como a regra é uma regra gerenciada, o atributoOwneré definido comoAWSe o atributoSourceIdentifieré definido como o identificador da regra,REQUIRED_TAGS. Para o atributoInputParameters, as chaves de tag exigidas pela regra,CostCentereOwnersã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 comando describe-config-rules 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-rulefile://InstanceTypesAreT2micro.jsonInstanceTypesAreT2micro.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\"}" }Esse código JSON limita o escopo do atributo
ComplianceResourceTypesaos recursos do tipoAWS::EC2::Instance. Desta forma, o AWS Config avaliará somente instâncias do EC2 em relação à regra. Como essa é uma regra gerenciada pelo cliente, o atributoOwneré definido comoCUSTOM_LAMBDAe o atributoSourceIdentifieré definido como o ARN da função do AWS Lambda. OSourceDetailsobjeto é obrigatório. Os parâmetros especificados para o atributoInputParameterssão passados para a função do AWS Lambda quando o AWS Config o 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 comando describe-config-rules e especifique o nome da regra.
-
Para obter detalhes da API, consulte PutConfigRule
na Referência de comandos da AWS CLI.
-
- Python
-
- SDK para Python (Boto3).
-
nota
Há mais no GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWSCode 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 PutConfigRule na Referência de APIs do AWS SDK para Python (Boto3).
-
Para ver uma lista completa dos Guias do desenvolvedor e exemplos de código do SDK da AWS, consulte Usar o 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.