All checks
Medium EMR · regional

Amazon EMR security configurations should have encryption in transit enabled

Checks that the EMR security configuration enables in-transit encryption, which turns on TLS for the open-source applications that support it; a configuration without it fails, whether or not a cluster uses it. Encrypting data as it moves between nodes and applications stops someone on the network from reading it.

service
EMR
severity
Medium
scope
evaluated in every region

How to fix it

  • Replaces the resource: A security configuration cannot be edited and a cluster keeps the one it launched with, so create a new one, launch new clusters with it, then delete this one.
  • Affects another check: The new configuration is read by EMR.3 too, which fails it unless at-rest encryption is also turned on.

In the console

Amazon EMR → Security Configurations → Create security configuration → Encryption

In-transit encryption
Turned on
Certificate provider type
EMR-managed (release 7.11.0 or later), or PEM with a zip of certificates in S3

With the AWS CLI

aws emr create-security-configuration --name <new-security-configuration-name> --security-configuration '{"EncryptionConfiguration":{"EnableInTransitEncryption":true,"InTransitEncryptionConfiguration":{"TLSCertificateConfiguration":{"CertificateProviderType":"EMR"}}}}' --region <region>

With Terraform

resource "aws_emr_security_configuration" "this" {
  name = var.security_configuration_name

  configuration = jsonencode({
    EncryptionConfiguration = {
      EnableInTransitEncryption = true
      InTransitEncryptionConfiguration = {
        TLSCertificateConfiguration = {
          CertificateProviderType = "EMR"
        }
      }
    }
  })
}

See which of your accounts this check is failing on.

Book a live scan