Opções de criptografia do Amazon EMR - Amazon EMR

Opções de criptografia do Amazon EMR

Com a versão 4.8.0 ou posteriores do Amazon EMR, é possível usar uma configuração de segurança para especificar configurações de criptografia de dados em repouso, dados em trânsito ou ambos. Ao habilitar a criptografia de dados em repouso, você tem a opção de criptografar dados do EMRFS no Amazon S3, dados em discos locais ou ambos. Cada configuração de segurança que você cria é armazenada no Amazon EMR, e não na configuração do cluster. Dessa forma, você pode facilmente reutilizar uma configuração para especificar as configurações de criptografia de dados sempre que criar um cluster. Para ter mais informações, consulte Como criar uma configuração de segurança com o console do Amazon EMR ou a AWS CLI.

O diagrama a seguir mostra as diferentes opções de criptografia de dados disponíveis com as configurações de segurança.

Há várias opções de criptografia em trânsito e em repouso disponíveis no Amazon EMR.

As seguintes opções de criptografia também estão disponíveis e não são configuradas usando uma configuração de segurança:

  • Se preferir, com as versões 4.1.0 e posteriores do Amazon EMR, você pode optar por configurar uma criptografia transparente no HDFS. Para obter mais informações, consulte Transparent encryption in HDFS on Amazon EMR no Guia de lançamento do Amazon EMR.

  • Se estiver usando uma versão do Amazon EMR que não seja compatível com as configurações de segurança, você poderá configurar a criptografia para dados do EMRFS no Amazon S3 manualmente. Para obter mais informações, consulte Specifying Amazon S3 encryption using EMRFS properties.

  • Se você estiver usando uma versão do Amazon EMR anterior à 5.24.0, só haverá suporte para volumes de dispositivo raiz do EBS criptografados ao usar uma AMI personalizada. Para obter mais informações, consulte Creating a custom AMI with an encrypted Amazon EBS root device volume no Guia de gerenciamento do Amazon EMR.

nota

A partir do Amazon EMR versão 5.24.0, você pode usar a opção de criptografia de segurança para criptografar o dispositivo raiz do EBS e os volumes de armazenamento especificando o AWS KMS como provedor de chaves. Para ter mais informações, consulte Criptografia de disco local.

A criptografia de dados requer chaves e certificados. Uma configuração de segurança dá flexibilidade para escolher entre várias opções, incluindo chaves gerenciadas pelo AWS Key Management Service, chaves gerenciadas pelo Amazon S3 e chaves e certificados de provedores personalizados que você fornece. Ao usar o AWS KMS como seu provedor de chaves, cobranças são aplicáveis pelo armazenamento e uso de chaves de criptografia. Para obter mais informações, consulte Preços do AWS KMS.

Antes de especificar opções de criptografia, decida quais sistemas de gerenciamento de chaves e certificados você deseja usar, para poder primeiro criar as chaves e os certificados ou os provedores personalizados especificados como parte das configurações de criptografia.

Criptografia em repouso para dados do EMRFS no Amazon S3

A criptografia do Amazon S3 funciona com objetos do Amazon EMR File System (EMRFS) lidos e gravados no Amazon S3. Você especifica a criptografia do lado do servidor (SSE) ou a criptografia do lado do cliente (CSE) do Amazon S3 como o modo de criptografia padrão ao habilitar a criptografia em repouso. Opcionalmente, você pode especificar diferentes métodos de criptografia para buckets individuais usando Per bucket encryption overrides (Substituições de criptografia por bucket). Independentemente de a criptografia do Amazon S3 estar habilitada, o Transport Layer Security (TLS) criptografa os objetos do EMRFS em trânsito entre os nós do cluster do EMR e o Amazon S3. Para obter mais informações sobre criptografia no Amazon S3, consulte Protecting data using encryption no Guia do usuário do Amazon Simple Storage Service.

nota

Quando você usa o AWS KMS, cobranças são aplicáveis ao armazenamento e ao uso de chaves de criptografia. Para obter mais informações, consulte Preços do AWS KMS.

Criptografia do lado do servidor do Amazon S3

Quando você configura a criptografia do lado do servidor do Amazon S3, o Amazon S3 criptografa os dados no nível do objeto à medida que os grava no disco e os descriptografa quando são acessados. Para ter mais informações sobre o SSE, consulte Proteger os dados usando criptografia do lado do servidor no Guia do usuário do Amazon Simple Storage Service.

Você pode escolher entre dois sistemas de gerenciamento de chaves diferentes ao especificar a SSE no Amazon EMR:

  • SSE-S3: o Amazon S3 gerencia as chaves para você.

  • SSE-KMS: use uma AWS KMS key para configurar políticas apropriadas para o Amazon EMR. Para obter mais informações sobre os requisitos de chave do Amazon EMR, consulte Using AWS KMS keys for encryption.

