

 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/). 

# Parâmetros de autorização
<a name="copy-parameters-authorization"></a>

O comando COPY precisa de autorização para acessar dados em outro recurso da AWS, inclusive em Amazon S3, Amazon EMR, Amazon DynamoDB e Amazon EC2. É possível fornecer essa autorização por meio de referência à [função do AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que é associada ao cluster (*controle de acesso com base da função*). Você pode criptografar seus dados de carregamento no Amazon S3. 

Os seguintes tópicos dão mais detalhes e exemplos de opções de autenticação:
+ [Permissões do IAM para COPY, UNLOAD e CREATE LIBRARY](copy-usage_notes-access-permissions.md#copy-usage_notes-iam-permissions)
+ [Controle de acesso com base em função](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based)
+ [Controle de acesso com base em chave](copy-usage_notes-access-permissions.md#copy-usage_notes-access-key-based)

Use um dos seguintes para dar autorização para o comando COPY: 
+ Parâmetro [Usar o parâmetro IAM\$1ROLE](#copy-iam-role)
+ [Usar os parâmetros ACCESS\$1KEY\$1ID e SECRET\$1ACCESS\$1KEY](#copy-access-key-id)Parâmetros do 
+ [Usar o parâmetro CREDENTIALS](#copy-credentials)Cláusula 

## Usar o parâmetro IAM\$1ROLE
<a name="copy-iam-role"></a>

### IAM\$1ROLE
<a name="copy-iam-role-iam"></a>

Use a palavra-chave padrão para que o Amazon Redshift use a função do IAM definida como padrão e associada ao cluster quando o comando COPY for executado. 

Use o nome do recurso da Amazon (ARN) de uma função do IAM que seu cluster usa para autenticação e autorização. Se especificar IAM\$1ROLE, você não poderá usar ACCESS\$1KEY\$1ID e SECRET\$1ACCESS\$1KEY, SESSION\$1TOKEN ou CREDENTIALS.

A seguir, a sintaxe do parâmetro IAM\$1ROLE. 

```
IAM_ROLE { default | 'arn:aws:iam::<Conta da AWS-id>:role/<role-name>' }
```

Para obter mais informações, consulte [Controle de acesso com base em função](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based). 

## Usar os parâmetros ACCESS\$1KEY\$1ID e SECRET\$1ACCESS\$1KEY
<a name="copy-access-key-id"></a>

### ACCESS\$1KEY\$1ID e SECRET\$1ACCESS\$1KEY
<a name="copy-access-key-id-access"></a>

Esse método de autorização não é recomendado. 

**nota**  
Em vez de fornecer credenciais de acesso como texto sem formatação, é altamente recomendável usar a autenticação baseada em função especificando-se o parâmetro IAM\$1ROLE. Para obter mais informações, consulte [Controle de acesso com base em função](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based). 

### SESSION\$1TOKEN
<a name="copy-token"></a>

O token de sessão a ser usado com credenciais de acesso temporárias. Quando SESSION\$1TOKEN for especificado, você também deverá usar ACCESS\$1KEY\$1ID e SECRET\$1ACCESS\$1KEY para fornecer credenciais de chave de acesso temporárias. Se especificar SESSION\$1TOKEN, você não poderá usar IAM\$1ROLE ou CREDENTIALS. Para obter mais informações, consulte [Credenciais de segurança temporárias](copy-usage_notes-access-permissions.md#r_copy-temporary-security-credentials) no Guia do usuário do IAM.

**nota**  
Em vez de criar credenciais de segurança temporárias, é altamente recomendável usar a autenticação baseada na função. Quando você autoriza o uso de uma função do IAM, o Amazon Redshift cria automaticamente credenciais de usuário temporárias para cada sessão. Para obter mais informações, consulte [Controle de acesso com base em função](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based). 

A seguir, a sintaxe do parâmetro SESSION\$1TOKEN com os parâmetros ACCESS\$1KEY\$1ID e SECRET\$1ACCESS\$1KEY. 

```
ACCESS_KEY_ID '<access-key-id>'
SECRET_ACCESS_KEY '<secret-access-key>'
SESSION_TOKEN '<temporary-token>';
```

Se especificar SESSION\$1TOKEN, você não poderá usar CREDENTIALS ou IAM\$1ROLE. 

## Usar o parâmetro CREDENTIALS
<a name="copy-credentials"></a>

### CREDENTIALS
<a name="copy-credentials-cred"></a>

Uma cláusula que indica o método que o cluster usará quando acessar outros recursos da AWS que contêm arquivos de dados ou arquivos manifesto. Você não pode usar o parâmetro CREDENTIALS com IAM\$1ROLE or ACCESS\$1KEY\$1ID e SECRET\$1ACCESS\$1KEY.

A seguir é mostrada a sintaxe referente ao parâmetro CREDENTIALS.

```
[WITH] CREDENTIALS [AS] 'credentials-args'
```

**nota**  
Para aumentar a flexibilidade, recomendamos o uso do parâmetro [IAM\$1ROLE](#copy-iam-role-iam), em vez do parâmetro CREDENTIALS.

Como opção, se o parâmetro [ENCRYPTED](copy-parameters-data-source-s3.md#copy-encrypted) for usado, a string *credentials-args* também fornecerá a chave de criptografia.

A string *credentials-args* diferencia maiúsculas de minúsculas e não deve conter espaços.

As palavras-chave WITH e AS são opcionais e são ignoradas.

É possível especificar [role-based access control](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based.phrase) ou [key-based access control](copy-usage_notes-access-permissions.md#copy-usage_notes-access-key-based.phrase). Em ambos os casos, o usuário ou perfil do IAM deve ter as permissões obrigatórias para acessar os recursos da AWS especificados. Para obter mais informações, consulte [Permissões do IAM para COPY, UNLOAD e CREATE LIBRARY](copy-usage_notes-access-permissions.md#copy-usage_notes-iam-permissions). 

**nota**  
Para resguardar as credenciais da AWS e proteger os dados sigilosos, é altamente recomendável usar o controle de acesso baseado na função. 

Para especificar o controle de acesso baseado na função, forneça a string *credentials-args* no formato a seguir.

```
'aws_iam_role=arn:aws:iam::<aws-account-id>:role/<role-name>'
```

Para usar credenciais de token temporário, você deve fornecer o ID da chave de acesso temporária, a chave de acesso secreta temporária e o token temporário. A string *credentials-args* está no formato a seguir. 

```
CREDENTIALS
'aws_access_key_id=<temporary-access-key-id>;aws_secret_access_key=<temporary-secret-access-key>;token=<temporary-token>'
```

Um comando COPY usando controle de acesso por perfil com credenciais temporárias seria semelhante ao seguinte exemplo de instrução: 

```
COPY customer FROM 's3://amzn-s3-demo-bucket/mydata' 
CREDENTIALS
'aws_access_key_id=<temporary-access-key-id>;aws_secret_access_key=<temporary-secret-access-key-id>;token=<temporary-token>'
```

 Para obter mais informações, consulte [Credenciais de segurança temporárias](copy-usage_notes-access-permissions.md#r_copy-temporary-security-credentials).

Se o parâmetro [ENCRYPTED](copy-parameters-data-source-s3.md#copy-encrypted) for usado, a cadeia de caracteres *credentials-args* estará no formato a seguir, em que *<root-key>* é o valor da chave raiz que foi usada para criptografar os arquivos.

```
CREDENTIALS
'<credentials-args>;master_symmetric_key=<root-key>'
```

Um comando COPY usando controle de acesso por perfil com uma chave de criptografia seria semelhante ao seguinte exemplo de instrução:

```
COPY customer FROM 's3://amzn-s3-demo-bucket/mydata' 
CREDENTIALS 
'aws_iam_role=arn:aws:iam::<account-id>:role/<role-name>;master_symmetric_key=<root-key>'
```