Azzurro - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuovi Python a UDFs partire dal 1° novembre 2025. Se vuoi usare Python UDFs, crea la UDFs data precedente a quella data. Python esistente UDFs continuerà a funzionare normalmente. 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à.

Azzurro

È possibile utilizzare Microsoft Azure AD come provider di identità (IdP) per accedere al cluster Amazon Redshift. Questo tutorial mostra come usare Azure come provider di identità (IdP) per accedere al tuo cluster Amazon Redshift.

Per informazioni su come federare l'accesso di Amazon Redshift con il single sign-on di Microsoft Azure AD, guarda il video seguente.

Passaggio 1: configura Azure e il tuo AWS account in modo che si fidino l'uno dell'altro

La procedura seguente descrive come impostare una relazione di fiducia.

Per configurare Azure AD e il tuo AWS account in modo che si fidino l'uno dell'altro
  1. Crea o utilizza un cluster Amazon Redshift esistente a cui possono connettersi gli utenti di Azure AD. Per configurare la connessione, sono necessarie alcune proprietà di questo cluster, ad esempio l'identificatore del cluster. Per ulteriori informazioni, consulta Creazione di un cluster.

  2. Configura un Azure Active Directory, i gruppi e gli utenti utilizzati AWS sul portale Microsoft Azure.

  3. Aggiungi Amazon Redshift come applicazione aziendale sul portale Microsoft Azure da utilizzare per il single sign-on alla AWS console e l'accesso federato ad Amazon Redshift. Scegliere Enterprise application (Applicazione aziendale).

  4. Scegliere +New application (+Nuova applicazione). Viene visualizzata la pagina di aggiunta di un'applicazione.

  5. Cercare AWS nel campo di ricerca.

  6. Seleziona Amazon Web Services (AWS) quindi scegli Aggiungi. Viene creata l'applicazione AWS .

  7. In Manage (Gestisci), scegliere Single Sign-On.

  8. Scegli SAML. Viene visualizzata la pagina Amazon Web Services (AWS) | Accesso basato su SAML.

  9. Scegliere Yes (Sì) per passare alla pagina di configurazione Single Sign-On con SAML. In questa pagina è riportato l'elenco degli attributi preconfigurati correlati alla funzionalità Single Sign-On.

  10. Per Basic SAML Configuration (Configurazione SAML di base), scegliere l'icona di modifica e selezionare Save (Salva).

  11. Quando si configurano più applicazioni, fornire un valore di identificatore. Ad esempio, specifica https://signin.aws.amazon.com/saml#2. Dalla seconda applicazione in poi utilizzare questo formato con un segno # per specificare un valore SPN univoco.

  12. Nella sezione User Attributes and Claims (Attributi utente e registrazioni), scegliere l'icona di modifica.

    Per impostazione predefinita, l'Unique User Identifier (UID), il ruolo e le attestazioni sono preconfigurati. RoleSessionName SessionDuration

  13. Scegliere + Add new claim (+ Aggiungi nuova registrazione) per aggiungere una registrazione per gli utenti del database.

    Per Nome, immetti DbUser.

    Per Namespace (Spazio dei nomi), immettere https://redshift.amazon.com/SAML/Attributes.

    In Source (Origine), scegliere Attribute (Attributo).

    In Source attribute (Attributo di origine), scegliere user.userprincipalname. Quindi, scegliere Save (Salva).

  14. Scegli + Aggiungi nuovo reclamo per cui aggiungere un reclamo. AutoCreate

    Per Nome, immetti AutoCreate.

    Per Namespace (Spazio dei nomi), immettere https://redshift.amazon.com/SAML/Attributes.

    In Source (Origine), scegliere Attribute (Attributo).

    Per Source attribute (Attributo di origine), scegliere "true". Quindi, scegliere Save (Salva).

    Qui, 123456789012 è l'account AWS , AzureSSO è un ruolo IAM creato e AzureADProvider è il provider IAM.

    Nome di registrazione Valore

    Identificatore utente univoco (ID nome)

    user.userprincipalname

    https://aws.amazon.com/SAML/Attributes/SessionDuration

    900

    https://aws.amazon.com/SAML/Attributes/Role

    arn:aws:iam: :role/, arn:aws:iam: :saml-provider/ 123456789012 AzureSSO 123456789012 AzureADProvider

    https://aws.amazon.com/SAML/Attributes/RoleSessionName

    user.userprincipalname

    https://redshift.amazon.com/SAML/Attributes/AutoCreate

    "true"

    https://redshift.amazon.com/SAML/Attributes/DbGroups

    user.assignedroles

    https://redshift.amazon.com/SAML/Attributes/DbUser

    user.userprincipalname

  15. In App Registration (Registrazione app) > your-application-name > Authentication (Autenticazione), aggiungere Mobile And Desktop Application (Applicazione mobile e desktop). Specificare l'URL come http://localhost/redshift/.

  16. Nella sezione SAML Signing Certificate (Certificato di firma SAML), scegliere Download (Scarica) per scaricare e salvare il file XML dei metadati della federazione da utilizzare durante la creazione di un provider di identità SAML IAM. Questo file viene utilizzato per creare l'identità Single Sign-On federata.

  17. Creare un provider di identità SAML IAM nella console IAM. Il documento dei metadati fornito è il file XML dei metadati della federazione salvato quando si configura l'applicazione Azure Enterprise. Per la procedura dettagliata, consultare Creazione e gestione di un provider di identità IAM (console) nella Guida per l'utente di IAM.

  18. Creare un ruolo IAM per la federazione SAML 2.0 nella console IAM. Per la procedura dettagliata, consulta Creazione di un ruolo per SAML nella Guida per l'utente di IAM.

  19. Creare una policy IAM che è possibile collegare al ruolo IAM creato per la federazione SAML 2.0 nella console IAM. Per la procedura dettagliata, consulta Creazione di policy IAM (console) nella Guida per l'utente di IAM.

    Modificare le policy seguenti (in formato JSON) per l'ambiente:

    • Sostituisci AWS la regione del tuo cluster con. us-west-1

    • Sostituisci il tuo AWS account con. 123456789012

    • Sostituire l'identificatore del cluster (o * per tutti i cluster) per cluster-identifier.

    • Sostituire il database (o * per tutti i database) per dev.

    • Sostituire l'identificatore univoco del ruolo IAM per AROAJ2UCCR6DPCEXAMPLE.

    • Sostituire il dominio dell'e-mail del tenant o della società per example.com.

    • Sostituire il gruppo di database a cui si intende assegnare l'utente per my_dbgroup.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": [ "arn:aws:redshift:us-west-1:123456789012:dbname:cluster-identifier/dev", "arn:aws:redshift:us-west-1:123456789012:dbuser:cluster-identifier/${redshift:DbUser}", "arn:aws:redshift:us-west-1:123456789012:cluster:cluster-identifier" ], "Condition": { "StringEquals": { "aws:userid": "AROAJ2UCCR6DPCEXAMPLE:${redshift:DbUser}@example.com" } } }, { "Effect": "Allow", "Action": "redshift:CreateClusterUser", "Resource": "arn:aws:redshift:us-west-1:123456789012:dbuser:cluster-identifier/${redshift:DbUser}" }, { "Effect": "Allow", "Action": "redshift:JoinGroup", "Resource": "arn:aws:redshift:us-west-1:123456789012:dbgroup:cluster-identifier/my_dbgroup" }, { "Effect": "Allow", "Action": [ "redshift:DescribeClusters", "iam:ListRoles" ], "Resource": "*" } ] }

    Questa policy concede le autorizzazioni come segue:

    • La prima sezione concede l'autorizzazione all'operazione API GetClusterCredentials per ottenere credenziali temporanee per il cluster specificato. In questo esempio, la risorsa è cluster-identifier con database dev, nell'account 123456789012 e nella regione AWS us-west-1. La clausola ${redshift:DbUser} consente di connettersi solo agli utenti che corrispondono al valore DbUser specificato in Azure AD.

    • La clausola di condizione definisce che solo alcuni utenti ottengono le credenziali temporanee. Sono utenti con il ruolo specificato dall'ID univoco del ruolo AROAJ2UCCR6DPCEXAMPLE nell'account IAM identificato da un indirizzo e-mail nel dominio e-mail della società. Per ulteriori informazioni su unique IDs, consulta Unique IDs nella IAM User Guide.

      L'installazione con l'IDP (in questo caso Azure AD) determina la modalità di scrittura della clausola di condizione. Se l'e-mail del dipendente è johndoe@example.com, ${redshift:DbUser} impostare innanzitutto il campo super che corrisponde al nome utente del dipendente johndoe. Per il funzionamento di questa condizione, imposta il campo RoleSessionName di AWS SAML sul campo super che corrisponde all'e-mail del dipendente johndoe@example.com. Quando si adotta questo approccio, considerare quanto segue:

      • Se si imposta ${redshift:DbUser} in modo che sia l'e-mail del dipendente, rimuovere il JSON @example.com di esempio per associare il RoleSessionName.

      • Se si imposta RoleSessionId in modo che sia solo il nome utente del dipendente, rimuovere @example.com nell'esempio per associare il RoleSessionName.

      • Nell'esempio JSON, ${redshift:DbUser} e RoleSessionName sono entrambi impostati sull'e-mail del dipendente. In questo esempio JSON utilizza il nome utente del database Amazon Redshift con @example.com per consentire all'utente di accedere al cluster.

    • La seconda sezione concede l'autorizzazione per creare un nome dbuser nel cluster specificato. In questo esempio, JSON limita la creazione a ${redshift:DbUser}.

    • La terza sezione concede l'autorizzazione per specificare il dbgroup al quale un utente può partecipare. In questo esempio JSON, un utente può unirsi al gruppo my_dbgroup nel cluster specificato.

    • La quarta sezione concede l'autorizzazione alle operazioni che l'utente può eseguire su tutte le risorse. In questo esempio, JSON, consente agli utenti di effettuare chiamate per redshift:DescribeClusters ottenere informazioni sul cluster, come l'endpoint, la AWS regione e la porta del cluster. Consente inoltre agli utenti di chiamare iam:ListRoles per verificare quali ruoli un utente può assumere.

