Proteção de dados - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Proteção de dados

O modelo de responsabilidade compartilhada da AWS se aplica à proteção de dados no Amazon EMR no EKS. Conforme descrito nesse modelo, a AWS é responsável por proteger a infraestrutura global que executa toda a Nuvem AWS. Você é responsável por manter o controle sobre seu conteúdo hospedado nessa infraestrutura. Esse conteúdo inclui as tarefas de configuração e gerenciamento de segurança dos serviços da AWS que você usa. Para obter mais informações sobre a privacidade de dados, consulte as Perguntas frequentes sobre privacidade de dados. Para obter informações sobre a proteção de dados na Europa, consulte a publicação The AWS Shared Responsibility Model and GDPR no blog de segurança da AWS.

Para finalidades de proteção de dados, recomendamos que você proteja as credenciais da conta da AWS e configure contas individuais com o AWS Identity and Access Management (IAM). Dessa maneira, cada usuário receberá apenas as permissões necessárias para cumprir suas obrigações de trabalho. Recomendamos também que você proteja seus dados das seguintes formas:

  • Use uma autenticação multifator (MFA) com cada conta.

  • Use SSL/TLS para se comunicar com os recursos da AWS. Recomendamos TLS 1.2 ou posterior.

  • Configure o registro em log das atividades da API e do usuário com o AWS CloudTrail.

  • Use as soluções de criptografia da AWS, juntamente com todos os controles de segurança padrão nos serviços da AWS.

  • Use serviços gerenciados de segurança avançada, como o Amazon Macie, que ajuda a localizar e proteger dados pessoais armazenados no Amazon S3.

  • Use as opções de criptografia do Amazon EMR no EKS para criptografar dados em repouso e em trânsito.

  • Se você precisar de módulos criptográficos validados pelo FIPS 140-2 ao acessar a AWS por meio de uma interface de linha de comando ou uma API, use um endpoint do FIPS. Para obter mais informações sobre endpoints do FIPS, consulte Federal Information Processing Standard (FIPS) 140-2.

É altamente recomendável que você nunca coloque informações de identificação confidenciais, como números de conta dos seus clientes, em campos de formato livre, como um campo Name (Nome). Isso inclui quando você trabalha com o Amazon EMR no EKS ou com outros serviços da AWS usando o console, a API, a AWS CLI ou os AWS SDKs. Todos os dados inseridos no Amazon EMR no EKS ou em outros serviços podem ser coletados para a inclusão em logs de diagnóstico. Ao fornecer um URL para um servidor externo, não inclua informações de credenciais no URL para validar a solicitação a esse servidor.

Criptografia em repouso

A criptografia de dados ajuda a impedir que usuários não autorizados leiam dados em um cluster e em sistemas de armazenamento físico de dados associados. Isso inclui dados salvos em mídias persistentes, conhecidos como dados em repouso, e dados que podem ser interceptados enquanto viajam pela rede, conhecidos como dados em trânsito.

A criptografia de dados requer chaves e certificados. É possível escolher entre diversas opções, incluindo chaves gerenciadas pelo AWS Key Management Service, chaves gerenciadas pelo Amazon S3 e chaves e certificados de provedores personalizados fornecidos por você. 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 as opções de criptografia, decida quais sistemas de gerenciamento de chaves e de certificados você deseja usar. Em seguida, crie as chaves e os certificados para 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 Sistema de Arquivos do EMR (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 informações detalhadas sobre a criptografia do Amazon S3, consulte Proteger dados com criptografia no Guia do desenvolvedor 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 obter mais informações sobre a SSE, consulte Proteger os dados usando criptografia do lado do servidor no Guia do desenvolvedor do Amazon Simple Storage Service.

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

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

  • SSE-KMS: você usa uma AWS KMS key para configurar políticas adequadas para o Amazon EMR no EKS.

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

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 desenvolvedor 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 de disco local

O Apache Spark oferece suporte à criptografia de dados temporários gravados em discos locais. Isso abrange arquivos embaralhados, vazamentos embaralhados e blocos de dados armazenados em disco para variáveis ​​de armazenamento em cache e de transmissão. A criptografia de dados de saída gerados por aplicações com APIs como saveAsHadoopFile ou saveAsTable não é abrangida. Também é possível que não haja abrangência para arquivos temporários criados explicitamente pelo usuário. Para obter mais informações, consulte Local Storage Encryption na documentação do Spark. O Spark não oferece suporte a dados criptografados no disco local, como dados intermediários gravados em um disco local por um processo executor quando os dados não se encaixam na memória. Os dados que persistem no disco têm como escopo o runtime do trabalho, e a chave usada para criptografar os dados é gerada dinamicamente pelo Spark para cada execução de trabalho. Depois que o trabalho do Spark for encerrado, nenhum outro processo poderá descriptografar os dados.

Para pod de drivers e de executores, você criptografa dados em repouso que persistem no volume montado. Existem três opções diferentes de armazenamento nativo da AWS que você pode usar com o Kubernetes: EBS, EFS e FSx para Lustre. Todos os três oferecem criptografia em repouso usando uma chave gerenciada pelo serviço ou uma AWS KMS key. Para obter mais informações, consulte EKS Best Practices Guide. Com esta abordagem, todos os dados que persistem no volume montado são criptografados.

Gerenciamento de chaves

Você pode configurar o KMS para alternar automaticamente suas chaves do KMS. Isso alterna suas chaves uma vez por ano, enquanto salva as chaves antigas indefinidamente para que seus dados ainda possam ser descriptografados. Para obter informações adicionais, consulte Rotating AWS KMS keys.

Criptografia em trânsito

Vários mecanismos de criptografia estão habilitados com a criptografia em trânsito. Esses são recursos de código aberto, específicos da aplicação e podem variar de acordo com a versão do Amazon EMR no EKS. Os seguintes recursos de criptografia específicos da aplicação podem ser habilitados com o Amazon EMR no EKS:

  • Spark

    • A comunicação de RPC interna entre os componentes do Spark, como o serviço de transferência de blocos e o serviço de shuffle externo, é criptografada usando a criptografia AES-256 nas versões 5.9.0 e posteriores do Amazon EMR. Em versões anteriores, a comunicação RPC interna é criptografada usando SASL com DIGEST-MD5 como a criptografia.

    • A comunicação do protocolo HTTP com interfaces de usuário, como o Spark History Server e servidores de arquivos habilitados para HTTPS é criptografada usando a configuração de SSL do Spark. Para obter mais informações, consulte Configuração do SSL na documentação do Spark.

    Para obter mais informações, consulte as configurações de segurança do Spark.

  • Você deve permitir somente conexões criptografadas por HTTPS (TLS) que usam a condição aws:SecureTransport nas políticas do IAM do bucket do Amazon S3.

  • Os resultados de consultas que transmitem para clientes JDBC ou ODBC são criptografados usando TLS.