NIS2 (Directive 2022/2555, Art. 21) & GDPR (Reg. 2016/679, Art. 32 & 44)
This scan surfaced 52 compliance findings across 5 file(s). Each finding is a Checkov control failure mapped to one or more NIS2 / GDPR articles. The table below counts, per framework, the distinct articles with at least one open finding and the total findings citing that framework.
| Framework | Articles with open findings | Total findings |
|---|---|---|
| NIS2 | 5 | 45 |
| GDPR | 4 | 32 |
OPEN — 9 finding(s)
| Severity | Resource | Location | Failed control |
|---|---|---|---|
| MEDIUM | aws_vpc.main | /network.tf:2-11 | CKV2_AWS_11Ensure VPC flow logging is enabled in all VPCs |
| MEDIUM | aws_db_instance.main | /rds.tf:2-30 | CKV2_AWS_30Ensure Postgres RDS as aws_db_instance has Query Logging enabled |
| MEDIUM | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_118Ensure that enhanced monitoring is enabled for Amazon RDS instances |
| MEDIUM | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_129Ensure that respective logs of Amazon Relational Database Service (Amazon RDS) are enabled |
| LOW | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_353Ensure that RDS instances have performance insights enabled |
| LOW | aws_s3_bucket.data | /s3.tf:2-9 | CKV2_AWS_62Ensure S3 buckets should have event notifications enabled |
| LOW | aws_s3_bucket.logs | /s3.tf:22-28 | CKV2_AWS_62Ensure S3 buckets should have event notifications enabled |
| MEDIUM | aws_s3_bucket.data | /s3.tf:2-9 | CKV_AWS_18Ensure the S3 bucket has access logging enabled |
| MEDIUM | aws_s3_bucket.logs | /s3.tf:22-28 | CKV_AWS_18Ensure the S3 bucket has access logging enabled |
Mapping rationale: docs/nis2-mapping.md
OPEN — 10 finding(s)
| Severity | Resource | Location | Failed control |
|---|---|---|---|
| LOW | aws_db_instance.main | /rds.tf:2-30 | CKV2_AWS_60Ensure RDS instance with copy tags to snapshots is enabled |
| HIGH | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_133Ensure that RDS instances has backup policy |
| MEDIUM | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_157Ensure that RDS instances have Multi-AZ enabled |
| MEDIUM | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_293Ensure that AWS database instances have deletion protection enabled |
| LOW | aws_s3_bucket.data | /s3.tf:2-9 | CKV2_AWS_61Ensure that an S3 bucket has a lifecycle configuration |
| LOW | aws_s3_bucket.logs | /s3.tf:22-28 | CKV2_AWS_61Ensure that an S3 bucket has a lifecycle configuration |
| MEDIUM | aws_s3_bucket.data | /s3.tf:2-9 | CKV_AWS_144Ensure that S3 bucket has cross-region replication enabled |
| MEDIUM | aws_s3_bucket.logs | /s3.tf:22-28 | CKV_AWS_144Ensure that S3 bucket has cross-region replication enabled |
| MEDIUM | aws_s3_bucket.data | /s3.tf:2-9 | CKV_AWS_21Ensure all data stored in the S3 bucket have versioning enabled |
| MEDIUM | aws_s3_bucket.logs | /s3.tf:22-28 | CKV_AWS_21Ensure all data stored in the S3 bucket have versioning enabled |
Mapping rationale: docs/nis2-mapping.md
OPEN — 2 finding(s)
| Severity | Resource | Location | Failed control |
|---|---|---|---|
| MEDIUM | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_226Ensure DB instance gets all minor upgrades automatically |
| CRITICAL | aws_db_instance.main | /rds.tf:2-30 | EUGUARD_NIS2_001Ensure secrets are not hardcoded in Terraform (use variables/Secrets Manager) |
Mapping rationale: docs/nis2-mapping.md
OPEN — 3 finding(s)
| Severity | Resource | Location | Failed control |
|---|---|---|---|
| HIGH | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_16Ensure all data stored in the RDS is securely encrypted at rest |
| HIGH | aws_s3_bucket.data | /s3.tf:2-9 | CKV_AWS_145Ensure that S3 buckets are encrypted with KMS by default |
| HIGH | aws_s3_bucket.logs | /s3.tf:22-28 | CKV_AWS_145Ensure that S3 buckets are encrypted with KMS by default |
Mapping rationale: docs/nis2-mapping.md
OPEN — 21 finding(s)
| Severity | Resource | Location | Failed control |
|---|---|---|---|
| HIGH | aws_iam_user.app_user | /iam.tf:2-8 | CKV_AWS_273Ensure access is controlled through SSO and not AWS IAM defined users |
| CRITICAL | aws_iam_user_policy.app_user_policy | /iam.tf:11-29 | CKV_AWS_287Ensure IAM policies does not allow credentials exposure |
| CRITICAL | aws_iam_user_policy.app_user_policy | /iam.tf:11-29 | CKV_AWS_288Ensure IAM policies does not allow data exfiltration |
| CRITICAL | aws_iam_user_policy.app_user_policy | /iam.tf:11-29 | CKV_AWS_289Ensure IAM policies does not allow permissions management / resource exposure without constraints |
| CRITICAL | aws_iam_role_policy.app_role_policy | /iam.tf:53-67 | CKV_AWS_289Ensure IAM policies does not allow permissions management / resource exposure without constraints |
| HIGH | aws_iam_user_policy.app_user_policy | /iam.tf:11-29 | CKV_AWS_290Ensure IAM policies does not allow write access without constraints |
| HIGH | aws_iam_role_policy.app_role_policy | /iam.tf:53-67 | CKV_AWS_290Ensure IAM policies does not allow write access without constraints |
| HIGH | aws_iam_user_policy.app_user_policy | /iam.tf:11-29 | CKV_AWS_355Ensure no IAM policies documents allow "*" as a statement's resource for restrictable actions |
| HIGH | aws_iam_role_policy.app_role_policy | /iam.tf:53-67 | CKV_AWS_355Ensure no IAM policies documents allow "*" as a statement's resource for restrictable actions |
| MEDIUM | aws_iam_user_policy.app_user_policy | /iam.tf:11-29 | CKV_AWS_40Ensure IAM policies are attached only to groups or roles (Reducing access management complexity may in-turn reduce opportunity for a principal to inadvertently receive or retain excessive privileges.) |
| MEDIUM | aws_vpc.main | /network.tf:2-11 | CKV2_AWS_12Ensure the default security group of every VPC restricts all traffic |
| LOW | aws_security_group.web | /network.tf:61-93 | CKV2_AWS_5Ensure that Security Groups are attached to another resource |
| MEDIUM | aws_subnet.public_a | /network.tf:14-24 | CKV_AWS_130Ensure VPC subnets do not assign public IP by default |
| MEDIUM | aws_subnet.public_b | /network.tf:26-36 | CKV_AWS_130Ensure VPC subnets do not assign public IP by default |
| LOW | aws_security_group.rds | /network.tf:96-119 | CKV_AWS_23Ensure every security group and rule has a description |
| HIGH | aws_security_group.web | /network.tf:61-93 | CKV_AWS_24Ensure no security groups allow ingress from 0.0.0.0:0 to port 22 |
| MEDIUM | aws_security_group.web | /network.tf:61-93 | CKV_AWS_260Ensure no security groups allow ingress from 0.0.0.0:0 to port 80 |
| MEDIUM | aws_security_group.web | /network.tf:61-93 | CKV_AWS_382Ensure no security groups allow egress from 0.0.0.0:0 to port -1 |
| MEDIUM | aws_security_group.rds | /network.tf:96-119 | CKV_AWS_382Ensure no security groups allow egress from 0.0.0.0:0 to port -1 |
| MEDIUM | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_161Ensure RDS database has IAM authentication enabled |
| CRITICAL | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_17Ensure all data stored in RDS is not publicly accessible |
Mapping rationale: docs/nis2-mapping.md
OPEN — 3 finding(s)
| Severity | Resource | Location | Failed control |
|---|---|---|---|
| HIGH | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_16Ensure all data stored in the RDS is securely encrypted at rest |
| HIGH | aws_s3_bucket.data | /s3.tf:2-9 | CKV_AWS_145Ensure that S3 buckets are encrypted with KMS by default |
| HIGH | aws_s3_bucket.logs | /s3.tf:22-28 | CKV_AWS_145Ensure that S3 buckets are encrypted with KMS by default |
Mapping rationale: docs/gdpr-mapping.md
OPEN — 21 finding(s)
| Severity | Resource | Location | Failed control |
|---|---|---|---|
| CRITICAL | aws_iam_user_policy.app_user_policy | /iam.tf:11-29 | CKV_AWS_287Ensure IAM policies does not allow credentials exposure |
| CRITICAL | aws_iam_user_policy.app_user_policy | /iam.tf:11-29 | CKV_AWS_288Ensure IAM policies does not allow data exfiltration |
| CRITICAL | aws_iam_user_policy.app_user_policy | /iam.tf:11-29 | CKV_AWS_289Ensure IAM policies does not allow permissions management / resource exposure without constraints |
| CRITICAL | aws_iam_role_policy.app_role_policy | /iam.tf:53-67 | CKV_AWS_289Ensure IAM policies does not allow permissions management / resource exposure without constraints |
| HIGH | aws_iam_user_policy.app_user_policy | /iam.tf:11-29 | CKV_AWS_290Ensure IAM policies does not allow write access without constraints |
| HIGH | aws_iam_role_policy.app_role_policy | /iam.tf:53-67 | CKV_AWS_290Ensure IAM policies does not allow write access without constraints |
| HIGH | aws_iam_user_policy.app_user_policy | /iam.tf:11-29 | CKV_AWS_355Ensure no IAM policies documents allow "*" as a statement's resource for restrictable actions |
| HIGH | aws_iam_role_policy.app_role_policy | /iam.tf:53-67 | CKV_AWS_355Ensure no IAM policies documents allow "*" as a statement's resource for restrictable actions |
| MEDIUM | aws_subnet.public_a | /network.tf:14-24 | CKV_AWS_130Ensure VPC subnets do not assign public IP by default |
| MEDIUM | aws_subnet.public_b | /network.tf:26-36 | CKV_AWS_130Ensure VPC subnets do not assign public IP by default |
| HIGH | aws_security_group.web | /network.tf:61-93 | CKV_AWS_24Ensure no security groups allow ingress from 0.0.0.0:0 to port 22 |
| MEDIUM | aws_db_instance.main | /rds.tf:2-30 | CKV2_AWS_30Ensure Postgres RDS as aws_db_instance has Query Logging enabled |
| MEDIUM | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_161Ensure RDS database has IAM authentication enabled |
| CRITICAL | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_17Ensure all data stored in RDS is not publicly accessible |
| CRITICAL | aws_db_instance.main | /rds.tf:2-30 | EUGUARD_NIS2_001Ensure secrets are not hardcoded in Terraform (use variables/Secrets Manager) |
| HIGH | aws_s3_bucket.data | /s3.tf:2-9 | CKV2_AWS_6Ensure that S3 bucket has a Public Access block |
| HIGH | aws_s3_bucket.logs | /s3.tf:22-28 | CKV2_AWS_6Ensure that S3 bucket has a Public Access block |
| HIGH | aws_s3_bucket_public_access_block.data | /s3.tf:12-19 | CKV_AWS_53Ensure S3 bucket has block public ACLS enabled |
| HIGH | aws_s3_bucket_public_access_block.data | /s3.tf:12-19 | CKV_AWS_54Ensure S3 bucket has block public policy enabled |
| HIGH | aws_s3_bucket_public_access_block.data | /s3.tf:12-19 | CKV_AWS_55Ensure S3 bucket has ignore public ACLs enabled |
| HIGH | aws_s3_bucket_public_access_block.data | /s3.tf:12-19 | CKV_AWS_56Ensure S3 bucket has 'restrict_public_buckets' enabled |
Mapping rationale: docs/gdpr-mapping.md
OPEN — 7 finding(s)
| Severity | Resource | Location | Failed control |
|---|---|---|---|
| HIGH | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_133Ensure that RDS instances has backup policy |
| MEDIUM | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_157Ensure that RDS instances have Multi-AZ enabled |
| MEDIUM | aws_db_instance.main | /rds.tf:2-30 | CKV_AWS_293Ensure that AWS database instances have deletion protection enabled |
| MEDIUM | aws_s3_bucket.data | /s3.tf:2-9 | CKV_AWS_144Ensure that S3 bucket has cross-region replication enabled |
| MEDIUM | aws_s3_bucket.logs | /s3.tf:22-28 | CKV_AWS_144Ensure that S3 bucket has cross-region replication enabled |
| MEDIUM | aws_s3_bucket.data | /s3.tf:2-9 | CKV_AWS_21Ensure all data stored in the S3 bucket have versioning enabled |
| MEDIUM | aws_s3_bucket.logs | /s3.tf:22-28 | CKV_AWS_21Ensure all data stored in the S3 bucket have versioning enabled |
Mapping rationale: docs/gdpr-mapping.md
OPEN — 1 finding(s)
| Severity | Resource | Location | Failed control |
|---|---|---|---|
| HIGH | aws.default | /main.tf:11-13 | EUGUARD_GDPR_001Ensure the AWS provider region is in the EU (GDPR data residency, Art. 44-49) |
Mapping rationale: docs/gdpr-mapping.md