

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Autorizzazione di operazioni COPY, UNLOAD, CREATE EXTERNAL FUNCTION e CREATE EXTERNAL SCHEMA utilizzando ruoli IAM
<a name="copy-unload-iam-role"></a>

Puoi usare il comando [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) per caricare (o importare) i dati in Amazon Redshift e il comando [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) per scaricare (o esportare) i dati da Amazon Redshift. È possibile utilizzare il comando CREATE EXTERNAL FUNCTION per creare funzioni definite dall'utente che richiamano funzioni da. AWS Lambda

Quando usi Amazon Redshift Spectrum, viene utilizzato il comando [CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html) per specificare la posizione di un bucket Amazon S3 contenente i dati. Quando si eseguono i comandi COPY, UNLOAD o CREATE EXTERNAL SCHEMA vengono fornite le credenziali di sicurezza. Tali credenziali autorizzano il cluster Amazon Redshift a leggere o scrivere dati da e verso la destinazione obiettivo, come ad esempio un bucket Amazon S3. 

Quando si esegue CREATE EXTERNAL FUNCTION, si forniscono le credenziali di sicurezza utilizzando il parametro del ruolo IAM. Queste credenziali autorizzano il tuo cluster Amazon Redshift a richiamare funzioni Lambda. AWS Lambda Il metodo preferito per fornire le credenziali di sicurezza consiste nello specificare un ruolo (IAM). AWS Identity and Access Management Per i comandi COPY e UNLOAD, puoi fornire le credenziali temporanee. Per informazioni su come creare un ruolo IAM, consultare [Autorizzazione di Amazon Redshift ad AWS accedere ai servizi per tuo conto](authorizing-redshift-service.md).

Gli utenti necessitano dell'accesso programmatico se desiderano interagire con l' AWS esterno di. Console di gestione AWS Il modo per concedere l'accesso programmatico dipende dal tipo di utente che accede. AWS

Per fornire agli utenti l’accesso programmatico, scegli una delle seguenti opzioni.


****  

| Quale utente necessita dell’accesso programmatico? | Per | Come | 
| --- | --- | --- | 
| IAM | (Consigliato) Utilizza le credenziali della console come credenziali temporanee per firmare le richieste programmatiche a,, o. AWS CLI AWS SDKs AWS APIs |  Segui le istruzioni per l’interfaccia che desideri utilizzare. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/redshift/latest/mgmt/copy-unload-iam-role.html)  | 
|  Identità della forza lavoro (Utenti gestiti nel centro identità IAM)  | Utilizza credenziali temporanee per firmare le richieste programmatiche a AWS CLI, AWS SDKs, o. AWS APIs |  Segui le istruzioni per l’interfaccia che desideri utilizzare. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/redshift/latest/mgmt/copy-unload-iam-role.html)  | 
| IAM | Utilizza credenziali temporanee per firmare le richieste programmatiche a AWS CLI, AWS SDKs, o. AWS APIs | Seguendo le istruzioni riportate in [Utilizzo delle credenziali temporanee con le AWS risorse nella Guida per](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) l'utente IAM. | 
| IAM | (Non consigliato)Utilizza credenziali a lungo termine per firmare richieste programmatiche a AWS CLI,, AWS SDKs o. AWS APIs |  Segui le istruzioni per l’interfaccia che desideri utilizzare. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/redshift/latest/mgmt/copy-unload-iam-role.html)  | 

Le fasi per l'uso di un ruolo IAM sono le seguenti:
+ Crea un ruolo IAM da utilizzare con il cluster Amazon Redshift.
+ Associazione del ruolo IAM al cluster.
+ Includi l'ARN del ruolo IAM nella chiamata al comando COPY, UNLOAD, CREATE EXTERNAL SCHEMA o CREATE EXTERNAL FUNCTION.

# Associazione di ruoli IAM ai cluster
<a name="copy-unload-iam-role-associating-with-clusters"></a>

Dopo aver creato un ruolo IAM che autorizza Amazon Redshift ad accedere ad altri servizi AWS per tuo conto, è necessario associare il ruolo a un cluster Amazon Redshift. È necessario eseguire questa azione prima di poter utilizzare il ruolo per caricare o scaricare i dati. 

