Criar tabelas baseadas em conjuntos de dados criptografados no Amazon S3 - Amazon Athena

Criar tabelas baseadas em conjuntos de dados criptografados no Amazon S3

Ao criar uma tabela, indique para o Athena que um conjunto de dados está criptografado no Amazon S3. Isso não é necessário ao usar o SSE-KMS. Para a criptografia do SSE-S3 e do AWS KMS, o Athena determina como descriptografar o conjunto de dados e criar a tabela, portanto, você não precisa inserir informações de chaves.

Os usuários que executam consultas, inclusive o usuário que cria a tabela, devem ter as permissões descritas anteriormente neste tópico.

Importante

Se você usa o Amazon EMR com o EMRFS para carregar arquivos Parquet criptografados, deve desabilitar os carregamentos fracionados definindo fs.s3n.multipart.uploads.enabled como false. Se você não fizer isso, o Athena não poderá determinar o tamanho do arquivo Parquet, e um erro HIVE_CANNOT_OPEN_SPLIT será emitido. Para obter mais informações, consulte Configure multipart upload for Amazon S3 (Configurar o carregamento fracionado no Amazon S3) no Guia de gerenciamento do Amazon EMR.

Para indicar que o conjunto de dados está criptografado no Amazon S3, execute uma das etapas a seguir. Essa etapa não será necessária, se o SSE-KMS for usado.

  • Em uma instrução CREATE TABLE, use a cláusula TBLPROPERTIES que especifica 'has_encrypted_data'='true', conforme mostrado no exemplo a seguir.

    CREATE EXTERNAL TABLE 'my_encrypted_data' ( `n_nationkey` int, `n_name` string, `n_regionkey` int, `n_comment` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' LOCATION 's3://amzn-s3-demo-bucket/folder_with_my_encrypted_data/' TBLPROPERTIES ( 'has_encrypted_data'='true')
  • Use o driver JDBC e defina o valor TBLPROPERTIES, conforme mostrado no exemplo anterior, ao usar statement.executeQuery() para executar a instrução CREATE TABLE.

  • Ao usar o console do Athena para criar uma tabela usando um formulário e especificar o local da tabela, selecione a opção Encrypted data set (Conjunto de dados criptografado).

    Selecionar Encrypted data set (Conjunto de dados criptografado) no formulário “Add table” (Adicionar tabela)

Na lista de tabelas do console do Athena, as tabelas criptografadas exibem um ícone em forma de chave.

Ícone de tabela criptografada