
Terraform module अपने AWS खाते को CIS Amazon Web Services Foundations और AWS Foundational Security Best Practices पर आधारित सुरक्षित आधार रेखा कॉन्फ़िगरेशन के साथ सेट अप करने के लिए।
आपके AWS खाते को उचित रूप से सुरक्षित कॉन्फ़िगरेशन बेसलाइन के साथ सेट करने के लिए एक टेराफॉर्म मॉड्यूल। अधिकांश कॉन्फ़िगरेशन [CIS Amazon Web Services Foundations v1.4.0] और [AWS Foundational Security Best Practices v1.0.0] पर आधारित हैं।
विभिन्न बेंचमार्क्स में कौन से आइटम शामिल हैं, यह देखने के लिए बेंचमार्क अनुपालन देखें।
data "aws_caller_identity" "current" {} data "aws_region" "current" {}
module "secure_baseline" { source = "nozaq/secure-baseline/aws"
audit_log_bucket_name = "YOUR_BUCKET_NAME" aws_account_id = data.aws_caller_identity.current.account_id region = data.aws_region.current.name support_iam_role_principal_arns = ["YOUR_IAM_USER"]
providers = { aws = aws aws.ap-northeast-1 = aws.ap-northeast-1 aws.ap-northeast-2 = aws.ap-northeast-2 aws.ap-northeast-3 = aws.ap-northeast-3 aws.ap-south-1 = aws.ap-south-1 aws.ap-southeast-1 = aws.ap-southeast-1 aws.ap-southeast-2 = aws.ap-southeast-2 aws.ca-central-1 = aws.ca-central-1 aws.eu-central-1 = aws.eu-central-1 aws.eu-north-1 = aws.eu-north-1 aws.eu-west-1 = aws.eu-west-1 aws.eu-west-2 = aws.eu-west-2 aws.eu-west-3 = aws.eu-west-3 aws.sa-east-1 = aws.sa-east-1 aws.us-east-1 = aws.us-east-1 aws.us-east-2 = aws.us-east-2 aws.us-west-1 = aws.us-west-1 aws.us-west-2 = aws.us-west-2 } }
Check [उदाहरण](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/simple/regions.tf) to understand how these providers are defined.
ध्यान दें कि आपको प्रत्येक AWS क्षेत्र के लिए एक प्रदाता परिभाषित करना होगा और उन्हें मॉड्यूल में पास करना होगा। वर्तमान में एक मॉड्यूल में कई क्षेत्रों को संभालने का यह अनुशंसित तरीका है।
विस्तृत जानकारी [मॉड्यूल के भीतर प्रदाता - Terraform Docs] पर पाई जा सकती है।
डिफ़ॉल्ट रूप से ऑडिट लॉग संग्रहीत करने के लिए एक नया S3 बकेट स्वचालित रूप से बनाया जाता है, जबकि बाहरी S3 बकेट निर्दिष्ट किया जा सकता है। यह तब उपयोगी होता है जब आपके पास पहले से सभी लॉग संग्रहीत करने के लिए एक केंद्रीकृत S3 बकेट हो। कृपया अधिक विवरण के लिए [external-bucket](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/external-bucket) उदाहरण देखें।
### AWS Organization में एकाधिक खातों का प्रबंधन
जब आपके AWS Organization में कई AWS खाते हैं, तो `secure-baseline` मॉड्यूल प्रत्येक AWS खाते के लिए अलग वातावरण कॉन्फ़िगर करता है। आप इस व्यवहार को बदल सकते हैं ताकि सभी खातों से सुरक्षा जानकारी और ऑडिट लॉग एक मास्टर खाते में केंद्रीय रूप से प्रबंधित हो सकें।
अधिक विवरण के लिए [organization](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/organization) उदाहरण देखें।
## उपमॉड्यूल
यह मॉड्यूल कई उपमॉड्यूल से बना है और इनमें से प्रत्येक का स्वतंत्र रूप से उपयोग किया जा सकता है।
[पैकेज उप-निर्देशिकाओं में मॉड्यूल - Terraform] वर्णन करता है कि उपमॉड्यूल को कैसे स्रोत किया जाए।
- [alarm-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/alarm-baseline)
- [analyzer-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/analyzer-baseline)
- [cloudtrail-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/cloudtrail-baseline)
- [config-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/config-baseline)
- [ebs-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/ebs-baseline)
- [guardduty-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/guardduty-baseline)
- [iam-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/iam-baseline)
- [s3-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/s3-baseline)
- [secure-bucket](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/secure-bucket)
- [securityhub-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/securityhub-baseline)
- [vpc-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/vpc-baseline)
## अनुकूलता
- v1.0 से शुरू करते हुए, इस मॉड्यूल को [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v4.0 या बाद का संस्करण चाहिए। [Version 1.0 Upgrade Guide](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/docs/upgrade-1.0.md) उन्नयन के बाद अनुशंसित प्रक्रिया का वर्णन करता है।
- v0.20 से शुरू करते हुए, इस मॉड्यूल को [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v3.0 या बाद का संस्करण चाहिए। यदि आपको v2.x या पुराने संस्करण का उपयोग करने की आवश्यकता है तो कृपया v0.19 का उपयोग करें।
- v0.10 से शुरू करते हुए, इस मॉड्यूल को Terraform v0.12 या बाद का संस्करण चाहिए। यदि आपको Terraform v0.11 या पुराने संस्करण का उपयोग करने की आवश्यकता है तो कृपया v0.9 का उपयोग करें।
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
## आवश्यकताएँ
| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.1.4 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 4.3 |
## प्रदाता
| Name | Version |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 4.3 |