翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SDK AWS Config を使用してルールを設定します。
以下のコード例は、 AWS Config ルールを設定する方法を示しています。
- CLI
-
- AWS CLI
-
AWS マネージド Config ルールを追加するには
以下のコマンドは、 AWS マネージド Config ルールを追加するための JSON コードを提供します。
aws configservice put-config-rule --config-rule file://RequiredTagsForEC2Instances.json
RequiredTagsForEC2Instances.json
は、ルール設定を含む JSON ファイルです。{ "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\"}" }
ComplianceResourceTypes
属性については、この JSONAWS::EC2::Instance
コードはスコープをそのタイプのリソースに制限するため、 AWS Config はルールに対して EC2 インスタンスのみを評価します。このルールはマネージドルールであるため、Owner
属性はAWS
に設定され、SourceIdentifier
属性はルール識別子REQUIRED_TAGS
に設定されます。InputParameters
属性には、ルールに必要なタグキー、およびCostCenter
とOwner
が指定されます。コマンドが成功した場合、 AWS Config は出力を返しません。ルール設定を確認するには、 describe-config-rules コマンドを実行してルール名を指定します。
カスタマーマネージド Config ルールを追加するには
次のコマンドは、カスタマーマネージド Config ルールを追加するための JSON コードを提供します。
aws configservice put-config-rule --config-rule file://InstanceTypesAreT2micro.json
InstanceTypesAreT2micro.json
は、ルール設定を含む JSON ファイルです。{ "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\"}" }
ComplianceResourceTypes
属性については、この JSONAWS::EC2::Instance
コードはスコープをそのタイプのリソースに制限するため、 AWS Config はルールに対して EC2 インスタンスのみを評価します。このルールは顧客管理ルールであるため、Owner
属性はに設定されCUSTOM_LAMBDA
、SourceIdentifier
属性は AWS Lambda 関数の ARN に設定されます。SourceDetails
オブジェクトは必須です。InputParameters
属性に指定されたパラメータは、 AWS Config がルールに照らしてリソースを評価するために AWS Lambda 関数を呼び出したときに Lambda 関数に渡されます。コマンドが成功した場合、 AWS Config は出力を返しません。ルール設定を確認するには、 describe-config-rules コマンドを実行してルール名を指定します。
-
API の詳細については、「AWS CLI コマンドリファレンス」PutConfigRule
のを参照してください。
-
- Python
-
- SDK for Python (Boto3)
-
注記
にはまだまだあります GitHub。用例一覧を検索し、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
-
API の詳細については、AWS SDK for Python (Boto3) API リファレンスのを参照してくださいPutConfigRule。
-
AWS SDK 開発者ガイドとコード例の完全なリストについては、を参照してください。AWS SDK AWS Config との併用このトピックには、使用開始方法に関する情報と、以前の SDK バージョンの詳細も含まれています。