## Autorizzazioni necessarie per associare un ruolo IAM a un cluster
<a name="copy-unload-iam-role-associating-with-clusters-perms"></a>

Per associare un ruolo IAM a un cluster, un utente deve avere l'autorizzazione `iam:PassRole` per il ruolo IAM. Questa autorizzazione permette a un amministratore di limitare i ruoli IAM che un utente può associare ai cluster Amazon Redshift. Come best practice, consigliamo di collegare le policy di autorizzazioni a un ruolo IAM, che quindi viene assegnato a utenti e gruppi secondo le necessità. Per ulteriori informazioni, consulta [Identity and access management in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html).

L'esempio seguente illustra una policy IAM che può essere collegata a un utente, consentendogli di eseguire le operazioni seguenti: 
+ Ottieni i dettagli per tutti i cluster Amazon Redshift di proprietà dell'account dell'utente.
+ Associa uno dei tre ruoli IAM a uno dei due cluster Amazon Redshift.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "redshift:DescribeClusters",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                 "redshift:ModifyClusterIamRoles",
                 "redshift:CreateCluster"
            ],
            "Resource": [
                 "arn:aws:redshift:us-east-1:123456789012:cluster:my-redshift-cluster",
                 "arn:aws:redshift:us-east-1:123456789012:cluster:my-second-redshift-cluster"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::123456789012:role/MyRedshiftRole",
                "arn:aws:iam::123456789012:role/SecondRedshiftRole",
                "arn:aws:iam::123456789012:role/ThirdRedshiftRole"
             ]
        }
    ]
}
```

------

Una volta acquisite le autorizzazioni appropriate, l'utente può associare un ruolo IAM a un cluster Amazon Redshift. Il ruolo IAM è quindi pronto per l'uso con i comandi COPY o UNLOAD o con altri comandi Amazon Redshift.

Per ulteriori informazioni sulle policy IAM, consultare [Panoramica delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) nella *Guida per l'utente IAM*.

## Gestione dell'associazione di un ruolo IAM a un cluster
<a name="managing-iam-role-association-with-cluster"></a>

Durante la creazione del cluster, è possibile associare un ruolo IAM a un cluster Amazon Redshift. Oppure è possibile modificare un cluster esistente e aggiungere o rimuovere una o più associazioni di ruoli IAM. 

Ricorda quanto segue:
+ Il numero massimo di ruoli IAM che è possibile associare è soggetto a una quota.
+ Un ruolo IAM può essere associato a più cluster Amazon Redshift.
+ Un ruolo IAM può essere associato a un cluster Amazon Redshift solo se sia il ruolo IAM che il cluster sono di proprietà dello stesso AWS account. 

Puoi gestire le associazioni dei ruoli IAM per un cluster con la console usando la procedura seguente.

**Per gestire le associazioni dei ruoli IAM**

1. Accedi a Console di gestione AWS e apri la console Amazon Redshift all'indirizzo. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Dal menu di navigazione, scegliere **Clusters** (Cluster), quindi scegliere il cluster da aggiornare.

1. Alla voce **Actions (Operazioni)**, scegli **Manage IAM roles (Gestisci ruoli IAM)** per visualizzare l'elenco corrente dei ruoli IAM associati al cluster. 

1. Nella pagina **Manage IAM roles (Gestisci ruoli IAM)**, scegli i ruoli IAM disponibili da aggiungere e quindi scegli **Add IAM role (Aggiungi ruolo IAM)**. 

1. Scegli **Save (Salva)** per salvare le modifiche. 

Puoi gestire le associazioni di ruoli IAM per un cluster con AWS CLI i seguenti approcci.

Per associare un ruolo IAM a un cluster al momento della creazione del cluster, specifica l'Amazon Resource Name (ARN) del ruolo IAM per il parametro `--iam-role-arns` del comando `create-cluster`. Il numero massimo di ruoli IAM che è possibile aggiungere quando si chiama il comando `create-cluster` è soggetto a una quota. 

L'associazione e la dissociazione di ruoli IAM ai cluster Amazon Redshift sono processi asincroni. Per ottenere lo stato di tutte le associazioni ai cluster dei ruoli IAM, chiama il comando `describe-clusters`.

L'esempio seguente associa due ruoli IAM al cluster appena creato denominato `my-redshift-cluster`.

```
aws redshift create-cluster \
    --cluster-identifier "my-redshift-cluster" \
    --node-type "ra3.4xlarge" \
    --number-of-nodes 16 \
    --iam-role-arns "arn:aws:iam::123456789012:role/RedshiftCopyUnload" \
                    "arn:aws:iam::123456789012:role/SecondRedshiftRole"