Passaggio 2: configurare JDBC o ODBC per l'autenticazione su Azure

JDBC
Per configurare JDBC per l'autenticazione in Microsoft Azure AD
  • Configurare il client di database per connettersi al cluster tramite JDBC usando Azure AD Single Sign-On.

    È possibile utilizzare qualsiasi client che utilizza un driver JDBC per connettersi tramite Azure AD Single Sign-On o usare un linguaggio come Java per connettersi utilizzando uno script. Per informazioni sull'installazione e sulla configurazione, consulta Configurazione di una connessione per la versione 2.x del driver JDBC per Amazon Redshift.

    Ad esempio, puoi usare SQLWorkbench/J come client. Quando configuri SQLWorkbench /J, l'URL del database utilizza il seguente formato.

    jdbc:redshift:iam://cluster-identifier:us-west-1/dev

    Se lo usi SQLWorkbench/J come client, procedi nel seguente modo:

    1. Avvia SQL Workbench/J. Sulla pagina Seleziona profilo di connessione, aggiungi un Gruppo di profili denominato AzureAuth.

    2. Per Connection Profile (Profilo connessione), immettere Azure.

    3. Selezionare Manage Drivers (Gestisci driver), quindi Amazon Redshift. Scegliere l'icona Open Folder (Apri cartella) accanto a Library (Libreria), quindi scegliere il file JDBC .jar appropriato.

    4. Nella pagina Select Connection Profile (Seleziona profilo connessione), aggiungere informazioni al profilo di connessione come segue:

      • Per User (Utente), immettere il nome utente di Microsoft Azure. Si tratta del nome utente dell'account Microsoft Azure che si sta utilizzando per Single Sign-On che dispone delle autorizzazioni per il cluster per il quale si sta tentando di autenticare l'utilizzo.

      • Per Password, immettere la password di Microsoft Azure.

      • Per Drivers (Driver), scegliere Amazon Redshift (com.amazon.comredShift.jdbc.driver).

      • Per URL, immettere jdbc:redshift:iam://your-cluster-identifier:your-cluster-region/your-database-name.

    5. Scegliere Extended Properties (Proprietà estese) per aggiungere ulteriori informazioni alle proprietà di connessione, come descritto di seguito:

      Per la configurazione Single Sign-On di Azure AD, aggiungere ulteriori informazioni come segue:

      • Per plugin_name, immettere com.amazon.redshift.plugin.AzureCredentialsProvider. Questo valore indica al driver di utilizzare Azure AD Single Sign-On come metodo di autenticazione.

      • Per idp_tenant, immettere your-idp-tenant. Utilizzato solo per Microsoft Azure AD. Si tratta del nome tenant dell'azienda configurata in Azure AD. Questo valore può essere il nome del tenant o l'ID univoco tenant con trattini.

      • Per client_secret, immettere your-azure-redshift-application-client-secret. Utilizzato solo per Microsoft Azure AD. Questo è il segreto client dell'applicazione Amazon Redshift creata durante la configurazione di Azure Single Sign-On. Questo è applicabile solo al com.amazon.redshift.plugin. AzureCredentialsProviderplugin.

      • Per client_id, immettere your-azure-redshift-application-client-id. Utilizzato solo per Microsoft Azure AD. Si tratta dell'ID client (con trattini) dell'applicazione Amazon Redshift creata durante la configurazione di Azure Single Sign-On.

      Per la configurazione Single Sign-On di Azure AD con autenticazione a più fattori (MFA), aggiungere ulteriori informazioni alle proprietà di connessione come segue:

      • Per plugin_name, immettere com.amazon.redshift.plugin.BrowserAzureCredentialsProvider. Questo valore indica al driver di utilizzare Single Sign-On di Azure AD con autenticazione a più fattori (MFA) come metodo di autenticazione.

      • Per idp_tenant, immettere your-idp-tenant. Utilizzato solo per Microsoft Azure AD. Si tratta del nome tenant dell'azienda configurata in Azure AD. Questo valore può essere il nome del tenant o l'ID univoco tenant con trattini.

      • Per client_id, immettere your-azure-redshift-application-client-id. Questa opzione è utilizzata solo per Microsoft Azure AD. Si tratta dell'ID client (con trattini) dell'applicazione Amazon Redshift creata durante la configurazione di Single Sign-On di Azure AD con autenticazione a più fattori (MFA).

      • Per listen_port, immettere your-listen-port. Questa è la porta ascoltata dal server locale. Il valore predefinito è 7890.

      • In idp_response_timeout, immettere the-number-of-seconds. Questo è il numero di secondi di attesa prima del timeout quando il server IdP restituisce una risposta. Il numero minimo di secondi deve essere 10. Se stabilire la connessione richiede più tempo della soglia prevista, l'operazione viene interrotta.

