View a markdown version of this page

Utilizzo dell’API dati con la propagazione affidabile delle identità - Amazon Redshift

Amazon Redshift non supporterà più l'uso delle UDF Python dopo il 30 giugno 2026. Inizieremo ad applicarlo per fasi. Per ulteriori informazioni sulla fine del ciclo di vita e sulle opzioni di migrazione di Python, consulta il post del blog pubblicato il 30 giugno 2025.

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à

In qualità di amministratore dell'account Amazon Redshift, puoi integrare il tuo cluster o gruppo di lavoro Amazon Redshift con Centro identità AWS IAM, il che aiuta a gestire l'accesso della forza lavoro ad Amazon Redshift con Single Sign-on. Per ulteriori informazioni, consulta Configurazione AWS Integrazione di IAM Identity Center con Amazon Redshift. 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 utilizzando una 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 chiama l'execute-statementoperazione per eseguire un comando SQL con propagazione affidabile dell'identità.

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

Il AWS CLI comando seguente chiama l'batch-execute-statementoperazione 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-statement 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 di IAM Identity Center a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 e l'ARN dell'Identity store 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;