Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
terraform-aws-secure-baseline — Terraform 모듈로, CIS Amazon Web Services Foundations 및 AWS Foundational Security Best Practices를 기반으로 AWS 계정을 보안 기준 구성으로 설정합니다. | Kitploit
도구/GitHubGitHub/nozaq/terraform-aws-secure-baseline
Cloud Infrastructure SecurityConfiguration AuditingCloud SecurityDevSecOpsMisconfiguration
GitHubnozaq/terraform-aws-secure-baseline

terraform-aws-secure-baseline

Terraform 모듈로, CIS Amazon Web Services Foundations 및 AWS Foundational Security Best Practices를 기반으로 AWS 계정을 보안 기준 구성으로 설정합니다.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
1.2k3781개월 전Kitploit 검토 완료

terraform-aws-secure-baseline

Github Actions Releases

Terraform 모듈 레지스트리

AWS 계정을 적절한 보안 구성 기준으로 설정하기 위한 Terraform 모듈입니다. 대부분의 구성은 [CIS Amazon Web Services Foundations v1.4.0] 및 [AWS Foundational Security Best Practices v1.0.0]을 기반으로 합니다.

다양한 벤치마크에서 어떤 항목이 적용되는지 확인하려면 벤치마크 준수를 참조하세요.

기능

ID 및 액세스 관리

  • IAM 암호 정책 설정
  • 사고 처리를 위한 AWS 지원 연락용 IAM 역할 생성
  • 루트 계정 상태 감사를 위한 AWS Config 규칙 활성화
  • 각 리전에서 IAM Access Analyzer 활성화
  • S3 계정 수준 공용 액세스 차단 구성 활성화

로깅 및 모니터링

  • 모든 리전에서 CloudTrail을 활성화하고 CloudWatch Logs로 이벤트 전달
  • 모든 S3 버킷에 대해 객체 수준 로깅이 기본적으로 활성화됨
  • CloudTrail Insights 이벤트 로깅이 기본적으로 활성화됨
  • CloudTrail 로그는 AWS Key Management Service를 사용하여 암호화됨
  • 모든 로그는 액세스 로깅이 활성화된 S3 버킷에 저장됨
  • 로그는 지정된 기간(기본값 90일) 후에 Amazon Glacier로 자동 보관됨
  • AWS 계정에서 중요한 변경 사항이 발생할 때 알림을 보내는 CloudWatch 알람 설정
  • 각 리전에서 AWS Config를 활성화하여 구성 스냅샷 자동 생성
  • SecurityHub를 활성화하고 사용 가능한 기준을 구독
  • 각 리전에서 GuardDuty 활성화

네트워킹 및 컴퓨팅

  • 모든 리전의 기본 VPC에서 기본 라우팅 테이블, 기본 네트워크 ACL, 기본 보안 그룹과 관련된 모든 규칙 제거
  • 기본 서브넷에서 자동 공용 IP 할당 비활성화
  • 보안 그룹 규칙에서 제한되지 않은 일반 포트를 감사하는 AWS Config 규칙 활성화
  • 모든 리전의 기본 VPC에서 VPC 흐름 로그 활성화
  • 새로 생성되는 볼륨에 대해 기본 EBS 암호화 활성화

