
Модуль Terraform для настройки вашего аккаунта AWS с безопасной базовой конфигурацией на основе CIS Amazon Web Services Foundations и AWS Foundational Security Best Practices.
Модуль 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 и передать их в модуль. В настоящее время это рекомендуемый способ работы с несколькими регионами в одном модуле.
Подробную информацию можно найти в [Providers within Modules - Terraform Docs].
Новый 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 Provider for 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 Provider for 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 |