
Module Terraform pour configurer votre compte AWS avec la configuration de base sécurisée basée sur CIS Amazon Web Services Foundations et AWS Foundational Security Best Practices.
Un module Terraform pour configurer votre compte AWS avec une base de configuration raisonnablement sécurisée. La plupart des configurations sont basées sur [CIS Amazon Web Services Foundations v1.4.0] et [AWS Foundational Security Best Practices v1.0.0].
Consultez Benchmark Compliance pour vérifier quels éléments de divers benchmarks sont couverts.
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 } }
Consultez [l'exemple](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/simple/regions.tf) pour comprendre comment ces fournisseurs sont définis.
Notez que vous devez définir un fournisseur pour chaque région AWS et les transmettre au module. Actuellement, c'est la méthode recommandée pour gérer plusieurs régions dans un module.
Des informations détaillées sont disponibles dans [Providers within Modules - Terraform Docs].
Un nouveau bucket S3 pour stocker les journaux d'audit est automatiquement créé par défaut, tandis que le bucket S3 externe peut être spécifié. C'est utile lorsque vous avez déjà un bucket S3 centralisé pour stocker tous les journaux. Veuillez consulter l'exemple [external-bucket](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/external-bucket) pour plus de détails.
### Gestion de plusieurs comptes dans AWS Organization
Lorsque vous avez plusieurs comptes AWS dans votre AWS Organization, le module `secure-baseline` configure un environnement séparé pour chaque compte AWS. Vous pouvez modifier ce comportement pour gérer de manière centralisée les informations de sécurité et les journaux d'audit de tous les comptes dans un seul compte maître.
Consultez l'exemple [organization](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/organization) pour plus de détails.
## Sous-modules
Ce module est composé de plusieurs sous-modules, chacun pouvant être utilisé indépendamment.
[Modules in Package Sub-directories - Terraform] décrit comment sourcer un sous-module.
- [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é
- À partir de la version v1.0, ce module nécessite [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v4.0 ou ultérieur. [Version 1.0 Upgrade Guide](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/docs/upgrade-1.0.md) décrit la procédure recommandée après la mise à niveau.
- À partir de la version v0.20, ce module nécessite [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v3.0 ou ultérieur. Veuillez utiliser la version v0.19 si vous devez utiliser la v2.x ou antérieure.
- À partir de la version v0.10, ce module nécessite Terraform v0.12 ou ultérieur. Veuillez utiliser la version v0.9 si vous devez utiliser Terraform v0.11 ou antérieure.
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
## Prérequis
| Nom | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.1.4 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 4.3 |
## Fournisseurs
| Nom | Version |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 4.3 |