Autenticazione di una query pianificata - Amazon Redshift

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.

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

Autenticazione di una query pianificata

Quando si pianifica una query, è possibile utilizzare uno dei seguenti metodi di autenticazione durante l'esecuzione di SQL. Ogni metodo richiede una diversa combinazione di input nell'editor di query v2. Questi metodi di autenticazione sono supportati dall'API dei dati utilizzata per eseguire le istruzioni SQL.

L'utente o il ruolo del database utilizzato per eseguire la query deve disporre dei privilegi di database necessari. Ad esempio, per concedere a IAMR:MyRedshiftQEv2Scheduler i privilegi alla tabella mytable, esegui il seguente comando SQL.

GRANT all ON TABLE mytable TO "IAMR:MyRedshiftQEv2Scheduler";

Per visualizzare l'elenco degli utenti del database nel cluster o nel gruppo di lavoro, interroga la vista del sistema PG_USER_INFO.

Nota

Qualsiasi gruppo di lavoro Redshift serverless per il quale pianifichi le query deve essere contrassegnato con la chiave RedshiftDataFullAccess. Per ulteriori informazioni, consulta Autorizzazione di accesso all'API dati di Amazon Redshift.

In alternativa all'etichettatura del gruppo di lavoro, puoi aggiungere una policy in linea al ruolo IAM (specificata nella pianificazione) che consenta redshift-serverless:GetCredentials. Esempio:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "UseTemporaryCredentialsForAllServerlessWorkgroups", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": [ "arn:aws:redshift-serverless:*:*:workgroup/*" ] } ] }
Gestione dei segreti AWS

Con questo metodo, fornire il valore del segreto per secret-arn archiviato in Gestione dei segreti AWS. Questo segreto contiene le credenziali per la connessione al database. Potresti avere creato un segreto con le credenziali corrette quando hai creato il cluster o il gruppo di lavoro. Il segreto deve essere taggato con la chiave RedshiftDataFullAccess. Se la chiave del tag non è già presente, usa la Gestione dei segreti AWS console per aggiungerla. Per ulteriori informazioni sulla creazione di un segreto, consulta Creazione di un segreto per le credenziali di connessione al database.

Per ulteriori informazioni sulle autorizzazioni minime, consultare Creazione e gestione di segreti con Gestione dei segreti AWSnella Guida per l'utente di Gestione dei segreti AWS.

Credenziali temporanee

Quando ti connetti a un database in un cluster con questo metodo, fornisci i valori per Nome del database e Utente del database. Quando ti connetti a un database in un gruppo di lavoro, fornisci solo il Nome del database.

Quando ci si connette a un cluster, la policy AmazonRedshiftDataFullAccess consente all'utente del database denominat oredshift_data_api_userl'autorizzazione per redshift:GetClusterCredentials. Se desideri utilizzare un diverso utente di database per eseguire l'istruzione SQL, aggiungi una policy al ruolo IAM collegato al cluster per consentire redshift:GetClusterCredentials. La seguente policy di esempio consente gli utenti del database awsuser e myuser.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "UseTemporaryCredentialsForAllDbUsers", "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": [ "arn:aws:redshift:*:*:dbuser:*/awsuser", "arn:aws:redshift:*:*:dbuser:*/myuser" ] } ] }