

# Criptografia em repouso
<a name="encryption"></a>

Você pode executar consultas no Amazon Athena em dados criptografados no Amazon S3 na mesma região e em um número limitado de regiões. Você também pode criptografar os resultados da consulta no Amazon S3 e os dados no Catálogo de dados do AWS Glue.

Você pode criptografar os seguintes ativos no Athena:
+ Os resultados de todas as consultas no Amazon S3, que o Athena armazena em um local conhecido como local de resultados do Amazon S3. Você pode criptografar os resultados das consultas armazenados no Amazon S3 sem considerar se o conjunto de dados subjacente está ou não criptografado no Amazon S3. Para mais informações, consulte [Criptografar os resultados de consultas do Athena armazenados no Amazon S3](encrypting-query-results-stored-in-s3.md).
+ Os dados no catálogo de dados do AWS Glue. Para mais informações, consulte [Permissões para metadados criptografados no catálogo de dados do AWS Glue](#glue-encryption).

**nota**  
Quando você usa o Athena para ler uma tabela criptografada, o Athena usa as opções de criptografia especificadas para os dados da tabela, não a opção de criptografia para os resultados da consulta. Se métodos ou chaves de criptografia diferentes forem configurados para resultados da consulta e dados da tabela, o Athena lê os dados da tabela sem usar a opção de criptografia e a chave usada para criptografar ou descriptografar os resultados da consulta.  
No entanto, se você usar o Athena para inserir dados em uma tabela que tenha dados criptografados, o Athena usa a configuração de criptografia especificada para os resultados da consulta para criptografar os dados inseridos. Por exemplo, se você especificar a criptografia `CSE_KMS` para os resultados da consulta, o Athena usa o mesmo ID de chave do AWS KMS que você usou para a criptografia dos resultados da consulta para criptografar os dados da tabela inseridos com o `CSE_KMS`.

**Topics**
+ [Opções de criptografia permitidas do Amazon S3](#encryption-options-S3-and-Athena)
+ [Permissões para dados criptografados no Amazon S3](#permissions-for-encrypting-and-decrypting-data)
+ [Permissões para metadados criptografados no catálogo de dados do AWS Glue](#glue-encryption)
+ [Migração do método de criptografia CSE-KMS para o método SSE-KMS](migrating-csekms-ssekms.md)
+ [Criptografar os resultados de consultas do Athena armazenados no Amazon S3](encrypting-query-results-stored-in-s3.md)
+ [Criar tabelas baseadas em conjuntos de dados criptografados no Amazon S3](creating-tables-based-on-encrypted-datasets-in-s3.md)

## Opções de criptografia permitidas do Amazon S3
<a name="encryption-options-S3-and-Athena"></a>

O Athena permite as opções de criptografia a seguir para conjuntos de dados e resultados de consulta no Amazon S3.


| Tipo de criptografia | Descrição | Suporte entre regiões | 
| --- | --- | --- | 
| [SSE-S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) | Server Side Encryption (SSE – Criptografia do lado do servidor) com uma chave gerenciada pelo Amazon S3. | Sim | 
| [SSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) (recomendação) | Criptografia do lado do servidor (SSE) com uma chave do AWS Key Management Service gerenciada pelo cliente.  | Sim | 
| [CSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html#client-side-encryption-kms-managed-master-key-intro) | Client-Side Encryption (CSE – Criptografia do lado do cliente) com uma chave gerenciada pelo cliente AWS KMS. No Athena, essa opção requer que você use uma instrução `CREATE TABLE` com a cláusula `TBLPROPERTIES` que especifica `'has_encrypted_data'='true'` ou `'encryption_option'='CSE_KMS'` com `'kms_key'='kms_key_arn'`. Para obter mais informações, consulte [Criar tabelas baseadas em conjuntos de dados criptografados no Amazon S3](creating-tables-based-on-encrypted-datasets-in-s3.md). | Não | 

Para obter mais informações sobre a criptografia do AWS KMS com o Amazon S3, consulte [O que é o AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) e [Como o Amazon Simple Storage Service (Amazon S3) usa o AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-s3.html) no *Guia do desenvolvedor do AWS Key Management Service*. Para obter mais informações sobre como usar o SSE-KMS ou o CSE-KMS com o Athena, consulte [Launch: Amazon Athena adds support for querying encrypted data](https://aws.amazon.com/blogs/aws/launch-amazon-athena-adds-support-for-querying-encrypted-data/) (Lançamento: o Amazon Athena adiciona suporte à consulta de dados criptografados) no *blog sobre big data da AWS*.

### Recomendações de criptografia
<a name="encryption-recommendation"></a>

Ao criptografar e descriptografar os dados das tabelas e os resultados das consultas com chaves do KMS gerenciadas pelo cliente, recomendamos o uso da criptografia SSE-KMS, em vez dos métodos de criptografia SSE-S3 ou CSE-KMS. A criptografia SSE-KMS proporciona um equilíbrio entre controle, simplicidade e performance, tornando-a o método mais recomendado ao usar chaves do KMS gerenciadas para criptografia de dados.

**Benefícios da criptografia SSE-KMS comparada ao método SSE-S3**
+ A criptografia SSE-KMS permite que você especifique e gerencie suas próprias chaves, proporcionando maior controle. É possível definir políticas de chave, gerenciar os ciclos de vida das chaves e monitorar o uso delas.

**Benefícios da criptografia SSE-KMS comparada ao método CSE-KMS**
+ A criptografia SSE-KMS dispensa a necessidade de infraestrutura adicional para criptografar e descriptografar dados, diferente do método CSE-KMS, que requer a manutenção constante de um cliente de criptografia do S3.
+ O método CSE-KMS pode apresentar questões de compatibilidade entre clientes de criptografia do S3 mais novos e mais antigos devido aos algoritmos de criptografia em constante evolução. Em oposição, isso é um problema que a criptografia SSE-KMS resolve.
+ A criptografia SSE-KMS realiza menos chamadas de API ao serviço KMS para a recuperação de chaves durante os processos de criptografia e descriptografia, proporcionando uma performance superior em comparação ao método CSE-KMS.

### Opções não compatíveis
<a name="encryption-unsupported-options"></a>

As seguintes opções de criptografia não são compatíveis:
+ SSE com chaves fornecidas pelo cliente (SSE-C).
+ Criptografia do lado do cliente usando uma chave mestra do lado do cliente.
+ Chaves assimétricas.

Para comparar as opções de criptografia do Amazon S3, consulte [Proteção de dados usando criptografia](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html) no *Guia do usuário do Amazon Simple Storage Service*.

### Ferramentas para criptografia do lado do cliente
<a name="encryption-client-side-tools"></a>

 Para criptografia do lado do cliente, observe que há duas ferramentas disponíveis: 
+ [Cliente de criptografia do Amazon S3](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3EncryptionClient.html): criptografa os dados somente para o Amazon S3 e é compatível com o Athena.
+ [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html): o SDK pode ser usado para criptografar os dados em qualquer lugar na AWS, mas não é permitido diretamente no Athena.

Essas ferramentas não são compatíveis, e os dados que foram criptografados com uma ferramenta não podem ser descriptografados pela outra. O Athena apenas é compatível diretamente com o Cliente de criptografia do Amazon S3. Se você usar o SDK para criptografar seus dados, poderá executar consultas do Athena, mas os dados serão retornados como texto criptografado. 

Para usar o Athena para consultar dados que foram criptografados com o AWS Encryption SDK, você deve baixar e descriptografar seus dados e, depois, criptografá-los novamente usando o Cliente de criptografia do Amazon S3.

## Permissões para dados criptografados no Amazon S3
<a name="permissions-for-encrypting-and-decrypting-data"></a>

Dependendo do tipo de criptografia que você usa no Amazon S3, pode ser necessário adicionar permissões, também conhecidas como ações “Permitir”, às políticas usadas no Athena:
+ **SSE-S3**: se você usar o SSE-S3 para criptografia, os usuários do Athena não exigirão permissões adicionais nas políticas. Basta ter as devidas permissões do Amazon S3 para o local do Amazon S3 apropriado e para as ações do Athena. Para obter mais informações sobre as políticas que concedem permissões adequadas do Athena e do Amazon S3, consulte [AWSPoliticas gerenciadas pela para o Amazon Athena](security-iam-awsmanpol.md) e [Controlar o acesso ao Amazon S3 do Athena](s3-permissions.md).
+ **AWS KMS**: se você usa o AWS KMS para criptografia, os usuários do Athena devem receber permissão para executar determinadas ações do AWS KMS, além das permissões do Athena e do Amazon S3. Você permite essas ações editando a política de chaves das chaves gerenciadas pelo cliente que são usadas para criptografar os dados no Amazon S3. Para adicionar usuários de chaves às políticas do AWS KMS apropriadas, você pode usar o console do AWS KMS em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms). Para obter informações sobre como adicionar um usuário a uma política de chave do AWS KMS, consulte [Allows key users to use the customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-users) no *Guia do desenvolvedor do AWS Key Management Service*.
**nota**  
Os administradores de políticas de chaves avançadas podem ajustar as políticas de chaves. `kms:Decrypt` é a ação mínima permitida para que um usuário do Athena trabalhe com um conjunto de dados criptografados. Para trabalhar com resultados da consulta criptografados, as ações permitidas mínimas são `kms:GenerateDataKey` e `kms:Decrypt`.

  Ao usar o Athena para consultar conjuntos de dados no Amazon S3 com um grande número de objetos criptografados com o AWS KMS, o AWS KMS pode realizar um controle de utilização dos resultados das consultas. Isso é mais provável quando há um grande número de objetos pequenos. O Athena rejeita solicitações de nova tentativa, mas um erro de controle de utilização ainda pode ocorrer. Se estiver trabalhando com vários objetos criptografados e enfrentar esse problema, uma opção é habilitar chaves de bucket do Amazon S3 para reduzir o número de chamadas ao KMS. Para obter mais informações, consulte [Redução do custo do SSE-KMS com chaves de bucket do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html) no *Guia do usuário do Amazon Simple Storage Service*. Outra opção é aumentar suas cotas de serviço para o AWS KMS. Para obter mais informações, consulte [Cotas](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) no *Guia do desenvolvedor do AWS Key Management Service*.

Para obter informações sobre solução de problemas de permissões ao usar o Amazon S3 com o Athena, consulte a seção [Permissões](troubleshooting-athena.md#troubleshooting-athena-permissions) do tópico [Solucionar problemas no Athena](troubleshooting-athena.md).

## Permissões para metadados criptografados no catálogo de dados do AWS Glue
<a name="glue-encryption"></a>

Se você [criptografar metadados no AWS Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/encrypt-glue-data-catalog.html), deverá adicionar as ações `"kms:GenerateDataKey"`, `"kms:Decrypt"` e `"kms:Encrypt"` às políticas que usa para acessar o Athena. Para mais informações, consulte [Configurar o acesso do Athena aos metadados criptografados no AWS Glue Data Catalog](access-encrypted-data-glue-data-catalog.md).