Autorizzazione di Amazon Redshift ad accedere ai servizi AWS per tuo conto - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog.

Autorizzazione di Amazon Redshift ad accedere ai servizi AWS per tuo conto

Alcune caratteristiche di Amazon Redshift richiedono che Amazon Redshift acceda ad altri servizi AWS per tuo conto. Ad esempio, i comandi COPY e UNLOAD possono caricare o scaricare dati nel cluster Amazon Redshift usando un bucket Amazon S3. Il comando CREATE EXTERNAL FUNCTION può richiamare una funzione AWS Lambda utilizzando una funzione scalare Lambda definita dall'utente (UDF). Amazon Redshift Spectrum può usare un catalogo di dati in Amazon Athena o AWS Glue. Affinché i cluster Amazon Redshift possano agire per tuo conto, devi fornire le credenziali di sicurezza ai tuoi cluster. Il metodo preferito per fornire le credenziali di sicurezza consiste nello specificare un ruolo AWS Identity and Access Management (IAM). Per i comandi COPY e UNLOAD, puoi fornire le credenziali temporanee.

Gli utenti hanno bisogno di un accesso programmatico se desiderano interagire con AWS esternamente a Console di gestione AWS. La modalità con cui concedere l'accesso programmatico dipende dal tipo di utente che accede ad AWS.

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

Quale utente necessita dell'accesso programmatico? Per Come

Identità della forza lavoro

(Utenti gestiti nel centro identità IAM)

Utilizza credenziali temporanee per firmare richieste programmatiche alla AWS CLI, agli SDK AWS o alle API AWS.

Segui le istruzioni per l'interfaccia che desideri utilizzare.

IAM Utilizza credenziali temporanee per firmare richieste programmatiche alla AWS CLI, agli SDK AWS o alle API AWS. Segui le istruzioni in Utilizzo di credenziali temporanee con le risorse AWS nella Guida per l'utente IAM.
IAM

(Non consigliato)

Utilizza credenziali a lungo termine per firmare richieste programmatiche alla AWS CLI, agli SDK AWS o alle API AWS.

Segui le istruzioni per l'interfaccia che desideri utilizzare.

Di seguito viene illustrato come creare un ruolo IAM con le autorizzazioni appropriate per l'accesso ad altri servizi AWS. Devi anche associare il ruolo al cluster e specificare l'Amazon Resource Name (ARN) del ruolo quando esegui il comando Amazon Redshift. Per ulteriori informazioni, consulta Autorizzazione di operazioni COPY, UNLOAD, CREATE EXTERNAL FUNCTION e CREATE EXTERNAL SCHEMA utilizzando ruoli IAM.

Inoltre, un utente con privilegi avanzati può concedere il privilegio ASSUMEROLE a utenti e gruppi specifici per fornire l'accesso a un ruolo per le operazioni COPY e UNLOAD. Per ulteriori informazioni, consultare GRANT nella Guida per gli sviluppatori di database di Amazon Redshift.

Creazione di un ruolo IAM per permettere al cluster Amazon Redshift di accedere ai servizi AWS

Creazione di un ruolo IAM con le autorizzazioni

Per creare un ruolo IAM che consenta al cluster Amazon Redshift di comunicare con altri servizi AWS per tuo conto, completa la procedura riportata di seguito. I valori utilizzati in questa sezione sono esempi, è possibile scegliere i valori in base alle proprie esigenze.

Come creare un ruolo IAM per consentire ad Amazon Redshift di accedere ai servizi AWS
  1. Aprire la console IAM.

  2. Nel pannello di navigazione, selezionare Ruoli.

  3. Selezionare Create role (Crea ruolo).

  4. Seleziona Servizio AWS e quindi Redshift.

  5. In Select your use case (Seleziona il tuo caso d'uso) scegliere Redshift - Customizable (Redshift - Personalizzabile) e quindi scegliere Next: Permissions (Successivo: Autorizzazioni). Verrà visualizzata la pagina Attach permissions policy (Collega policy di autorizzazioni).

  6. Per l'accesso ad Amazon S3 tramite COPY, ad esempio, è possibile utilizzare AmazonS3ReadOnlyAccess e append. Per l'accesso ad Amazon S3 utilizzando COPY o UNLOAD, consigliamo di creare policy gestite che limitino di conseguenza l'accesso al bucket desiderato e al prefisso. Per le operazioni di lettura e scrittura, consigliamo di applicare i privilegi minimi e di limitare solo i bucket Amazon S3 e i prefissi chiave richiesti da Amazon Redshift.

    Per accedere alle funzioni Lambda per il comando CREATE EXTERNAL FUNCTION, aggiungi AWSLambdaRole.

    Per Redshift Spectrum, oltre all'accesso ad Amazon S3, aggiungere AWSGlueConsoleFullAccess o AmazonAthenaFullAccess.

    Scegli Successivo: Tag.

  7. Viene visualizzata la pagina Aggiungi tag. È inoltre possibile aggiungere i tag. Scegli Prossimo: Rivedi.

  8. Per Role name (Nome ruolo), digitare un nome per il ruolo, ad esempio RedshiftCopyUnload. Scegliere Crea ruolo.

  9. Il nuovo ruolo è disponibile per tutti gli utenti nei cluster che usano il ruolo. Per limitare l'accesso solo a utenti specifici in cluster specifici oppure a cluster in regioni specifiche, modificare la relazione di trust per il ruolo. Per ulteriori informazioni, consulta Limitazione dell'accesso a ruoli IAM.

  10. Associare il ruolo al cluster. È possibile associare un ruolo IAM a un cluster quando si crea il cluster oppure quando si aggiunge il ruolo a un cluster esistente. Per ulteriori informazioni, consulta Associazione di ruoli IAM ai cluster.

    Nota

    Per limitare l'accesso a dati specifici, utilizza un ruolo IAM che concede il minor numero di privilegi richiesti.