A SSE com chaves fornecidas pelo cliente (SSE-C) não está disponível para o uso com o Amazon EMR.

Criptografia do lado do cliente do Amazon S3

Com a criptografia do lado do cliente do Amazon S3, a criptografia e a descriptografia do Amazon S3 ocorrem no cliente do EMRFS em seu cluster. Os objetos são criptografados antes de serem carregados no Amazon S3 e descriptografados após serem baixados. O provedor especificado por você fornece a chave de criptografia que o cliente usa. O cliente pode usar chaves fornecidas pelo AWS KMS (CSE-KMS) ou uma classe Java personalizada que fornece a chave raiz do lado do cliente (CSE-C). As especificações de criptografia são ligeiramente diferentes entre a CSE-KMS e a CSE-C, dependendo do provedor especificado e dos metadados do objeto que está sendo descriptografado ou criptografado. Para obter mais informações sobre essas diferenças, consulte Proteger dados usando a criptografia do lado do cliente no Guia do usuário do Amazon Simple Storage Service.

nota

A CSE do Amazon S3 garante somente que os dados do EMRFS trocados com o Amazon S3 sejam criptografados. Não são todos os dados nos volumes de instâncias do cluster que são criptografados. Além disso, como o Hue não usa o EMRFS, os objetos que o navegador de arquivos do S3 para Hue grava no Amazon S3 não são criptografados.

Criptografia em repouso para dados no Amazon EMR WAL

Ao configurar a criptografia do lado do servidor (SSE) para registro em log com gravação antecipada (WAL), o Amazon EMR criptografa dados em repouso. Você pode escolher entre dois sistemas de gerenciamento de chaves diferentes ao especificar a SSE no Amazon EMR:

SSE-EMR-WAL

O Amazon EMR gerencia as chaves para você. Por padrão, o Amazon EMR criptografa os dados armazenados no Amazon EMR WAL com SSE-EMR-WAL.

SSE-KMS-WAL

Você usa uma chave do AWS KMS para configurar políticas que se aplicam ao Amazon EMR WAL. Para obter mais informações sobre os requisitos de chave do Amazon EMR, consulte Usar AWS KMS keys para criptografia.

Você não pode usar sua própria chave com o SSE ao habilitar o WAL com o Amazon EMR. Para obter mais informações, consulte Write-ahead logs (WAL) for Amazon EMR.

Criptografia de disco local

Os mecanismos a seguir funcionam em conjunto para criptografar discos locais quando você habilita a criptografia de disco local usando uma configuração de segurança do Amazon EMR.

Criptografia HDFS de código aberto

O HDFS troca dados entre instâncias de cluster durante o processamento distribuído. Ele também lê e grava dados em volumes de armazenamento de instâncias e em volumes do EBS anexados às instâncias. As seguintes opções de criptografia Hadoop de código-fonte aberto são ativadas quando você habilita a criptografia do disco local:

nota

Você pode ativar a criptografia adicional do Apache Hadoop habilitando a criptografia em trânsito. Para ter mais informações, consulte Criptografia em trânsito. Essas configurações de criptografia não ativam a criptografia transparente do HDFS, que você pode configurar manualmente. Para obter mais informações, consulte Transparent encryption in HDFS on Amazon EMR no Guia de lançamento do Amazon EMR.

Criptografia de armazenamento de instância

Para tipos de instância do EC2 que usam SSDs baseados em NVMe como o volume de armazenamento de instância, a criptografia de NVMe é usada independentemente das configurações de criptografia do Amazon EMR. Para obter mais informações, consulte Volumes SSD de NVMe no Guia do usuário do Amazon EC2. Para outros volumes de armazenamento de instância, o Amazon EMR usa LUKS para criptografar o volume de armazenamento de instância quando a criptografia de disco local está habilitada, não importa se os volumes do EBS foram criptografados usando criptografia do EBS ou LUKS.

Criptografia de volume do EBS

Se você criar um cluster em uma região onde a criptografia do Amazon EC2 de volumes do EBS está habilitada por padrão para sua conta, os volumes do EBS serão criptografados mesmo que a criptografia de disco local não esteja habilitada. Para obter mais informações, consulte Criptografia por padrão no Guia do usuário do Amazon EC2. Com a criptografia de disco local habilitada em uma configuração de segurança, as configurações do Amazon EMR têm precedência sobre as configurações de criptografia por padrão do Amazon EC2 para instâncias de cluster do EC2.

