Proteção de dados - Amazon EMR

Proteção de dados

O modelo de responsabilidade compartilhada da AWS se aplica à proteção de dados no Amazon EMR Sem Servidor. 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 Sem Servidor para criptografar dados em repouso e em trânsito.

  • Se você precisar de módulos criptográficos validados pelo FIPS 140-2 ao acessar AWS por meio de uma interface de linha de comando ou uma API, use um endpoint 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 Nome. Isso inclui quando você trabalha com o Amazon EMR Sem Servidor ou outros produtos da AWS usando o console, a API, a AWS CLI ou os AWS SDKs. Todos os dados que você insere no Amazon EMR Sem Servidor ou em outros serviços podem ser separados para 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

Cada aplicação do EMR Sem Servidor usa uma versão de lançamento específica, que inclui o EMRFS (EMR File System). A criptografia do Amazon S3 funciona com objetos do Sistema de Arquivos do EMR (EMRFS) lidos e gravados no Amazon S3. Você pode especificar 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. Se você usa o CSE do Amazon S3 com chaves gerenciadas pelo cliente, o perfil de execução usado para executar trabalhos em uma aplicação do EMR Sem Servidor deve ter acesso à chave. 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 Sem Servidor:

  • SSE-S3: o Amazon S3 gerencia as chaves para você. Nenhuma configuração adicional é necessária no EMR Sem Servidor.

  • SSE-KMS: use uma AWS KMS key para configurar políticas apropriadas para o EMR Sem Servidor. Nenhuma configuração adicional é necessária no EMR Sem Servidor.

Para usar a criptografia do AWS KMS em dados gravados no Amazon S3, você tem duas opções ao usar a API StartJobRun. Você pode habilitar a criptografia para tudo o que é gravado no Amazon S3 ou a criptografia para dados gravados em um bucket específico. Para obter mais informações sobre a API StartJobRun, consulte a Referência da API do EMR Sem Servidor.

Para ativar a criptografia do AWS KMS em todos os dados gravados no Amazon S3, use os comandos a seguir ao chamar a API StartJobRun.

--conf spark.hadoop.fs.s3.enableServerSideEncryption=true --conf spark.hadoop.fs.s3.serverSideEncryption.kms.keyId=<kms_id>

Para ativar a criptografia do AWS KMS em dados gravados em um bucket específico, use os comandos a seguir ao chamar a API StartJobRun.

--conf spark.hadoop.fs.s3.bucket.<amzn-s3-demo-bucket1>.enableServerSideEncryption=true --conf spark.hadoop.fs.s3.bucket.<amzn-s3-demo-bucket1>.serverSideEncryption.kms.keyId=<kms-id>

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

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 disponível em todas as versões do Amazon EMR. 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. Se você usa o CSE do Amazon S3 com chaves gerenciadas pelo cliente, o perfil de execução usado para executar trabalhos em uma aplicação do EMR Sem Servidor deve ter acesso à chave. Cobranças adicionais do KMS podem ser aplicadas. 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.

Criptografia de disco local

Os dados armazenados em armazenamento temporário são criptografados com chaves de propriedade do serviço usando o algoritmo criptográfico AES-256 padrão do setor.

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 mais informações, consulte Rotating customer master keys.

Criptografia em trânsito

Os seguintes recursos de criptografia específicos da aplicação estão disponíveis com o Amazon EMR Sem Servidor:

  • Spark

    • Por padrão, a comunicação entre drivers e executores do Spark é autenticada e interna. A comunicação de RPC entre drivers e executores é criptografada.

  • Hive

    • A comunicação entre a metastore do AWS Glue e as aplicações do EMR Sem Servidor ocorre via TLS.

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.