```

Per associare un ruolo IAM a un cluster Amazon Redshift esistente, specifica l'Amazon Resource Name (ARN) del ruolo IAM per il parametro `--add-iam-roles` del comando `modify-cluster-iam-roles`. Il numero massimo di ruoli IAM che è possibile aggiungere quando si chiama il comando `modify-cluster-iam-roles` è soggetto a una quota. 

L'esempio seguente associa un ruolo IAM a un cluster esistente denominato `my-redshift-cluster`.

```
aws redshift modify-cluster-iam-roles \
    --cluster-identifier "my-redshift-cluster" \
    --add-iam-roles "arn:aws:iam::123456789012:role/RedshiftCopyUnload"
```

Per eliminare l'associazione di un ruolo IAM da un cluster, specifica l'ARN del ruolo IAM per il parametro `--remove-iam-roles` del comando `modify-cluster-iam-roles`. `modify-cluster-iam-roles` Il numero massimo di ruoli IAM che è possibile rimuovere quando si chiama il comando `modify-cluster-iam-roles` è soggetto a una quota.

L'esempio seguente rimuove l'associazione per un ruolo IAM per l'`123456789012` AWS account da un cluster denominato`my-redshift-cluster`.

```
aws redshift modify-cluster-iam-roles \
    --cluster-identifier "my-redshift-cluster" \
    --remove-iam-roles "arn:aws:iam::123456789012:role/RedshiftCopyUnload"
```

### Elenco delle associazioni di ruoli IAM per un cluster utilizzando il AWS CLI
<a name="w2aac37c30c30c35c31b7b9c29"></a>

Per elencare tutti i ruoli IAM associati a un cluster Amazon Redshift con lo stato dell'associazione del ruolo IAM, chiama il comando `describe-clusters`. L'ARN per ogni ruolo IAM associato al cluster viene restituito nell'elenco `IamRoles`, come illustrato nell'output di esempio seguente.

I ruoli che sono stati associati al cluster hanno uno stato `in-sync`. I ruoli di cui è in corso l'associazione al cluster hanno uno stato `adding`. I ruoli di cui è in corso l'eliminazione dell'associazione al cluster hanno uno stato `removing`.

```
{
    "Clusters": [
        {
            "ClusterIdentifier": "my-redshift-cluster",
            "NodeType": "ra3.4xlarge",
            "NumberOfNodes": 16,
            "IamRoles": [
                {
                    "IamRoleArn": "arn:aws:iam::123456789012:role/MyRedshiftRole",
                    "IamRoleApplyStatus": "in-sync"
                },
                {
                    "IamRoleArn": "arn:aws:iam::123456789012:role/SecondRedshiftRole",
                    "IamRoleApplyStatus": "in-sync"
                }
            ],
            ...
        },
        {
            "ClusterIdentifier": "my-second-redshift-cluster",
            "NodeType": "ra3.4xlarge",
            "NumberOfNodes": 10,
            "IamRoles": [
                {
                    "IamRoleArn": "arn:aws:iam::123456789012:role/MyRedshiftRole",
                    "IamRoleApplyStatus": "in-sync"
                },
                {
                    "IamRoleArn": "arn:aws:iam::123456789012:role/SecondRedshiftRole",
                    "IamRoleApplyStatus": "in-sync"
                },
                {
                    "IamRoleArn": "arn:aws:iam::123456789012:role/ThirdRedshiftRole",
                    "IamRoleApplyStatus": "in-sync"
                }
            ],
            ...
        }
    ]
}
```

Per ulteriori informazioni sull'utilizzo di AWS CLI, consulta la *[Guida AWS CLI per l'utente](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)*.