As seguintes opções estão disponíveis para criptografar volumes do EBS usando uma configuração de segurança:

  • Criptografia do EBS: a partir do Amazon EMR versão 5.24.0, você tem a opção de habilitar a criptografia do EBS. A opção de criptografia do EBS criptografa o volume do dispositivo raiz do EBS e os volumes de armazenamento anexados. A opção de criptografia do EBS está disponível somente quando você especifica o AWS Key Management Service como seu provedor de chaves. Recomendamos usar a criptografia do EBS.

  • Criptografia LUKS: se você optar por usar a criptografia LUKS para volumes do Amazon EBS, a criptografia LUKS se aplicará apenas a volumes de armazenamento anexados, e não ao volume do dispositivo raiz. Para obter mais informações sobre a criptografia LUKS, consulte a Especificação da no disco.

    Para seu provedor de chaves, você pode configurar uma AWS KMS key com políticas adequadas para o Amazon EMR ou uma classe Java personalizada que forneça os artefatos de criptografia. Quando você usa o AWS KMS, cobranças são aplicáveis ao armazenamento e ao uso de chaves de criptografia. Para obter mais informações, consulte Preços do AWS KMS.

nota

Para verificar se a criptografia do EBS está habilitada no cluster, é recomendável usar a chamada de API DescribeVolumes. Para obter mais informações, consulte DescribeVolumes. A execução de lsblk no cluster só verificará o status da criptografia LUKS, em vez da criptografia do EBS.

Criptografia em trânsito

Vários mecanismos de criptografia estão habilitados com a criptografia em trânsito. Esses recursos são de código aberto, específicos da aplicação, e podem variar de acordo com a versão do Amazon EMR. Para habilitar a criptografia em trânsito, use Como criar uma configuração de segurança com o console do Amazon EMR ou a AWS CLI no Amazon EMR. Para clusters do EMR com criptografia em trânsito habilitada, o Amazon EMR define automaticamente as configurações da aplicação de código aberto para permitir a criptografia em trânsito. Em casos de uso avançados, você pode definir diretamente as configurações de aplicações de código aberto para substituir o comportamento padrão no Amazon EMR. Para obter mais informações, consulte a In-transit encryption support matrix e Configuração de aplicações.

Consulte as seguintes informações para saber mais detalhes específicos sobre aplicações de código aberto relevantes à criptografia em trânsito:

  • Quando você habilita a criptografia em trânsito com uma configuração de segurança, o Amazon EMR ativa a criptografia em trânsito para todos os endpoints de aplicações de código aberto que oferecem suporte à criptografia em trânsito. O suporte à criptografia em trânsito para diferentes endpoints de aplicações varia de acordo com a versão de lançamento do Amazon EMR. Para obter mais informações, consulte a matriz de suporte à criptografia em trânsito.

  • Você pode substituir as configurações de código aberto, o que permite fazer o seguinte:

    • Desabilite a verificação do nome de host TLS se os certificados TLS fornecidos pelo usuário não atenderem aos requisitos

    • Desabilite a criptografia em trânsito para determinados endpoints com base nos seus requisitos de performance e compatibilidade

    • Controle quais versões do TLS e pacotes de criptografia usar.

    Você encontra mais detalhes sobre as configurações específicas da aplicação na matriz de suporte à criptografia em trânsito

  • Além de habilitar a criptografia em trânsito com uma configuração de segurança, alguns canais de comunicação também exigem configurações de segurança adicionais para que você habilite a criptografia em trânsito. Por exemplo, alguns endpoints de aplicações de código aberto usam Simple Authentication and Security Layer (SASL) para criptografia em trânsito, o que exige que a autenticação do Kerberos esteja habilitada na configuração de segurança do cluster do EMR. Para saber mais sobre esses endpoints, consulte a matriz de suporte à criptografia em trânsito.

  • Recomendamos que você use um software compatível com TLS v1.2 ou superior. O Amazon EMR no EC2 envia a distribuição padrão do Corretto JDK, que determina quais versões do TLS, conjuntos de cifras e tamanhos de chave são permitidos pelas redes de código aberto executadas em Java. No momento, a maioria das estruturas de código aberto impõe o TLS v1.2 ou superior para o Amazon EMR 7.0.0 e versões superiores. Isso ocorre porque a maioria das estruturas de código aberto é executada no Java 17 para o Amazon EMR 7.0.0 e versões superiores. As versões mais antigas do Amazon EMR podem oferecer suporte ao TLS v1.0 e v1.1 porque consomem versões mais antigas do Java, mas o Corretto JDK pode alterar as versões do TLS compatíveis com Java, o que pode afetar as versões existentes do Amazon EMR.

Você especifica os artefatos de criptografia usados para a criptografia em trânsito de uma destas duas maneiras: fornecendo um arquivo compactado de certificados, que é carregado no Amazon S3, ou referenciando uma classe Java personalizada, que fornece artefatos de criptografia. Para ter mais informações, consulte Fornecer certificados para criptografia de dados em trânsito com a criptografia do Amazon EMR.