Terraform 0.11

aws_config_config_rule




terraform

aws_config_config_rule

AWS कॉन्फ़िगरेशन नियम प्रदान करता है।

उदाहरण उपयोग

resource "aws_config_config_rule" "r" {
  name = "example"

  source {
    owner             = "AWS"
    source_identifier = "S3_BUCKET_VERSIONING_ENABLED"
  }

  depends_on = ["aws_config_configuration_recorder.foo"]
}

resource "aws_config_configuration_recorder" "foo" {
  name     = "example"
  role_arn = "${aws_iam_role.r.arn}"
}

resource "aws_iam_role" "r" {
  name = "my-awsconfig-role"

  assume_role_policy = <<POLICY
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": "config.amazonaws.com"
      },
      "Effect": "Allow",
      "Sid": ""
    }
  ]
}
POLICY
}

resource "aws_iam_role_policy" "p" {
  name = "my-awsconfig-policy"
  role = "${aws_iam_role.r.id}"

  policy = <<POLICY
{
  "Version": "2012-10-17",
  "Statement": [
    {
        "Action": "config:Put*",
        "Effect": "Allow",
        "Resource": "*"

    }
  ]
}
POLICY
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • name - (आवश्यक) नियम का नाम
  • description - (वैकल्पिक) नियम का विवरण
  • input_parameters - (वैकल्पिक) JSON प्रारूप में एक स्ट्रिंग जो AWS कॉन्फ़िग नियम लैंबडा फ़ंक्शन को दी जाती है।
  • maximum_execution_frequency - (वैकल्पिक) अधिकतम आवृत्ति जिसके साथ AWS कॉन्फ़िग एक नियम के लिए मूल्यांकन चलाता है।
  • scope - (वैकल्पिक) स्कोप परिभाषित करता है कि कौन से संसाधन नीचे दिए गए दस्तावेज़ के अनुसार नियम के लिए मूल्यांकन को ट्रिगर कर सकते हैं।
  • source - (आवश्यक) स्रोत नियम स्वामी, नियम पहचानकर्ता, और सूचनाएँ निर्दिष्ट करता है जो फ़ंक्शन को आपके AWS संसाधनों का मूल्यांकन करने के लिए नीचे दिए गए दस्तावेज़ के रूप में करते हैं।

scope

परिभाषित करता है कि कौन से संसाधन नियम के लिए मूल्यांकन को ट्रिगर कर सकते हैं। यदि आप कोई स्कोप निर्दिष्ट नहीं करते हैं, तो रिकॉर्डिंग समूह में कोई भी संसाधन बदलने पर मूल्यांकन शुरू हो जाता है।

  • compliance_resource_id - (वैकल्पिक) केवल AWS संसाधन की ID जिसे आप नियम के लिए मूल्यांकन ट्रिगर करना चाहते हैं। यदि आप एक संसाधन ID निर्दिष्ट करते हैं, तो आपको एक संसाधन प्रकार को compliance_resource_types resource_types के लिए निर्दिष्ट करना होगा।
  • compliance_resource_types - (वैकल्पिक) केवल AWS संसाधनों के संसाधन प्रकारों की एक सूची जो आप नियम के लिए एक मूल्यांकन ट्रिगर करना चाहते हैं। उदा AWS::EC2::Instance । आप केवल एक प्रकार को निर्दिष्ट कर सकते हैं यदि आप अनुपालन_स्रोत_के लिए संसाधन आईडी भी निर्दिष्ट compliance_resource_id । उपलब्ध प्रकारों के लिए AWS डॉक्स का प्रासंगिक हिस्सा देखें।
  • tag_key - (वैकल्पिक, आवश्यक है अगर tag_value निर्दिष्ट है) टैग कुंजी जो केवल उन AWS संसाधनों पर लागू होती है जो आप चाहते हैं कि आप नियम के लिए एक मूल्यांकन ट्रिगर करना चाहते हैं।
  • tag_value - (वैकल्पिक) टैग मूल्य केवल उन AWS संसाधनों पर लागू होता है जिन्हें आप नियम के लिए मूल्यांकन ट्रिगर करना चाहते हैं।

source

नियम स्वामी (AWS या ग्राहक), नियम पहचानकर्ता और सूचनाएँ प्रदान करता है जो फ़ंक्शन को आपके AWS संसाधनों का मूल्यांकन करने का कारण बनाते हैं।

  • owner - (आवश्यक) यह दर्शाता है कि AWS या ग्राहक का मालिक है या AWS कॉन्फ़िग नियम का प्रबंधन करता है। केवल मान्य मान AWS या CUSTOM_LAMBDA । ध्यान रखें कि लैम्ब्डा फ़ंक्शन को aws_lambda_permission फ़ंक्शन को निष्पादित करने की अनुमति देने के लिए aws_lambda_permission की आवश्यकता होगी।
  • source_identifier - (आवश्यक) AWS source_identifier नियमों के लिए, एक सूची से एक पूर्वनिर्धारित पहचानकर्ता। उदाहरण के लिए, IAM_PASSWORD_POLICY एक प्रबंधित नियम है। किसी प्रबंधित नियम को संदर्भित करने के लिए, AWS प्रबंधित कॉन्फ़िगरेशन नियम का उपयोग करना देखें। कस्टम नियमों के लिए, पहचानकर्ता नियम के AWS लैम्ब्डा फ़ंक्शन का ARN है, जैसे कि arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name
  • source_detail - (वैकल्पिक) स्रोत और प्रकार की घटना प्रदान करता है जो आपके AWS संसाधनों का मूल्यांकन करने के लिए AWS कॉन्फ़िग का कारण बनता है। केवल मान्य यदि owner CUSTOM_LAMBDA
    • event_source - (वैकल्पिक) घटना का स्रोत, जैसे AWS सेवा, जो आपके AWS संसाधनों का मूल्यांकन करने के लिए AWS कॉन्फ़िग को ट्रिगर करता है। यह aws.config को aws.config और एकमात्र मान्य मूल्य है।
    • maximum_execution_frequency - (वैकल्पिक) वह आवृत्ति जो आप AWS कॉन्फ़िग को नियम के लिए मूल्यांकन चलाने के लिए चाहते हैं जो समय-समय पर चालू हो। यदि निर्दिष्ट किया गया है, तो message_type ScheduledNotification को ScheduledNotification जाने की आवश्यकता है।
    • message_type - (वैकल्पिक) एक नियम के लिए मूल्यांकन चलाने के लिए AWS कॉन्फ़िग को ट्रिगर करने वाली सूचना का प्रकार। आप निम्नलिखित अधिसूचना प्रकार निर्दिष्ट कर सकते हैं:
      • ConfigurationItemChangeNotification - एक मूल्यांकन को ट्रिगर करता है जब एडब्ल्यूएस कॉन्फ़िगरेशन एक संसाधन परिवर्तन के परिणामस्वरूप कॉन्फ़िगरेशन आइटम वितरित करता है।
      • OversizedConfigurationItemChangeNotification - ट्रिगर एक मूल्यांकन जब AWS कॉन्फ़िगरेशन एक ओवरसाइज़्ड कॉन्फ़िगरेशन आइटम वितरित करता है। जब कोई संसाधन बदलता है और अमेज़न SNS द्वारा अनुमत अधिकतम आकार से अधिक हो जाता है, तो AWS कॉन्फ़िगरेशन इस सूचना प्रकार को उत्पन्न कर सकता है।
      • ScheduledNotification - ट्रिगर आवधिक मूल्यांकन को maximum_execution_frequency आवृत्ति पर निर्दिष्ट करता है जो maximum_execution_frequency लिए maximum_execution_frequency
      • ConfigurationSnapshotDeliveryCompleted SnapshotDeliveryCompleted - AWS कॉन्फ़िगरेशन कॉन्फ़िगरेशन स्नैपशॉट वितरित करते समय ट्रिगर एक आवधिक मूल्यांकन करता है।

संदर्भ संदर्भित करता है

उपरोक्त सभी तर्कों के अलावा, निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • arn - विन्यास नियम का ARN
  • rule_id - config नियम की आईडी

आयात

कॉन्फ़िगर नियम को नाम का उपयोग करके आयात किया जा सकता है, जैसे

$ terraform import aws_config_config_rule.foo example