Gunakan PutConfigRule dengan AWS SDK atau CLI - AWS SDKContoh Kode

Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan PutConfigRule dengan AWS SDK atau CLI

Contoh kode berikut menunjukkan cara menggunakanPutConfigRule.

CLI
AWS CLI

Untuk menambahkan aturan Config AWS terkelola

Perintah berikut menyediakan JSON kode untuk menambahkan aturan Config AWS terkelola:

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

RequiredTagsForEC2Instances.jsonadalah JSON file yang berisi konfigurasi aturan:

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

Untuk ComplianceResourceTypes atribut, JSON kode ini membatasi cakupan ke sumber daya AWS::EC2::Instance tipe, jadi AWS Config hanya akan mengevaluasi EC2 instance terhadap aturan. Karena aturan adalah aturan terkelola, Owner atribut diatur keAWS, dan SourceIdentifier atribut diatur ke pengidentifikasi aturan,REQUIRED_TAGS. Untuk InputParameters atribut, kunci tag yang dibutuhkan aturan, CostCenter danOwner, ditentukan.

Jika perintah berhasil, AWS Config tidak mengembalikan output. Untuk memverifikasi konfigurasi aturan, jalankan describe-config-rules perintah, dan tentukan nama aturan.

Untuk menambahkan aturan Config terkelola pelanggan

Perintah berikut menyediakan JSON kode untuk menambahkan aturan Config terkelola pelanggan:

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

InstanceTypesAreT2micro.jsonadalah JSON file yang berisi konfigurasi aturan:

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

Untuk ComplianceResourceTypes atribut, JSON kode ini membatasi cakupan ke sumber daya AWS::EC2::Instance tipe, jadi AWS Config hanya akan mengevaluasi EC2 instance terhadap aturan. Karena aturan ini adalah aturan yang dikelola pelanggan, Owner atribut disetel keCUSTOM_LAMBDA, dan SourceIdentifier atribut disetel ke ARN fungsi AWS Lambda. SourceDetailsObjek diperlukan. Parameter yang ditentukan untuk InputParameters atribut diteruskan ke fungsi AWS Lambda saat AWS Config memanggilnya untuk mengevaluasi sumber daya terhadap aturan.

Jika perintah berhasil, AWS Config tidak mengembalikan output. Untuk memverifikasi konfigurasi aturan, jalankan describe-config-rules perintah, dan tentukan nama aturan.

  • Untuk API detailnya, lihat PutConfigRuledi Referensi AWS CLI Perintah.

Python
SDKuntuk Python (Boto3)
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di AWS Repositori Contoh Kode.

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