
Modulo Terraform per configurare il tuo account AWS con la configurazione di base sicura basata su CIS Amazon Web Services Foundations e AWS Foundational Security Best Practices.
Un modulo Terraform per configurare il tuo account AWS con una baseline di configurazione ragionevolmente sicura. La maggior parte delle configurazioni si basa su [CIS Amazon Web Services Foundations v1.4.0] e [AWS Foundational Security Best Practices v1.0.0].
Vedi Conformità ai benchmark per controllare quali elementi nei vari benchmark sono coperti.
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 } }
Controlla [l'esempio](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/simple/regions.tf) per capire come sono definiti questi provider.
Nota che devi definire un provider per ogni regione AWS e passarli al modulo. Attualmente questa è la modalità consigliata per gestire più regioni in un unico modulo.
Informazioni dettagliate si trovano in [Providers within Modules - Terraform Docs].
Un nuovo bucket S3 per archiviare i log di audit viene creato automaticamente per impostazione predefinita, mentre è possibile specificare un bucket S3 esterno. È utile quando si dispone già di un bucket S3 centralizzato per archiviare tutti i log. Consulta l'esempio [external-bucket](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/external-bucket) per maggiori dettagli.
### Gestione di più account in AWS Organization
Quando hai più account AWS nella tua AWS Organization, il modulo `secure-baseline` configura un ambiente separato per ciascun account AWS. Puoi cambiare questo comportamento per gestire centralmente informazioni di sicurezza e log di audit da tutti gli account in un unico account principale. Consulta l'esempio [organization](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/organization) per maggiori dettagli.
## Sottomoduli
Questo modulo è composto da diversi sottomoduli, ciascuno dei quali può essere utilizzato indipendentemente.
[Modules in Package Sub-directories - Terraform] descrive come ottenere un sottomodulo.
- [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)
## Compatibilità
- A partire dalla v1.0, questo modulo richiede [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v4.0 o successiva. [Version 1.0 Upgrade Guide](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/docs/upgrade-1.0.md) descrive la procedura consigliata dopo l'aggiornamento.
- A partire dalla v0.20, questo modulo richiede [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v3.0 o successiva. Utilizza la v0.19 se devi usare la v2.x o precedenti.
- A partire dalla v0.10, questo modulo richiede Terraform v0.12 o successiva. Utilizza la v0.9 se devi usare Terraform v0.11 o precedenti.
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
## Requirements
| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.1.4 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 4.3 |
## Providers
| Name | Version |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 4.3 |