ODBC
Per configurare ODBC per l'autenticazione in Microsoft Azure AD
  • Configurare il client di database per connettersi al cluster tramite ODBC utilizzando Azure AD Single Sign-On.

    Amazon Redshift fornisce driver ODBC per i sistemi operativi Linux, Windows e macOS. Prima di installare un driver ODBC, è necessario determinare se lo strumento client SQL è a 32 o 64 bit. Installare il driver ODBC che soddisfa i requisiti dello strumento client SQL.

    In Windows, nella pagina Amazon Redshift ODBC Driver DSN Setup (Configurazione DSN Driver ODBC Amazon Redshift) in Connection Settings (Impostazioni connessione), immettere le seguenti informazioni:

    • Per Data Source Name (Nome origine dati), immettere your-DSN. Specificare il nome dell'origine dati utilizzato come nome del profilo ODBC.

    • Nel campo Tipo di autenticazione per la configurazione Single Sign-On di Azure AD, scegliere Identity Provider: Azure AD. Si tratta del metodo di autenticazione utilizzato dal driver ODBC per autenticare mediante Azure Single Sign-On.

    • Nel campo Tipo di autenticazione per la configurazione Single Sign-On di Azure AD con autenticazione a più fattori (MFA), scegliere Identity Provider: Browser Azure AD. Si tratta del metodo di autenticazione utilizzato dal driver ODBC per autenticare mediante Azure Single Sign-On con MFA.

    • Per Cluster ID (ID cluster), immettere your-cluster-identifier.

    • Per Region (Regione), immettere your-cluster-region.

    • Per Database, immettere your-database-name.

    • Per User (Utente), immettere your-azure-username. Si tratta del nome utente dell'account Microsoft Azure che si sta utilizzando per Single Sign-On che dispone delle autorizzazioni per il cluster per il quale si sta tentando di autenticare l'utilizzo. Utilizzarlo solo se Auth Type (Tipo di autorizzazione) è Identity Provider: Azure AD (Provider di identità: Azure AD).

    • Per Password, immettere your-azure-password. Utilizzarlo solo se Auth Type (Tipo di autorizzazione) è Identity Provider: Azure AD (Provider di identità: Azure AD).

    • Per iDP Tenant (Tenant Idp), immettere your-idp-tenant. Si tratta del nome del tenant della società configurata in IDP (Azure). Questo valore può essere il nome del tenant o l'ID univoco tenant con trattini.

    • Per Azure Client Secret (Segreto client di Azure), immettere your-azure-redshift-application-client-secret. Questo è il segreto client dell'applicazione Amazon Redshift creata durante la configurazione di Azure Single Sign-On.

    • Per Azure Client ID (ID client di Azure), immettere your-azure-redshift-application-client-id. Si tratta dell'ID client (con trattini) dell'applicazione Amazon Redshift creata durante la configurazione di Azure Single Sign-On.

    • Per Listen Port (Porta di ascolto), immettere your-listen-port. Questa è la porta di ascolto predefinita ascoltata dal server locale. Il valore predefinito è 7890. Si applica solo al plug-in Browser Azure AD.

    • In Response Timeout (Timeout di risposta), immettere the-number-of-seconds. Questo è il numero di secondi di attesa prima del timeout quando il server IdP restituisce una risposta. Il numero minimo di secondi deve essere 10. Se stabilire la connessione richiede più tempo della soglia prevista, l'operazione viene interrotta. Questa opzione si applica solo al plug-in Browser Azure AD.

    Su macOS e Linux, modificare il file odbc.ini come segue:

    Nota

    Tutte le voci non fanno distinzione tra maiuscole e minuscole.

    • Per clusterid, immettere your-cluster-identifier. Questo è il nome del cluster Amazon Redshift creato.

    • Per region, immettere your-cluster-region. Questa è la AWS regione del cluster Amazon Redshift creato.

    • Per database, immettere your-database-name. Questo è il nome del database a cui si sta provando ad accedere nel cluster Amazon Redshift.

    • Per locale, immettere en-us. Questa è la lingua in cui vengono visualizzati i messaggi di errore.

    • Per iam, immettere 1. Questo valore consente al driver di eseguire l'autenticazione utilizzando le credenziali IAM.

    • In plugin_name per la configurazione Single Sign-On di Azure AD, immettere AzureAD. Specifica al driver di utilizzare Azure Single Sign-On come metodo di autenticazione.

    • In plugin_name per la configurazione Single Sign-On di Azure AD con autenticazione a più fattori (MFA), immettere BrowserAzureAD. Indica al driver di utilizzare Azure Single Sign-On con MFA come metodo di autenticazione.

    • Per uid, immettere your-azure-username. Si tratta del nome utente dell'account Microsoft Azure che si sta utilizzando per Single Sign-On che dispone delle autorizzazioni per il cluster a cui si sta tentando di autenticarsi. Utilizzare solo per plugin_name è AzureAD.

    • Per PWD, immettere your-azure-password. Utilizzare solo per plugin_name è AzureAD.

    • Per idp_tenant, immettere your-idp-tenant. Si tratta del nome del tenant della società configurata in IDP (Azure). Questo valore può essere il nome del tenant o l'ID univoco tenant con trattini.

    • Per client_secret, immettere your-azure-redshift-application-client-secret. Questo è il segreto client dell'applicazione Amazon Redshift creata durante la configurazione di Azure Single Sign-On.

    • Per client_id, immettere your-azure-redshift-application-client-id. Si tratta dell'ID client (con trattini) dell'applicazione Amazon Redshift creata durante la configurazione di Azure Single Sign-On.

    • Per listen_port, immettere your-listen-port. Questa è la porta ascoltata dal server locale. Il valore predefinito è 7890. Questo si applica al plug-in Browser Azure AD.

    • In idp_response_timeout, immettere the-number-of-seconds. Questo è il periodo di tempo specificato in secondi di attesa della risposta da Azure. Questa opzione si applica al plug-in Browser Azure AD.

    Su macOS e Linux, modificare anche le impostazioni del profilo per aggiungere le seguenti esportazioni.

    export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
    export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini

