

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Descarregamento de arquivos de dados criptografados
<a name="t_unloading_encrypted_files"></a>

UNLOAD cria arquivos automaticamente usando a criptografia do lado do servidor do Amazon S3 (SSE-S3) com chaves de criptografia gerenciadas pela AWS. Você também pode especificar a criptografia no lado do servidor com uma chave do AWS Key Management Service (SSE-KMS) ou a criptografia do lado do cliente com uma chave gerenciada pelo cliente. Não é possível usar UNLOAD com a criptografia do lado do servidor do Amazon S3 utilizando uma chave fornecida pelo cliente. Para obter mais informações, consulte [Proteger dados usando a criptografia no lado do servidor](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html). 

Para descarregar no Amazon S3 usando criptografia do lado do servidor com uma chave AWS KMS, use o parâmetro KMS\$1KEY\$1ID para fornecer o ID da chave, conforme mostrado no exemplo a seguir.

```
unload ('select venuename, venuecity from venue')
to 's3://amzn-s3-demo-bucket/encrypted/venue_' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
KMS_KEY_ID '1234abcd-12ab-34cd-56ef-1234567890ab'
encrypted;
```

Se desejar fornecer sua própria chave de criptografia, você pode criar arquivos de dados criptografados do lado do cliente no Amazon S3 usando o comando UNLOAD com a opção ENCRYPTED. UNLOAD usa o mesmo processo de criptografia de envelope que a criptografia do lado do cliente do Amazon S3 usa. Você pode usar o comando COPY com a opção ENCRYPTED para carregar os arquivos criptografados.

O processo funciona deste modo:

1. Crie uma chave AES de 256 bits codificada por base64 que será usada como sua chave de criptografia privada ou *chave simétrica raiz*. 

1. Você emite um comando UNLOAD que inclua sua a chave simétrica raiz e a opção ENCRYPTED. 

1. UNLOAD gera uma chave simétrica de uso único (chamada *chave simétrica de envelope*) e um vetor de inicialização (IV), que a usa para criptografar seus dados. 

1. UNLOAD criptografa a chave simétrica de envelope usando sua chave simétrica raiz. 

1. O UNLOAD então armazena os arquivos de dados criptografados no Amazon S3 e armazena a chave do envelope criptografado e IV como metadados de objeto com cada arquivo. A chave de envelope criptografada é armazenada como metadados de objeto `x-amz-meta-x-amz-key` e o IV é armazenado como metadados de objeto `x-amz-meta-x-amz-iv`. 

Para obter mais informações sobre o processo de criptografia de envelope, consulte o artigo [Criptografia de dados do lado do cliente com o AWS SDK for Java e o Amazon S3](https://aws.amazon.com/articles/2850096021478074). 

Para descarregar arquivos de dados criptografados, adicione a chave-valor raiz à string de credenciais e inclua a opção ENCRYPTED. Se você usar a opção MANIFEST, o arquivo manifesto também será criptografado.

```
unload ('select venuename, venuecity from venue')
to 's3://amzn-s3-demo-bucket/encrypted/venue_' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
master_symmetric_key '<root_key>' 
manifest
encrypted;
```

Para descarregar arquivos de dados criptografados que estão compactador por GZIP, inclua a opção GZIP junto com a chave-valor raiz e a opção ENCRYPTED.

```
unload ('select venuename, venuecity from venue')
to 's3://amzn-s3-demo-bucket/encrypted/venue_' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
master_symmetric_key '<root_key>' 
encrypted gzip;
```

Para carregar os arquivos de dados criptografados, adicione o parâmetro de MASTER\$1SYMMETRIC\$1KEY com a mesma chave-valor raiz e inclua a opção ENCRYPTED. 

```
copy venue from 's3://amzn-s3-demo-bucket/encrypted/venue_' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
master_symmetric_key '<root_key>' 
encrypted;
```