
وحدة Terraform لإعداد حساب AWS الخاص بك مع التكوين الأساسي الآمن المستند إلى معايير CIS Amazon Web Services Foundations وأفضل الممارسات الأمنية الأساسية لـ AWS Foundational Security.
وحدة Terraform لإعداد حساب 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 } }
تحقق من [المثال](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/simple/regions.tf) لفهم كيفية تعريف هؤلاء المزودين. لاحظ أنك تحتاج إلى تعريف مزود لكل منطقة AWS وتمريرها إلى الوحدة. حاليًا هذه هي الطريقة الموصى بها للتعامل مع مناطق متعددة في وحدة واحدة. يمكن العثور على معلومات مفصلة في [المزودين داخل الوحدات - وثائق Terraform].
يتم إنشاء حزمة S3 جديدة لتخزين سجلات التدقيق تلقائيًا افتراضيًا، بينما يمكن تحديد حزمة S3 خارجية. وهو مفيد عندما يكون لديك بالفعل حزمة S3 مركزية لتخزين جميع السجلات. يرجى الاطلاع على مثال [external-bucket](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/external-bucket) لمزيد من التفاصيل.
### إدارة حسابات متعددة في AWS Organization
عندما يكون لديك حسابات AWS متعددة في AWS Organization، تقوم وحدة `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 لـ AWS](https://github.com/terraform-providers/terraform-provider-aws) v4.0 أو أحدث. يصف [دليل الترقية إلى الإصدار 1.0](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/docs/upgrade-1.0.md) الإجراء الموصى به بعد الترقية.
- بدءًا من الإصدار v0.20، تتطلب هذه الوحدة [مزود Terraform لـ AWS](https://github.com/terraform-providers/terraform-provider-aws) v3.0 أو أحدث. يرجى استخدام v0.19 إذا كنت بحاجة إلى استخدام v2.x أو إصدار أقدم.
- بدءًا من الإصدار v0.10، تتطلب هذه الوحدة Terraform v0.12 أو أحدث. يرجى استخدام v0.9 إذا كنت بحاجة إلى استخدام Terraform v0.11 أو إصدار أقدم.
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
## المتطلبات
| الاسم | الإصدار |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.1.4 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 4.3 |
## المزودون
| الاسم | الإصدار |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 4.3 |