guardduty

cloudposse/guardduty/aws

Terraform Module HCL AWS

Terraform module to provision AWS Guard Duty

Install
module "guardduty" {
source = "cloudposse/guardduty/aws"
version = "1.0.0"
}
plain text: /constructs/tfmod-cloudposse-guardduty-aws/install.txt
⭐ Source on GitHub 📦 Registry page
README

This module enables AWS GuardDuty in one region of one account with comprehensive threat detection features and optionally sets up an SNS topic to receive notifications of its findings. The module supports enabling various GuardDuty detector features including: - S3 Data Events Protection - Monitors S3 data plane operations for suspicious activity - EKS Audit Logs - Analyzes Kubernetes audit logs for threat detection in EKS clusters - EBS Malware Protection - Scans EC2 instance EBS volumes for malware - Lambda Network Logs - Monitors Lambda function network activity for threats - Runtime Monitoring - Provides threat detection for EC2, ECS, and EKS runtime environments with agent management - EKS Runtime Monitoring - Standalone EKS runtime threat detection (alternative to full Runtime Monit

Inputs (31)
NameTypeDescriptionDefault
cloudwatch_event_rule_pattern_detail_typestringThe detail-type pattern used to match events that will be sent to SNS. For more"GuardDuty Finding"
kubernetes_audit_logs_enabledboolIf `true`, enables Kubernetes audit logs as a data source for Kubernetes protectfalse
malware_protection_scan_ec2_ebs_volumes_enabledboolConfigure whether Malware Protection is enabled as data source for EC2 instancesfalse
enabledboolSet to false to prevent the module from creating any resourcesnull
environmentstringID element. Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'stnull
lambda_network_logs_enabledboolIf `true`, enables Lambda network logs as a data source for Lambda protection. false
eks_runtime_monitoring_enabledboolIf `true`, enables EKS Runtime Monitoring. Note: Do not enable both EKS_RUNTIME_false
finding_publishing_frequencystringThe frequency of notifications sent for finding occurrences. If the detector is null
contextanySingle object for setting entire context at once. See description of individual { "additional_tag_map": {}, "attribu
attributeslist(string)ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`, []
tagsmap(string)Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`). Neither the tag keys nor the t{}
additional_tag_mapmap(string)Additional key-value pairs to add to each map in `tags_as_list_of_maps`. Not add{}
label_value_casestringControls the letter case of ID elements (labels) as included in `id`, set as tagnull
create_sns_topicboolFlag to indicate whether an SNS topic should be created for notifications. If yofalse
descriptor_formatsanyDescribe additional descriptors to be output in the `descriptors` output map. Ma{}
tenantstringID element _(Rarely used, not included by default)_. A customer identifier, indinull
subscribersmap(object({ protocol A map of subscription configurations for SNS topics For more information, see: {}
findings_notification_arnstringThe ARN for an SNS topic to send findings notifications to. This is only used ifnull
labels_as_tagsset(string)Set of labels (ID elements) to include as tags in the `tags` output. Default is [ "default" ]
namespacestringID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp'null
Outputs (3)
guardduty_detector — GuardDuty detector
sns_topic — SNS topic
sns_topic_subscriptions — SNS topic subscriptions
Resources (5)
aws_cloudwatch_event_ruleaws_cloudwatch_event_targetaws_guardduty_detectoraws_guardduty_detector_featureaws_sns_topic_policy
Details
FrameworkTerraform Module
LanguageHCL
Version1.0.0
Cloud AWS
★ Stars31
Forks32
Total downloads2.2M
Inputs31
Outputs3
Resources5
Examples1
LicenseApache-2.0
Namespacecloudposse
Updated