A simple, easy-to-use Terraform module for provisioning and configuring AWS Security Hub.
- ✅ Enable AWS Security Hub
- ✅ Configure security standards (AWS Foundational, CIS, PCI DSS)
- ✅ Create custom insights
- ✅ Simple and beginner-friendly
- ✅ Well-documented and tested
module "security_hub" {
source = "dc0c/security-hub/aws"
enable_default_standards = true
}module "security_hub" {
source = "dc0c/security-hub/aws"
enable_default_standards = true
enable_aws_foundational_standard = true
enable_cis_standard = true
enable_pci_dss_standard = false
custom_insights = {
"high-severity-findings" = {
account_filter = "123456789012"
severity = "HIGH"
group_by = "ResourceId"
}
}
tags = {
Environment = "production"
Team = "security"
}
}| Name | Version |
|---|---|
| terraform | >= 1.12.0 |
| aws | >= 6.0.0 |
| Name | Version |
|---|---|
| aws | >= 6.0.0 |
| Name | Type |
|---|---|
| aws_securityhub_account.main | resource |
| aws_securityhub_standards_subscription.aws_foundational | resource |
| aws_securityhub_standards_subscription.cis | resource |
| aws_securityhub_standards_subscription.pci_dss | resource |
| aws_securityhub_insight.custom_insights | resource |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| enable_default_standards | Whether to enable default security standards when Security Hub is enabled | bool |
true |
no |
| enable_aws_foundational_standard | Whether to enable AWS Foundational Security Standard | bool |
true |
no |
| enable_cis_standard | Whether to enable CIS AWS Foundations Benchmark standard | bool |
false |
no |
| enable_pci_dss_standard | Whether to enable PCI DSS standard | bool |
false |
no |
| custom_insights | Map of custom Security Hub insights to create | map(object({account_filter = string, severity = string, group_by = string})) |
{} |
no |
| tags | A map of tags to assign to the resources | map(string) |
{} |
no |
| Name | Description |
|---|---|
| security_hub_account_id | The AWS account ID where Security Hub is enabled |
| security_hub_arn | The ARN of the Security Hub account |
| enabled_standards | List of enabled security standards |
| custom_insights_ids | Map of custom insight names to their IDs |
See the (./examples) directory for complete usage examples.
Please read (CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the (LICENSE) file for details.
- NVX-11 -(https://github.com/NVX-11)
- AWS Security Hub documentation
- Terraform AWS Provider documentation