@@ -34,6 +34,21 @@ To update the source for this module, pass `-upgrade` to `tofu init`:
3434tofu init -upgrade
3535```
3636
37+ ### Malware protection
38+
39+ When ` enable_malware_protection ` is set to ` true ` (the default), the module will
40+ create a [ GuardDuty Malware Protection] [ guardduty-malware ] plan, along with the
41+ neccassry IAM role for it to access the created bucket.
42+
43+ When new objects are uploaded to the bucket, they will be tagged with
44+ ` GuardDutyMalwareScanStatus ` which can have one of the following values:
45+ ` ACCESS_DENIED ` , ` FAILED ` , ` NO_THREATS_FOUND ` , ` THREATS_FOUND ` , and
46+ ` UNSUPPORTED ` . For more information on what these values mean, see the
47+ [ documentation on potential scan status] [ scan-statuses ] .
48+
49+ You can use [ Amazon EventBridge rules] [ malware-eventbridge ] to respond
50+ appropraitly to different scan results.
51+
3752## Inputs
3853
3954| Name | Description | Type | Default | Required |
@@ -74,12 +89,13 @@ different storage classes, see the [Amazon S3 documentation][storage-class].
7489
7590## Outputs
7691
77- | Name | Description | Type |
78- | ------------------ | ------------------------------------------------------------------------------- | -------- |
79- | bucket_name | Name of the created bucket. | ` string ` |
80- | bucket_arn | Full ARN of the created bucket. | ` string ` |
81- | bucket_domain_name | Domain name of the created bucket, in the format ` bucketname.s3.amazonaws.com ` . | ` string ` |
82- | kms_key_arn | ARN of the KMS key used for bucket encryption. | ` string ` |
92+ | Name | Description | Type |
93+ | --------------------------- | ------------------------------------------------------------------------------- | -------- |
94+ | bucket_name | Name of the created bucket. | ` string ` |
95+ | bucket_arn | Full ARN of the created bucket. | ` string ` |
96+ | bucket_domain_name | Domain name of the created bucket, in the format ` bucketname.s3.amazonaws.com ` . | ` string ` |
97+ | kms_key_arn | ARN of the KMS key used for bucket encryption. | ` string ` |
98+ | malware_protection_plan_arn | ARN of the GuardDuty malware protection plan, if malware protection is enabled. | ` string ` |
8399
84100## Contributing
85101
@@ -88,6 +104,9 @@ repository.
88104
89105[ badge-release ] : https://img.shields.io/github/v/release/codeforamerica/tofu-modules-aws-s3-uploads-bucket?logo=github&label=Latest%20Release
90106[ contributing ] : CONTRIBUTING.md
107+ [ guardduty-malware ] : https://docs.aws.amazon.com/guardduty/latest/ug/configuring-malware-protection-for-s3-guardduty.html
91108[ latest-release ] : https://github.com/codeforamerica/tofu-modules-aws-s3-uploads-bucket/releases/latest
109+ [ malware-eventbridge ] : https://docs.aws.amazon.com/guardduty/latest/ug/monitor-with-eventbridge-s3-malware-protection.html
110+ [ scan-statuses ] : https://docs.aws.amazon.com/guardduty/latest/ug/monitoring-malware-protection-s3-scans-gdu.html#s3-object-scan-result-value-malware-protection
92111[ storage-class ] : https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
93112[ storage_class_transitions ] : #storage_class_transitions
0 commit comments