For the complete documentation index, see llms.txt. This page is also available as Markdown.
Cortex CloudApplication Security

Neptune is not encrypted with KMS using a customer managed Key (CMK) misconfiguration detected in co

Rule Details

Cortex AppSec Rule ID

APPSEC_AWS_347

Category - Subcategory

Storage - Encryption

Provider

AWS

Severity

HIGH

Framework

Terraform, Terraform Plan

Impact

This rule is verifying that the Amazon Neptune database is encrypted using a Customer Managed Key (CMK) from AWS Key Management Services (KMS). Neptune is a fast, reliable graph database service by AWS which makes it simple and efficient to build and run applications that operate with highly connected datasets. The main function of the rule is to ensure that the aforementioned database is encrypted for enhanced security.

Not implementing this policy is considered bad because it can expose sensitive data stored in the Neptune database. By using a CMK, the user has full control over the key access and usage, providing an additional layer of security and a greater control than the default Amazon-managed keys. Unencrypted data or data encrypted with less controlled keys can put data at risk from malicious attacks, and could potentially lead to legal or reputational damage if the data is confidential or personal.

How to Fix

Resource: aws_neptune_cluster

  • Arguments: kms_key_arn

To fix this issue, you need to encrypt your Neptune database with a KMS Key by setting the kms_key_arn parameter in the aws_neptune_cluster resource block. [source,go]

resource "aws_neptune_cluster" "default" { cluster_identifier = "neptune-cluster-demo" engine = "neptune" backup_retention_period = 5 preferred_backup_window = "07:00-09:00" skip_final_snapshot = true iam_database_authentication_enabled = true kms_key_arn = "arn:aws:kms:us-west-2:123456789012:key/abcd1234a1234deaa1234fgha12345678" }

Last updated

Was this helpful?