Usage```hcl

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 } }

root@kitploit:~
Check [the example](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/examples/simple/regions.tf) to understand how these providers are defined.
Note that you need to define a provider for each AWS region and pass them to the module. Currently this is the recommended way to handle multiple regions in one module.
Detailed information can be found at [Providers within Modules - Terraform Docs].

A new S3 bucket to store audit logs is automatically created by default, while the external S3 bucket can be specified. It is useful when you already have a centralized S3 bucket to store all logs. Please see [external-bucket](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/examples/external-bucket) example for more detail.

### Managing multiple accounts in AWS Organization

When you have multiple AWS accounts in your AWS Organization, `secure-baseline` module configures the separated environment for each AWS account. You can change this behavior to centrally manage security information and audit logs from all accounts in one master account.
Check [organization](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/examples/organization) example for more detail.

## Submodules

This module is composed of several submodules and each of which can be used independently.
[Modules in Package Sub-directories - Terraform] describes how to source a submodule.

- [alarm-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/modules/alarm-baseline)
- [analyzer-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/modules/analyzer-baseline)
- [cloudtrail-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/modules/cloudtrail-baseline)
- [config-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/modules/config-baseline)
- [ebs-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/modules/ebs-baseline)
- [guardduty-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/modules/guardduty-baseline)
- [iam-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/modules/iam-baseline)
- [s3-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/modules/s3-baseline)
- [secure-bucket](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/modules/secure-bucket)
- [securityhub-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/modules/securityhub-baseline)
- [vpc-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/modules/vpc-baseline)

## Compatibility

- Starting from v1.0, this module requires [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v4.0 or later. [Version 1.0 Upgrade Guide](https://github.com/nozaq/terraform-aws-secure-baseline/blob/HEAD/docs/upgrade-1.0.md) described the recommended procedure after the upgrade.
- Starting from v0.20, this module requires [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v3.0 or later. Please use v0.19 if you need to use v2.x or earlier.
- Starting from v0.10, this module requires Terraform v0.12 or later. Please use v0.9 if you need to use Terraform v0.11 or ealier.

<!-- 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 |

## Inputs| 이름 | 설명 | 유형 | 필수 |
|------|-------------|------|:--------:|
| <a name="input_audit_log_bucket_name"></a> [audit\_log\_bucket\_name](#input\_audit\_log\_bucket\_name) | 다양한 감사 로그를 저장할 S3 버킷의 이름. | `string` | 예 |
| <a name="input_aws_account_id"></a> [aws\_account\_id](#input\_aws\_account\_id) | 계정의 AWS 계정 ID 번호. | `string` | 예 |
| <a name="input_region"></a> [region](#input\_region) | 전역 리소스가 설정되는 AWS 리전. | `string` | 예 |
| <a name="input_support_iam_role_principal_arns"></a> [support\_iam\_role\_principal\_arns](#input\_support\_iam\_role\_principal\_arns) | 지원 역할을 수임할 수 있는 IAM 보안 주체 요소의 ARN 목록. | `list(string)` | 예 |
| <a name="input_account_type"></a> [account\_type](#input\_account\_type) | AWS 계정 유형. 가능한 값은 `individual`, `master`, `member` 입니다. 여러 계정의 중앙 로깅을 위해 AWS Organization에서 `master`와 `member`를 지정하세요. 그렇지 않으면 `individual`을 사용하세요. | `string` | 아니오 |
| <a name="input_alarm_baseline_enabled"></a> [alarm\_baseline\_enabled](#input\_alarm\_baseline\_enabled) | 알람 기준선이 활성화되었는지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_alarm_namespace"></a> [alarm\_namespace](#input\_alarm\_namespace) | 모든 알람이 설정되는 네임스페이스. | `string` | 아니오 |
| <a name="input_alarm_sns_topic_kms_master_key_id"></a> [alarm\_sns\_topic\_kms\_master\_key\_id](#input\_alarm\_sns\_topic\_kms\_master\_key\_id) | SNS 주제 암호화를 활성화하려면 암호화에 사용되는 사용자 정의 마스터 KMS 키의 ID를 입력하세요. | `string` | 아니오 |
| <a name="input_alarm_sns_topic_name"></a> [alarm\_sns\_topic\_name](#input\_alarm\_sns\_topic\_name) | 알람이 실행될 때 알림을 받을 SNS 주제의 이름. | `string` | 아니오 |
| <a name="input_allow_users_to_change_password"></a> [allow\_users\_to\_change\_password](#input\_allow\_users\_to\_change\_password) | 사용자가 자신의 암호를 변경할 수 있는지 여부. | `bool` | 아니오 |
| <a name="input_analyzer_baseline_enabled"></a> [analyzer\_baseline\_enabled](#input\_analyzer\_baseline\_enabled) | 분석기 기준선이 활성화되었는지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_analyzer_name"></a> [analyzer\_name](#input\_analyzer\_name) | 생성할 IAM Access Analyzer 리소스의 이름. | `string` | 아니오 |
| <a name="input_audit_log_bucket_access_logs_name"></a> [audit\_log\_bucket\_access\_logs\_name](#input\_audit\_log\_bucket\_access\_logs\_name) | 다양한 감사 로그를 저장할 S3 버킷의 이름. | `string` | 아니오 |
| <a name="input_audit_log_bucket_custom_policy_json"></a> [audit\_log\_bucket\_custom\_policy\_json](#input\_audit\_log\_bucket\_custom\_policy\_json) | 감사 로그 버킷에 대한 정책 재정의. 추가 정책을 추가할 수 있습니다. | `string` | 아니오 |
| <a name="input_audit_log_bucket_force_destroy"></a> [audit\_log\_bucket\_force\_destroy](#input\_audit\_log\_bucket\_force\_destroy) | 버킷을 오류 없이 삭제할 수 있도록 감사 로그 버킷에서 모든 객체를 삭제해야 함을 나타내는 부울 값. 이러한 객체는 복구할 수 없습니다. | `bool` | 아니오 |
| <a name="input_audit_log_bucket_key_enabled"></a> [audit\_log\_bucket\_key\_enabled](#input\_audit\_log\_bucket\_key\_enabled) | 감사 로그 버킷 암호화에 Amazon S3 버킷 키를 사용할지 여부. | `bool` | 아니오 |
| <a name="input_audit_log_lifecycle_glacier_transition_days"></a> [audit\_log\_lifecycle\_glacier\_transition\_days](#input\_audit\_log\_lifecycle\_glacier\_transition\_days) | 로그 생성 후 Glacier로 보관할 때까지의 일수. 0으로 설정하면 전환이 비활성화됩니다. | `number` | 아니오 |
| <a name="input_aws_config_changes_enabled"></a> [aws\_config\_changes\_enabled](#input\_aws\_config\_changes\_enabled) | aws\_config\_changes 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_cloudtrail_baseline_enabled"></a> [cloudtrail\_baseline\_enabled](#input\_cloudtrail\_baseline\_enabled) | cloudtrail-baseline이 활성화되었는지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_cloudtrail_cfg_changes_enabled"></a> [cloudtrail\_cfg\_changes\_enabled](#input\_cloudtrail\_cfg\_changes\_enabled) | cloudtrail\_cfg\_changes 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_cloudtrail_cloudwatch_logs_enabled"></a> [cloudtrail\_cloudwatch\_logs\_enabled](#input\_cloudtrail\_cloudwatch\_logs\_enabled) | 트레일이 CloudWatch Logs로 전달되는지 여부를 지정합니다. | `bool` | 아니오 |
| <a name="input_cloudtrail_cloudwatch_logs_group_name"></a> [cloudtrail\_cloudwatch\_logs\_group\_name](#input\_cloudtrail\_cloudwatch\_logs\_group\_name) | CloudTrail 이벤트가 전달되는 CloudWatch Logs 그룹의 이름. | `string` | 아니오 |
| <a name="input_cloudtrail_dynamodb_event_logging_tables"></a> [cloudtrail\_dynamodb\_event\_logging\_tables](#input\_cloudtrail\_dynamodb\_event\_logging\_tables) | 이벤트 로깅을 활성화할 DynamoDB 테이블 ARN 목록. | `list(string)` | 아니오 |
| <a name="input_cloudtrail_iam_role_name"></a> [cloudtrail\_iam\_role\_name](#input\_cloudtrail\_iam\_role\_name) | CloudTrail이 CloudWatch Logs 그룹으로 로그를 전달하는 데 사용할 IAM 역할의 이름. | `string` | 아니오 |
| <a name="input_cloudtrail_iam_role_policy_name"></a> [cloudtrail\_iam\_role\_policy\_name](#input\_cloudtrail\_iam\_role\_policy\_name) | CloudTrail이 CloudWatch Logs 그룹으로 로그를 전달하는 데 사용할 IAM 역할 정책의 이름. | `string` | 아니오 |
| <a name="input_cloudtrail_key_deletion_window_in_days"></a> [cloudtrail\_key\_deletion\_window\_in\_days](#input\_cloudtrail\_key\_deletion\_window\_in\_days) | 리소스 삭제 후 키가 삭제될 때까지의 일수. 7일에서 30일 사이여야 합니다. 기본값은 30일입니다. | `number` | 아니오 |
| <a name="input_cloudtrail_lambda_invocation_logging_lambdas"></a> [cloudtrail\_lambda\_invocation\_logging\_lambdas](#input\_cloudtrail\_lambda\_invocation\_logging\_lambdas) | 호출 로깅을 활성화할 Lambda ARN 목록. | `list(string)` | 아니오 |
| <a name="input_cloudtrail_name"></a> [cloudtrail\_name](#input\_cloudtrail\_name) | 트레일의 이름. | `string` | 아니오 |
| <a name="input_cloudtrail_s3_key_prefix"></a> [cloudtrail\_s3\_key\_prefix](#input\_cloudtrail\_s3\_key\_prefix) | CloudTrail이 S3 버킷으로 이벤트를 전달할 때 사용되는 접두사. | `string` | 아니오 |
| <a name="input_cloudtrail_s3_object_level_logging_buckets"></a> [cloudtrail\_s3\_object\_level\_logging\_buckets](#input\_cloudtrail\_s3\_object\_level\_logging\_buckets) | 객체 수준 로깅을 활성화할 S3 버킷 ARN 목록. | `list(string)` | 아니오 |
| <a name="input_cloudtrail_sns_topic_enabled"></a> [cloudtrail\_sns\_topic\_enabled](#input\_cloudtrail\_sns\_topic\_enabled) | 트레일이 SNS 주제로 전달되는지 여부를 지정합니다. | `bool` | 아니오 |
| <a name="input_cloudtrail_sns_topic_name"></a> [cloudtrail\_sns\_topic\_name](#input\_cloudtrail\_sns\_topic\_name) | 트레일에 연결할 SNS 주제의 이름. | `string` | 아니오 |
| <a name="input_cloudwatch_logs_retention_in_days"></a> [cloudwatch\_logs\_retention\_in\_days](#input\_cloudwatch\_logs\_retention\_in\_days) | 로그를 보관할 일수. CIS는 365일을 권장합니다. 가능한 값: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653. 0으로 설정하면 로그가 무기한 보관됩니다. | `number` | 아니오 |
| <a name="input_config_aggregator_name"></a> [config\_aggregator\_name](#input\_config\_aggregator\_name) | 조직 AWS Config 구성 수집기의 이름. | `string` | 아니오 |
| <a name="input_config_aggregator_name_prefix"></a> [config\_aggregator\_name\_prefix](#input\_config\_aggregator\_name\_prefix) | 조직 AWS Config 구성 수집기에 연결된 IAM 역할 이름의 접두사. | `string` | 아니오 |
| <a name="input_config_baseline_enabled"></a> [config\_baseline\_enabled](#input\_config\_baseline\_enabled) | config-baseline이 활성화되었는지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_config_delivery_frequency"></a> [config\_delivery\_frequency](#input\_config\_delivery\_frequency) | AWS Config가 S3 버킷으로 스냅샷을 보내는 빈도. | `string` | 아니오 |
| <a name="input_config_global_resources_all_regions"></a> [config\_global\_resources\_all\_regions](#input\_config\_global\_resources\_all\_regions) | 모든 리전에서 전역 리소스를 기록합니다. false인 경우 기본 리전만 전역 리소스를 기록합니다. | `bool` | 아니오 |
| <a name="input_config_iam_role_name"></a> [config\_iam\_role\_name](#input\_config\_iam\_role\_name) | AWS Config가 사용할 IAM 역할의 이름. | `string` | 아니오 |
| <a name="input_config_iam_role_policy_name"></a> [config\_iam\_role\_policy\_name](#input\_config\_iam\_role\_policy\_name) | AWS Config가 사용할 IAM 역할 정책의 이름. | `string` | 아니오 |
| <a name="input_config_s3_bucket_key_prefix"></a> [config\_s3\_bucket\_key\_prefix](#input\_config\_s3\_bucket\_key\_prefix) | AWS Config 스냅샷을 S3 버킷에 쓸 때 사용되는 접두사. | `string` | 아니오 |
| <a name="input_config_sns_topic_kms_master_key_id"></a> [config\_sns\_topic\_kms\_master\_key\_id](#input\_config\_sns\_topic\_kms\_master\_key\_id) | SNS 주제 암호화를 활성화하려면 암호화에 사용되는 사용자 정의 마스터 KMS 키의 ID를 입력하세요. | `string` | 아니오 |
| <a name="input_config_sns_topic_name"></a> [config\_sns\_topic\_name](#input\_config\_sns\_topic\_name) | 구성 변경을 알리는 데 사용할 SNS 주제의 이름. | `string` | 아니오 |
| <a name="input_console_signin_failures_enabled"></a> [console\_signin\_failures\_enabled](#input\_console\_signin\_failures\_enabled) | console\_signin\_failures 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_create_password_policy"></a> [create\_password\_policy](#input\_create\_password\_policy) | 암호 정책을 생성할지 여부를 정의합니다. | `bool` | 아니오 |
| <a name="input_create_support_role"></a> [create\_support\_role](#input\_create\_support\_role) | 지원 역할을 생성할지 여부를 정의합니다. | `bool` | 아니오 |
| <a name="input_disable_or_delete_cmk_enabled"></a> [disable\_or\_delete\_cmk\_enabled](#input\_disable\_or\_delete\_cmk\_enabled) | disable\_or\_delete\_cmk 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_guardduty_disable_email_notification"></a> [guardduty\_disable\_email\_notification](#input\_guardduty\_disable\_email\_notification) | 계정에 이메일 알림을 보낼지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_guardduty_enabled"></a> [guardduty\_enabled](#input\_guardduty\_enabled) | guardduty-baseline 모듈이 활성화 또는 비활성화되었는지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_guardduty_finding_publishing_frequency"></a> [guardduty\_finding\_publishing\_frequency](#input\_guardduty\_finding\_publishing\_frequency) | 후속 발견 항목에 대한 알림 전송 빈도를 지정합니다. | `string` | 아니오 |
| <a name="input_guardduty_invitation_message"></a> [guardduty\_invitation\_message](#input\_guardduty\_invitation\_message) | 초대 메시지. | `string` | 아니오 |
| <a name="input_iam_baseline_enabled"></a> [iam\_baseline\_enabled](#input\_iam\_baseline\_enabled) | iam-baseline이 활성화되었는지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_iam_changes_enabled"></a> [iam\_changes\_enabled](#input\_iam\_changes\_enabled) | iam\_changes 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_master_account_id"></a> [master\_account\_id](#input\_master\_account\_id) | 현재 AWS 계정이 연결된 마스터 AWS 계정의 ID. `account_type`이 `member`인 경우 필수입니다. | `string` | 아니오 |
| <a name="input_max_password_age"></a> [max\_password\_age](#input\_max\_password\_age) | 사용자 암호가 유효한 일수. | `number` | 아니오 |
| <a name="input_member_accounts"></a> [member\_accounts](#input\_member\_accounts) | 멤버 계정으로 연결된 AWS 계정의 ID와 이메일 목록. | <pre>list(object({<br>    account_id = string<br>    email      = string<br>  }))</pre> | 아니오 |
| <a name="input_mfa_console_signin_allow_sso"></a> [mfa\_console\_signin\_allow\_sso](#input\_mfa\_console\_signin\_allow\_sso) | no\_mfa\_console\_signin 알람이 SSO 인증을 무시할 수 있는지 여부를 나타내는 부울 플래그. | `bool` | 아니오 |
| <a name="input_minimum_password_length"></a> [minimum\_password\_length](#input\_minimum\_password\_length) | 사용자 암호에 필요한 최소 길이. | `number` | 아니오 |
| <a name="input_nacl_changes_enabled"></a> [nacl\_changes\_enabled](#input\_nacl\_changes\_enabled) | nacl\_changes 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_network_gw_changes_enabled"></a> [network\_gw\_changes\_enabled](#input\_network\_gw\_changes\_enabled) | network\_gw\_changes 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_no_mfa_console_signin_enabled"></a> [no\_mfa\_console\_signin\_enabled](#input\_no\_mfa\_console\_signin\_enabled) | no\_mfa\_console\_signin 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_organizations_changes_enabled"></a> [organizations\_changes\_enabled](#input\_organizations\_changes\_enabled) | organizations\_changes 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_password_reuse_prevention"></a> [password\_reuse\_prevention](#input\_password\_reuse\_prevention) | 사용자가 재사용하지 못하도록 차단된 이전 암호의 수. | `number` | 아니오 |
| <a name="input_permissions_boundary_arn"></a> [permissions\_boundary\_arn](#input\_permissions\_boundary\_arn) | 이 모듈에서 프로비저닝된 모든 IAM 역할에 대한 권한 경계 ARN. | `string` | 아니오 |
| <a name="input_require_lowercase_characters"></a> [require\_lowercase\_characters](#input\_require\_lowercase\_characters) | 사용자 암호에 소문자가 필요한지 여부. | `bool` | 아니오 |
| <a name="input_require_numbers"></a> [require\_numbers](#input\_require\_numbers) | 사용자 암호에 숫자가 필요한지 여부. | `bool` | 아니오 |
| <a name="input_require_symbols"></a> [require\_symbols](#input\_require\_symbols) | 사용자 암호에 기호가 필요한지 여부. | `bool` | 아니오 |
| <a name="input_require_uppercase_characters"></a> [require\_uppercase\_characters](#input\_require\_uppercase\_characters) | 사용자 암호에 대문자가 필요한지 여부. | `bool` | 아니오 |
| <a name="input_root_usage_enabled"></a> [root\_usage\_enabled](#input\_root\_usage\_enabled) | root\_usage 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_route_table_changes_enabled"></a> [route\_table\_changes\_enabled](#input\_route\_table\_changes\_enabled) | route\_table\_changes 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_s3_baseline_enabled"></a> [s3\_baseline\_enabled](#input\_s3\_baseline\_enabled) | s3-baseline이 활성화되었는지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_s3_block_public_acls"></a> [s3\_block\_public\_acls](#input\_s3\_block\_public\_acls) | Amazon S3가 이 계정의 버킷에 대해 공개 ACL을 차단해야 하는지 여부. 기본값은 true입니다. | `bool` | 아니오 |
| <a name="input_s3_block_public_policy"></a> [s3\_block\_public\_policy](#input\_s3\_block\_public\_policy) | Amazon S3가 이 계정의 버킷에 대해 공개 버킷 정책을 차단해야 하는지 여부. 기본값은 true입니다. | `bool` | 아니오 |
| <a name="input_s3_bucket_policy_changes_enabled"></a> [s3\_bucket\_policy\_changes\_enabled](#input\_s3\_bucket\_policy\_changes\_enabled) | s3\_bucket\_policy\_changes 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_s3_ignore_public_acls"></a> [s3\_ignore\_public\_acls](#input\_s3\_ignore\_public\_acls) | Amazon S3가 이 계정의 버킷에 대해 공개 ACL을 무시해야 하는지 여부. 기본값은 true입니다. | `bool` | 아니오 |
| <a name="input_s3_restrict_public_buckets"></a> [s3\_restrict\_public\_buckets](#input\_s3\_restrict\_public\_buckets) | Amazon S3가 이 계정의 버킷에 대해 공개 버킷 정책을 제한해야 하는지 여부. 기본값은 true입니다. | `bool` | 아니오 |
| <a name="input_security_group_changes_enabled"></a> [security\_group\_changes\_enabled](#input\_security\_group\_changes\_enabled) | security\_group\_changes 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_securityhub_enable_aws_foundational_standard"></a> [securityhub\_enable\_aws\_foundational\_standard](#input\_securityhub\_enable\_aws\_foundational\_standard) | AWS 기반 표준이 활성화되었는지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_securityhub_enable_cis_standard"></a> [securityhub\_enable\_cis\_standard](#input\_securityhub\_enable\_cis\_standard) | CIS 표준이 활성화되었는지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_securityhub_enable_pci_dss_standard"></a> [securityhub\_enable\_pci\_dss\_standard](#input\_securityhub\_enable\_pci\_dss\_standard) | PCI DSS 표준이 활성화되었는지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_securityhub_enable_product_arns"></a> [securityhub\_enable\_product\_arns](#input\_securityhub\_enable\_product\_arns) | Security Hub 제품 ARN 목록입니다. `<REGION>`이 대체됩니다. 목록은 https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-partner-providers.html 를 참조하세요. | `list(string)` | 아니오 |
| <a name="input_securityhub_enabled"></a> [securityhub\_enabled](#input\_securityhub\_enabled) | securityhub-baseline 모듈이 활성화 또는 비활성화되었는지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_support_iam_role_name"></a> [support\_iam\_role\_name](#input\_support\_iam\_role\_name) | 지원 역할의 이름. | `string` | 아니오 |
| <a name="input_tags"></a> [tags](#input\_tags) | 객체 태그 키와 값을 지정합니다. 이는 이 모듈에서 생성된 모든 리소스에 적용됩니다. | `map(string)` | 아니오 |
| <a name="input_target_regions"></a> [target\_regions](#input\_target\_regions) | 이 모듈로 설정할 리전 목록. | `list(string)` | 아니오 |
| <a name="input_turn_off_organization_trail"></a> [turn\_off\_organization\_trail](#input\_turn\_off\_organization\_trail) | 조직 트레일을 비활성화할지 여부를 지정합니다. 조직 트레일은 마스터 계정 및 모든 멤버 계정의 이벤트를 로깅합니다. 조직 마스터 계정에서만 생성할 수 있습니다. | `bool` | 아니오 |
| <a name="input_unauthorized_api_calls_enabled"></a> [unauthorized\_api\_calls\_enabled](#input\_unauthorized\_api\_calls\_enabled) | unauthorized\_api\_calls 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_use_external_audit_log_bucket"></a> [use\_external\_audit\_log\_bucket](#input\_use\_external\_audit\_log\_bucket) | 특정 감사 로그 버킷이 이미 존재하는지 여부를 나타내는 부울 값. false로 설정하면 새 S3 버킷이 생성됩니다. | `bool` | 아니오 |
| <a name="input_vpc_changes_enabled"></a> [vpc\_changes\_enabled](#input\_vpc\_changes\_enabled) | vpc\_changes 알람이 활성화되었는지 여부를 나타내는 부울 플래그. false로 설정하면 리소스가 생성되지 않습니다. | `bool` | 아니오 |
| <a name="input_vpc_enable"></a> [vpc\_enable](#input\_vpc\_enable) | VPC 기준선 모듈을 활성화할지 여부를 나타내는 부울 값. | `bool` | 아니오 |
| <a name="input_vpc_enable_flow_logs"></a> [vpc\_enable\_flow\_logs](#input\_vpc\_enable\_flow\_logs) | 기본 VPC에서 VPC 흐름 로그를 활성화할지 여부를 나타내는 부울 플래그. | `bool` | 아니오 |
| <a name="input_vpc_flow_logs_destination_type"></a> [vpc\_flow\_logs\_destination\_type](#input\_vpc\_flow\_logs\_destination\_type) | 로깅 대상 유형. 유효한 값: cloud-watch-logs, s3 | `string` | 아니오 |
| <a name="input_vpc_flow_logs_log_group_name"></a> [vpc\_flow\_logs\_log\_group\_name](#input\_vpc\_flow\_logs\_log\_group\_name) | VPC 흐름 로그가 전달되는 CloudWatch Logs 그룹의 이름. | `string` | 아니오 |
| <a name="input_vpc_flow_logs_retention_in_days"></a> [vpc\_flow\_logs\_retention\_in\_days](#input\_vpc\_flow\_logs\_retention\_in\_days) | vpc\_log\_destination\_type이 cloud-watch-logs인 경우 로그를 보관할 일수. CIS는 365일을 권장합니다. 가능한 값: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653. 0으로 설정하면 로그가 무기한 보관됩니다. | `number` | 아니오 |
| <a name="input_vpc_flow_logs_s3_arn"></a> [vpc\_flow\_logs\_s3\_arn](#input\_vpc\_flow\_logs\_s3\_arn) | vpc\_log\_destination\_type이 s3인 경우 VPC 흐름 로그가 전달되는 S3 버킷의 ARN. | `string` | 아니오 |
| <a name="input_vpc_flow_logs_s3_key_prefix"></a> [vpc\_flow\_logs\_s3\_key\_prefix](#input\_vpc\_flow\_logs\_s3\_key\_prefix) | VPC 흐름 로그가 S3 버킷으로 로그를 전달할 때 사용되는 접두사. | `string` | 아니오 |
| <a name="input_vpc_iam_role_name"></a> [vpc\_iam\_role\_name](#input\_vpc\_iam\_role\_name) | VPC 흐름 로그가 사용할 IAM 역할의 이름. | `string` | 아니오 |
| <a name="input_vpc_iam_role_policy_name"></a> [vpc\_iam\_role\_policy\_name](#input\_vpc\_iam\_role\_policy\_name) | VPC 흐름 로그가 사용할 IAM 역할 정책의 이름. | `string` | 아니오 |## 출력

| 이름 | 설명 |
|------|-------------|
| <a name="output_alarm_sns_topic"></a> [alarm\_sns\_topic](#output\_alarm\_sns\_topic) | CloudWatch 알람이 전송될 SNS 주제입니다. |
| <a name="output_audit_bucket"></a> [audit\_bucket](#output\_audit\_bucket) | 감사 로그 저장에 사용되는 S3 버킷입니다. |
| <a name="output_cloudtrail"></a> [cloudtrail](#output\_cloudtrail) | 모든 리전에서 이벤트를 기록하는 트레일입니다. |
| <a name="output_cloudtrail_kms_key"></a> [cloudtrail\_kms\_key](#output\_cloudtrail\_kms\_key) | CloudTrail 이벤트 암호화에 사용되는 KMS 키입니다. |
| <a name="output_cloudtrail_log_delivery_iam_role"></a> [cloudtrail\_log\_delivery\_iam\_role](#output\_cloudtrail\_log\_delivery\_iam\_role) | CloudTrail 이벤트를 CloudWatch Logs로 전달하는 데 사용되는 IAM 역할입니다. |
| <a name="output_cloudtrail_log_group"></a> [cloudtrail\_log\_group](#output\_cloudtrail\_log\_group) | CloudTrail 이벤트를 저장하는 CloudWatch Logs 로그 그룹입니다. |
| <a name="output_cloudtrail_sns_topic"></a> [cloudtrail\_sns\_topic](#output\_cloudtrail\_sns\_topic) | cloudtrail에 연결된 SNS 주제입니다. |
| <a name="output_config_configuration_recorder"></a> [config\_configuration\_recorder](#output\_config\_configuration\_recorder) | 각 리전의 구성 기록자입니다. |
| <a name="output_config_iam_role"></a> [config\_iam\_role](#output\_config\_iam\_role) | AWS Config 기록을 CloudWatch Logs로 전달하는 데 사용되는 IAM 역할입니다. |
| <a name="output_config_sns_topic"></a> [config\_sns\_topic](#output\_config\_sns\_topic) | AWS Config가 알림을 전달하는 SNS 주제입니다. |
| <a name="output_default_network_acl"></a> [default\_network\_acl](#output\_default\_network\_acl) | 기본 네트워크 ACL입니다. |
| <a name="output_default_route_table"></a> [default\_route\_table](#output\_default\_route\_table) | 기본 라우팅 테이블입니다. |
| <a name="output_default_security_group"></a> [default\_security\_group](#output\_default\_security\_group) | 기본 보안 그룹의 ID입니다. |
| <a name="output_default_vpc"></a> [default\_vpc](#output\_default\_vpc) | 기본 VPC입니다. |
| <a name="output_guardduty_detector"></a> [guardduty\_detector](#output\_guardduty\_detector) | 각 리전의 GuardDuty 탐지기입니다. |
| <a name="output_support_iam_role"></a> [support\_iam\_role](#output\_support\_iam\_role) | 지원 사용자에 사용되는 IAM 역할입니다. |
| <a name="output_vpc_flow_logs_group"></a> [vpc\_flow\_logs\_group](#output\_vpc\_flow\_logs\_group) | 각 리전에서 VPC 흐름 로그를 저장하는 CloudWatch Logs 로그 그룹입니다. |
| <a name="output_vpc_flow_logs_iam_role"></a> [vpc\_flow\_logs\_iam\_role](#output\_vpc\_flow\_logs\_iam\_role) | VPC 흐름 로그를 CloudWatch Logs로 전달하는 데 사용되는 IAM 역할입니다. |
<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->

[cis amazon web services foundations v1.4.0]: https://www.cisecurity.org/benchmark/amazon_web_services/
[aws foundational security best practices v1.0.0]: https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html
[providers within modules - terraform docs]: https://www.terraform.io/docs/modules/usage.html#providers-within-modules
[modules in package sub-directories - terraform]: https://www.terraform.io/docs/modules/sources.html#modules-in-package-sub-directories
도구 다운로드