---
schema_version: "1"
id: 277f19a62f34d687a815f40e9ec362853dce1d91e551f068ff150769abc55860
title: Configurare OAuth di IAM per Amazon Redshift
collection: tableau
version: current
locale: it-it
portal_url: https://docs.salesforce.com/tableau/current/it-it/server/config_oauth_redshift_iam.md
canonical_url: https://help.tableau.com/current/server/it-it/config_oauth_redshift_iam.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 29289bc06ee01fb52d5dc7fcfb7c1cbe7a2555f5a78d3427d6414106f6c5bdc4
description: Set up Amazon Redshift IAM OAuth identity federation from an external IdP for Tableau.
---
[Passa al contenuto principale](#main-content)

# Configurare OAuth di IAM per Amazon Redshift

A partire da Tableau 2023.3.2, puoi utilizzare OAuth 2.0/OIDC per federare l’identità da un provider di identità esterno ad Amazon Redshift.

Queste istruzioni si riferiscono al servizio IAM di AWS precedente. Per l’integrazione con IAM IDC, consulta [Configurare OAuth di IAM Identity Center per Amazon Redshift](https://help.tableau.com/current/server/it-it/config_oauth_redshift_iam_idc.htm).

A seconda del provider di identità, sono necessari diversi passaggi per configurare l’integrazione. Questa è una panoramica generale. Tableau non può fornire istruzioni dettagliate su come configurare AWS o l’IdP, ma l’approccio complessivo è descritto di seguito.

## Fase 1. Configurare il token IDP

1. Crea i client OAuth nell’IdP per Tableau Desktop e Tableau Server o Tableau Cloud. Il client Desktop dovrebbe abilitare `PKCE` e utilizzare reindirizzamenti `http://localhost`.
2. Aggiungi le attestazioni personalizzate da utilizzare per l’autorizzazione dei ruoli. In particolare, se utilizzi il servizio IAM originale, potrebbe essere utile aggiungere le attestazioni per `DbUser` e `DbGroups`. Potranno essere utilizzate nei criteri IAM in un secondo momento.
3. Crea i file di configurazione OAuth di Tableau. Consulta la documentazione su [GitHub](https://tableau.github.io/connector-plugin-sdk/docs/oauth "Documentazione di OAuth su GitHub") e gli esempi disponibili [qui](https://github.com/tableau/connector-plugin-sdk/tree/master/samples/components/oauth "Esempi di OAuth su GitHub."). Siamo lieti di ricevere esempi per altri IdP.
    
    1. Assicurati di anteporre il prefisso “`custom_`” agli ID di configurazione OAuth di Tableau.
        
        **Nota:** gli ID di configurazione OAuth prevedono un limite massimo di 36 caratteri. ID più lunghi potrebbero non generare un errore, ma non funzioneranno.
    2. Se il tuo IdP supporta la porta localhost dinamica, disabilita `OAUTH_CAP_FIXED_PORT_IN_CALLBACK_URL`. Se il tuo IdP non la supporta, assicurati di aggiungere diversi URL di callback localhost all’elenco consentiti nel file di configurazione e nell’IdP.
4. Installa i nuovi file di configurazione Tableau Oauth nella cartella `OAuthConfigs` associata a ciascuna applicazione sugli host desktop (Tableau Desktop, Tableau Prep Builder, Tableau Bridge) e su ciascun sito Tableau Server e Tableau Cloud che utilizzerà OAuth.

## Configurare l’IdP in AWS

1\. Crea il modello IdP in AWS. Consulta i documenti di Amazon [Informazioni sulla federazione delle identità Web](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html "Documentazione di AWS sulla federazione delle identità Web") e [Creazione di provider di identità OIDC](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html "Documentazione di AWS sulla creazione di provider di identità OIDC").

2\. Creare ruoli e criteri specifici per l’IDP. Consulta [Creazione di un ruolo per OIDC](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html "Documentazione di AWS per la creazione di ruoli per OIDC") nella documentazione di AWS.

## Configurare i ruoli per gli utenti Redshift

Associa i criteri necessari per Redshift. Puoi utilizzare le attestazioni personalizzate nel token per autorizzare i ruoli. Esistono diversi esempi con SAML nella [documentazione di AWS](https://docs.aws.amazon.com/redshift/latest/mgmt/options-for-providing-iam-credentials.html "Documentazione di AWS per fornire le credenziali IAM"). Questi esempi possono essere facilmente adattati a OAuth. Nel caso di OAuth, le attestazioni sono semplicemente “`DbUser`”, “`DbGroups`” e così via.

Ecco un esempio del criterio dalla documentazione di AWS:

{  
"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:12345:dbuser:cluster-identifier/${redshift:DbUser}"  
    },  
    {  
        "Effect": "Allow",  
        "Action": "redshift:JoinGroup",  
        "Resource": "arn:aws:redshift:us-west-1:12345:dbgroup:cluster-identifier/my\_dbgroup"  
    },  
    {  
        "Effect": "Allow",  
        "Action": \[  
            "redshift:DescribeClusters",  
            "iam:ListRoles"  
        \],  
        "Resource": "\*"  
    }  
\]  
}

## Eseguire la connessione a Redshift

L’utente deve specificare l’ARN del ruolo da assumere e selezionare la configurazione OAuth installata in precedenza.

![](/tableau/current/it-it/server/it-it/Img/redshift_oauth__iam_connect.png)

Se configurato correttamente, l’utente verrà reindirizzato all’IdP per l’autenticazione e l’autorizzazione dei token per Tableau. Tableau riceverà i token OpenID e di aggiornamento. AWS è in grado di convalidare il token e la firma dell’IdP, estrarre le attestazioni dal token, cercare il mapping delle attestazioni al ruolo IAM e consentire o impedire a Tableau di assumere il ruolo per conto dell’utente. In altre parole, [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html "Documentazione di AWS per AssumeRoleWithWebIdentity").

## Token

Per impostazione predefinita, Redshift OAuth IAM passa il token ID al driver. Per i clienti locali, compresi quelli che utilizzano Tableau Bridge, puoi invece utilizzare un file TDC per passare il token di accesso.

<connection-customization class='redshift' enabled='true' version='10.0'>
	<vendor name='redshift' />
	<driver name='redshift' />
	<customizations>
		<customization name='CAP\_OAUTH\_FEDERATE\_ACCESS\_TOKEN' value='yes'/>
	</customizations>
</connection-customization>
		

Per maggiori informazioni sulla configurazione e l'installazione dei file .tdc, consulta [Personalizzare e ottimizzare una connessione](https://help.tableau.com/current/pro/desktop/it-it/connect_customize.htm) e [Utilizzare un file .tdc con Tableau Server](https://help.salesforce.com/s/articleView?id=001458291&type=1).

## Informazioni sulla federazione di gruppo

Quando si utilizza l’autenticazione OAuth con un ruolo IAM, è possibile scegliere se utilizzare o meno la federazione di gruppo. Ciò cambierà il modo in cui il connettore interagisce con l’API di autenticazione per interfacciarsi con Redshift.

- Quando la casella Federazione di gruppo (disponibile a partire dalla versione 2025.1) è selezionata durante la connessione, il driver Redshift utilizzerà l’API [`getClusterCredentialsWithIAM`](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentialsWithIAM.html) per ottenere le credenziali nei cluster forniti.
- Quando la casella Federazione di gruppo non è selezionata, verrà invece utilizzata l’API [`getClusterCredentials`](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentials.html).

Queste due API restituiranno token IAM con proprietà leggermente diverse. Per maggiori informazioni, consulta la documentazione dell’API AWS al collegamento riportato sopra e le [opzioni del driver ODBC](https://docs.aws.amazon.com/it_it/redshift/latest/mgmt/odbc20-configuration-options.html "Informazioni sulla configurazione di ODBC 2.0 con AWS").

#### Note sull’utilizzo

- Per Tableau Desktop e Tableau Prep Builder prima della versione 2024.3, questa funzionalità poteva essere impostata nel campo di configurazione avanzata del driver utilizzando ‘group\_federation=1’. Può anche essere configurata utilizzando un file TDC per definire proprietà personalizzate per la connessione. Per maggiori informazioni sull’utilizzo di un file TDC, consulta [Personalizzare e ottimizzare una connessione](https://help.tableau.com/current/pro/desktop/it-it/connect_customize.htm).
- A partire dalla versione 2024.3, nella finestra di dialogo di connessione per le soluzioni on-premise (Tableau Desktop, Tableau Prep Builder e Tableau Server) è presente un campo group\_federation. Sarà disponibile in Tableau Cloud a partire dalla versione 2025.1 (disponibile a febbraio 2025).
- Per utilizzare la federazione di gruppo con Tableau Server, è necessario aggiungere group\_federation all’elenco di parametri ODBC extras consentiti. Per maggiori informazioni, consulta [Personalizzare la stringa di connessione per i connettori nativi](Https://help.tableau.com/current/pro/desktop/it-it/connect_string_custom.htm).

## Okta

Se si utilizza Okta, è meglio utilizzare un “server di autorizzazione personalizzato” anziché il “server di autorizzazione dell’organizzazione”. I server di autorizzazione personalizzati sono più flessibili. Esiste un server di autorizzazione personalizzato creato per impostazione predefinita, denominato “predefinito”. L’URL di autorizzazione dovrebbe essere simile al seguente:

https://${yourOktaDomain}/oauth2/{authServerName}/v1/authorize

![](/tableau/current/it-it/server/it-it/Img/redshift_oauth_iam_okta_800x332.png)

## Aggiornare il driver

Per OAuth di Redshift con il servizio IAM originale, puoi utilizzare:

- Driver Redshift ODBC v1 a partire dalla versione 1.59, che è possibile scaricare da [https://docs.aws.amazon.com/redshift/latest/mgmt/configure-odbc-connection.html](https://docs.aws.amazon.com/redshift/latest/mgmt/configure-odbc-connection.html "Scarica il driver Redshift ODBC v1 da Amazon").
- Driver Redshift ODBC v2 a partire dalla versione 2.0.1.0, che è possibile scaricare da [https://github.com/aws/amazon-redshift-odbc-driver/tags](https://github.com/aws/amazon-redshift-odbc-driver/tags "Scarica il driver Redshift ODBC v2 da Amazon"). Tieni presente che non esiste un driver v2 per OSX.

## Risoluzione dei problemi

Il modo migliore per diagnosticare gli errori è rimuovere Tableau dal contesto. In alternativa, è possibile effettuare un test utilizzando il gestore driver o uno strumento simile. Questo serve solo per la risoluzione dei problemi: non dovresti usare un DSN o il connettore "Altro ODBC" per l'uso regolare di questa funzionalità. Per garantire la validità del test, i parametri devono essere gli stessi indicati di seguito, ad eccezione delle informazioni sul cluster, del database, del token e dello spazio dei nomi.

**Nota:** non specificare DbUser o DbGroups nella stringa di connessione del DSN durante i test, perché Tableau non ha accesso a questi elementi e non può includerli nella stringa di connessione. Puoi includerlo nelle attestazioni di token.

Se alla prima connessione viene visualizzato un messaggio di errore proveniente dal driver relativo a un token non valido/scaduto (sarà presente un codice di errore SQLState come \[28000\] o \[08001\] nel messaggio di errore), Tableau ha completato correttamente il flusso OAuth e si è verificato un problema nel driver. Questo significa che è presente una configurazione errata sul lato AWS o sul lato IdP. Il driver potrebbe inoltre restituire errori relativi alle autorizzazioni, anch’essi fuori dal controllo di Tableau.

Prima di iniziare il test, devi ottenere un token di accesso (predefinito per IAM IDC) o un token di aggiornamento (se personalizzato) da inviare al driver.

Ecco un esempio con Okta. Quasi tutti gli IdP offrono un metodo simile per eseguire questa operazione. Tieni presente che per utilizzare questo flusso devi aver abilitato il tipo di concessione della password per il proprietario della risorsa. Sostituisci l’URL l’IdP, il segreto client, l’ID client, il nome utente e la password.

curl -X POST "https://OKTA\_URL/v1/token" \\  
\-H 'accept: application/json' \\  
\-H "Authorization: Basic $(echo -n 'CLIENTID:CLIENTSECRET' | base64)" \\  
\-H "Content-Type: application/x-www-form-urlencoded" \\  
\-d "grant\_type=password&username=USER&password=PASSWORD&scope=openid"

Una volta ottenuto il token, puoi utilizzare un DSN per testarlo. Per Windows puoi utilizzare l’interfaccia utente del gestore driver ODBC. Su Mac puoi utilizzare l’interfaccia utente del gestore driver iODBC. Su Linux puoi utilizzare lo strumento della riga di comando isql incluso con Tableau Server nella cartella customer-bin.

I plug-in che utilizzano un profilo AWS fisso non funzioneranno a meno che tu non voglia utilizzare lo stesso profilo per tutti gli utenti per tale connessione. Gli altri plug-in OAuth richiedono l’accesso diretto al browser di sistema, che non funziona sul lato server.

Di seguito è riportato un esempio di utilizzo del gestore driver ODBC in Windows.

![](/tableau/current/it-it/server/it-it/Img/redshift_oauth_iam_troubleshoot.jpg)