

 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\_ROLE](#copy-iam-role)
+ [Usar os parâmetros ACCESS\_KEY\_ID e SECRET\_ACCESS\_KEY](#copy-access-key-id)Parâmetros do 
+ [Usar o parâmetro CREDENTIALS](#copy-credentials)Cláusula 

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

### IAM\_ROLE
<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\_ROLE, você não poderá usar ACCESS\_KEY\_ID e SECRET\_ACCESS\_KEY, SESSION\_TOKEN ou CREDENTIALS.

A seguir, a sintaxe do parâmetro IAM\_ROLE. 

```
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\_KEY\_ID e SECRET\_ACCESS\_KEY
<a name="copy-access-key-id"></a>

### ACCESS\_KEY\_ID e SECRET\_ACCESS\_KEY
<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\_ROLE. 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\_TOKEN
<a name="copy-token"></a>

O token de sessão a ser usado com credenciais de acesso temporárias. Quando SESSION\_TOKEN for especificado, você também deverá usar ACCESS\_KEY\_ID e SECRET\_ACCESS\_KEY para fornecer credenciais de chave de acesso temporárias. Se especificar SESSION\_TOKEN, você não poderá usar IAM\_ROLE 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\_TOKEN com os parâmetros ACCESS\_KEY\_ID e SECRET\_ACCESS\_KEY. 

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

Se especificar SESSION\_TOKEN, você não poderá usar CREDENTIALS ou IAM\_ROLE. 

## 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\_ROLE or ACCESS\_KEY\_ID e SECRET\_ACCESS\_KEY.

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\_ROLE](#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>}}'
```