

 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à.

# Utilizzo dell’API dati con la propagazione affidabile delle identità
<a name="data-api-trusted-identity-propagation"></a>

In qualità di amministratore di account Amazon Redshift, puoi integrare il tuo cluster o gruppo di lavoro Amazon Redshift AWS IAM Identity Center con, il che aiuta a gestire l'accesso della forza lavoro ad Amazon Redshift con Single Sign-On. Per ulteriori informazioni, consulta [Configurazione dell'integrazione di AWS IAM Identity Center con Amazon Redshift](redshift-iam-access-control-idp-connect-console.md). L'API Amazon Redshift Data supporta la propagazione delle identità utente di IAM Identity Center a un cluster o gruppo di lavoro Amazon Redshift e ad altri servizi, ad esempio, lungo la catena. AWS Lake Formation Puoi configurare ed eseguire query utilizzando l'API Data seguendo i passaggi dei [AWS servizi di Access in modo programmatico](https://aws.amazon.com/blogs//security/access-aws-services-programmatically-using-trusted-identity-propagation/) utilizzando la propagazione affidabile delle identità.

Quando chiami l’API dati utilizzando un’identità utente di Centro identità IAM da una sessione del ruolo IAM rafforzata con l’identità, puoi accedere solo all’istruzione e al risultato dell’istruzione risultanti utilizzando lo stesso utente di Centro identità IAM. Ad esempio, il AWS CLI comando seguente richiama l'`execute-statement`operazione per eseguire un comando SQL con propagazione di identità affidabili.

```
aws redshift-data execute-statement 
--sql "{{select current_user;}}" 
--cluster-id {{mycluster}}
--database {{dev}}
```

Il AWS CLI comando seguente richiama l'`batch-execute-statement`operazione per eseguire due comandi SQL.

```
aws redshift-data batch-execute-statement 
--sqls  "{{select current_user;}}"  "{{select current_date;}}"
--cluster-id {{mycluster}}
--database {{dev}}
```

Per accedere alle istruzioni con `cancel-statement`, `describe-statement`, `get-statement-result` e `get-statement-result-v2` inviate dalle sessioni del ruolo IAM rafforzate con l’identità, l’utente e il ruolo IAM di Centro identità IAM devono corrispondere alle credenziali utilizzate per eseguire `execute-statment` o `batch-execute-statement`. Ad esempio, il AWS CLI comando seguente ottiene i risultati di un'istruzione SQL.

```
aws redshift-data get-statement-result 
--id {{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}}
```

Per elencare le istruzioni, è necessario fornire un parametro `cluster-identifier` o `workgroup-name` per garantire che l’utente di Centro identità IAM abbia accesso solo alle applicazioni di Centro identità IAM di Amazon Redshift a cui è assegnato. Ad esempio, il AWS CLI comando seguente elenca le istruzioni per un cluster specifico.

```
aws redshift-data list-statements
--cluster-identifier {{mycluster}}
```

Puoi inoltre invocare le operazioni dell’API dati che accedono agli oggetti del database in un cluster o un gruppo di lavoro utilizzando una propagazione affidabile delle identità. Sono incluse le operazioni `list-databases`, `list-schemas`, `list-tables` e `describe-table`.

Le chiamate API effettuate dall’utente di Centro identità IAM possono essere monitorate in AWS CloudTrail. Una `onBehalfOf` sezione dell' CloudTrail evento mostra l'ID utente di IAM Identity Center e l'ARN dell'archivio di identità. L'esempio seguente mostra un frammento di un CloudTrail evento che mostra la `onBehalfOf` sezione con l'ID utente IAM Identity Center di `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` e l'ARN dell'archivio di identità di. `arn:aws:identitystore::123456789012:identitystore/d-9067bc44d2`

```
{
            "eventVersion":"1.10",
            "userIdentity":{
            "type":"AssumedRole",
            ...
            },
            "onBehalfOf":{
            "userId":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "identityStoreArn":"arn:aws:identitystore::123456789012:identitystore/d-9067bc44d2"
            }
            },
            "eventTime":"2025-01-13T04:46:27Z",
            "eventSource":"redshift-data.amazonaws.com",
            "eventName":"ExecuteStatement",
            "awsRegion":"us-east-1"
            }
```

Puoi eseguire il seguente comando SQL per verificare la query inviata dall’utente di Centro identità IAM. In questo esempio l’e-mail registrata in Centro identità è `username@example.com`.

```
SELECT
    h.query_id,
    h.database_name,
    h.status,
    h.query_text,
    u.usename,
    h.start_time,
    h.end_time
FROM
    sys_query_history h
LEFT JOIN
    pg_user u
ON
    h.user_id = u.usesysid
where u.usename='awsidc:{{username@example.com}}'    
ORDER BY
    h.start_time DESC;
```