Neptune DB clusters should have IAM database authentication enabled
Checks that a Neptune DB cluster has IAM database authentication enabled, so every request is authenticated with IAM credentials and signed with AWS Signature Version 4, instead of being accepted from anyone who can reach the cluster on the network. Clients then need an IAM policy that allows neptune-db actions on the cluster.
- service
- Neptune
- severity
- Medium
- scope
- evaluated in every region
How to fix it
- Can break clients: Once it is on, every request must be signed with AWS Signature Version 4, so move each client to signed requests first or it is refused.
- Interrupts service: Turning it on restarts the DB engine, which ends every open connection to the cluster and briefly interrupts availability.
- Affects another check: RDS.12 reads the same setting on this cluster, so turning it on here clears that finding too.
In the console
Neptune → Databases → the DB cluster → Actions → Modify → Additional settings
- IAM DB Authentication
- Turn on IAM Authentication
- Scheduling of modifications
- Apply immediately at a quiet time, or wait for the next maintenance window
With the AWS CLI
aws neptune modify-db-cluster --db-cluster-identifier <db-cluster-identifier> --enable-iam-database-authentication --apply-immediately --region <region>With Terraform
resource "aws_neptune_cluster" "this" {
cluster_identifier = var.cluster_identifier
iam_database_authentication_enabled = true
}
See which of your accounts this check is failing on.
Book a live scan