Risoluzione dei problemi

Per risolvere i problemi relativi al plug-in Browser Azure AD, considera quanto segue.

  • Per usare il plugin Browser Azure AD, è necessario impostare l'URL di risposta specificato nella richiesta in modo che corrisponda all'URL di risposta configurato per l'applicazione. Passare alla pagina Configura Single Sign-On con SAML nel portale di Microsoft Azure. Quindi controllare che l'URL di risposta sia impostato su http://localhost/redshift/.

  • Se viene visualizzato un errore tenant IdP, verificare che il nome tenant IdP corrisponda al nome di dominio utilizzato inizialmente per configurare Active Directory in Microsoft Azure.

    Su Windows, passa alla sezione Impostazioni connessione della pagina Configurazione DSN ODBC di Amazon Redshift. Verificare quindi che il nome del tenant della società configurata nell'IdP (Azure) corrisponda al nome di dominio utilizzato inizialmente per configurare Active Directory in Microsoft Azure.

    Su macOS e Linux, trova il file odbc.ini . Verificare quindi che il nome del tenant della società configurata nell'IdP (Azure) corrisponda al nome di dominio utilizzato inizialmente per configurare Active Directory in Microsoft Azure.

  • Se ricevi un errore che indica che l'URL di risposta specificato nella richiesta non corrisponde alla risposta URLs configurata per l'applicazione, verifica che il reindirizzamento URIs sia lo stesso dell'URL di risposta.

    Passare alla pagina di registrazione app dell'applicazione nel portale di Microsoft Azure. Quindi controlla che il reindirizzamento URIs corrisponda all'URL di risposta.

  • Se si ottiene la risposta imprevista: errore non autorizzato, verificare di aver completato la configurazione delle applicazioni mobili e desktop.

    Passare alla pagina di registrazione app dell'applicazione nel portale di Microsoft Azure. Quindi vai su Autenticazione e verifica di aver configurato le applicazioni mobili e desktop per utilizzare http://localhost/redshift/ come reindirizzamento URIs.