Configurare OAuth per le connessioni Snowflake
Esistono diversi modi per configurare OAuth per le connessioni Snowflake, a seconda della versione di Tableau che stai utilizzando e del numero di siti che devi aggiornare. Questo argomento tratta la configurazione di ciascuna opzione disponibile.
- Per tutte le versioni di Tableau fino alla versione 2024.1 inclusa, il connettore Tableau Snowflake utilizza per impostazione predefinita un proxy OAuth ospitato in AWS (GALOP), che utilizza un ID client e un segreto comuni.
- A partire da Tableau versione 2020.4, puoi facoltativamente configurare Tableau Server affinché utilizzi un nuovo servizio OAuth eseguito nella stessa posizione dell'istanza di Tableau. A tale scopo è necessario fornire il proprio ID client e il proprio segreto, denominato OAuth personalizzato.
- A partire dalla versione 2024.2, il proxy GALOP sarà deprecato e saranno necessarie le istruzioni seguenti per l'impostazione di OAuth personalizzato, poiché ora verrà utilizzato il servizio OAuth locale per l'autenticazione.
- Per Tableau Desktop e Tableau Cloud versioni 2024.3 e successive, è possibile configurare un IdP di terze parti (OAuth esterno) per Snowflake. Per maggiori informazioni, consulta OAuth esterno per Snowflake.
I vantaggi forniti da OAuth personalizzato includono:
Maggiore sicurezza
È possibile utilizzare OAuth in ambienti isolati che non possono connettersi al proxy OAuth (GALOP).
Non è necessario inserire nell’elenco consentiti gli indirizzi GALOP IP per eseguire il flusso OAuth nei cloud privati virtuali AWS PrivateLink o Azure Private Link.
Registrare un client OAuth con Snowflake
Per utilizzare una configurazione OAuth personalizzata in Tableau Server, devi prima registrare il tuo client OAuth e ottenere un ID client e un segreto client per completare la configurazione. Per Tableau Server versione 2024.2 e successive, questo passaggio è obbligatorio, indipendentemente dall'opzione di configurazione che stai utilizzando. Per registrare un client OAuth personalizzato con Snowflake, esegui la procedura descritta in Configure Snowflake OAuth for Custom Clients(Il collegamento viene aperto in una nuova finestra).
Dopo la registrazione utilizzerai i seguenti parametri di Snowflake per configurare Tableau Server:
- URL istanza account
- ID client
- Segreto client
- URL di reindirizzamento
Nota: l'URL di reindirizzamento è lo stesso se inserito sia sul lato Snowflake che su Tableau. Il formato è:
https://your_server_url.com/auth/add_oauth_token
Ad esempio, https://example.com/auth/add_oauth_token
Opzione 1: configurare OAuth per le connessioni Snowflake utilizzando TSM
Ti consigliamo di utilizzare questa opzione quando devi aggiornare più siti contemporaneamente.
Nota: questa opzione di configurazione non è disponibile per l'uso in Tableau Cloud.
(Versione 2024.1 e precedenti) Nel computer Tableau Server esegui questo comando per abilitare il servizio OAuth di Snowflake:
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true
Nota: per la versione 2024.2 e successive, salta il passaggio 1 indipendentemente dal fatto che venga utilizzata o meno una connessione privata Snowflake.
Copia, incolla e personalizza questo comando in un editor di testo:
Nota: se apporti queste modifiche alla configurazione in Tableau Server 2021.1 e versioni successive, ricorda che il formato del valore di oauth.snowflake.clients è cambiato.
tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\", \"oauth.snowflake.client_id\":\"client_id_string\", \"oauth.snowflake.client_secret\":\"client_secret_string\", \"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"
La chiave
oauth.snowflake.clients
accetta una matrice di coppie di chiavi. Ogni elemento nella coppia di chiavi deve essere racchiuso tra virgolette doppie. Le virgolette doppie devono essere precedute da un carattere di escape:\"
.Per specificare più URL di istanza dell’account, separa ogni client OAuth aggiuntivo racchiuso tra parentesi graffe ({}) con una virgola (,), come in questo esempio:
tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string1\",\"oauth.snowflake.client_secret\":\"client_secret_string1\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" },{\"oauth.snowflake.instance_url\":\"https://account2.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string2\",\"oauth.snowflake.client_secret\":\"client_secret_string2\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"
Sostituisci i valori per ogni chiave:
- URL istanza account:
oauth.snowflake.instance_url
- ID client:
oauth.snowflake.client_id
- Segreto client:
oauth.snowflake.client_secret
- URL di reindirizzamento:
oauth.snowflake.redirect_uri
Nota: prima di eseguire il comando, verifica attentamente la sintassi. TSM non convaliderà questo input.
Copia il comando nell’interfaccia della riga di comando TSM ed eseguilo.
- URL istanza account:
Immetti il seguente comando applicare le modifiche:
tsm pending-changes apply
Se le modifiche in sospeso richiedono il riavvio del server, il comando
pending-changes apply
visualizzerà un messaggio per segnalare che verrà eseguito un riavvio. Questo messaggio viene visualizzato anche se il server è stato arrestato, ma in questo caso il riavvio non viene eseguito. Puoi eliminare la richiesta usando l’opzione--ignore-prompt
, ma questo non modifica il comportamento del riavvio. Se le modifiche non richiedono un riavvio, vengono applicate senza visualizzare alcun messaggio. Per maggiori informazioni, consulta tsm pending-changes apply.
Opzione 2: configura OAuth per le connessioni Snowflake per sito
Nota: questa opzione è disponibile anche per Tableau Cloud a partire dalla versione 2024.2.
Puoi configurare un client Snowflake OAuth personalizzato a livello di sito utilizzando l'interfaccia utente di Tableau Server.
Valuta la possibilità di configurare un client OAuth personalizzato per 1) sostituire un client OAuth configurato per il server o 2) abilitare il supporto per la connessione sicura ai dati che richiedono client OAuth univoci.
Quando viene configurato un client OAuth personalizzato, la configurazione a livello di sito ha la precedenza su qualsiasi configurazione lato server e tutte le nuove credenziali OAuth create utilizzano il client OAuth a livello di sito per impostazione predefinita. Non è necessario riavviare Tableau Server per rendere effettive le configurazioni.
Importante: le credenziali OAuth esistenti stabilite prima della configurazione del client OAuth personalizzato sono utilizzabili temporaneamente, ma sia gli amministratori del server che gli utenti devono aggiornare le credenziali salvate per garantire un accesso senza interruzioni ai dati.
1. Preparare l’ID client OAuth, il segreto client e l’URL di reindirizzamento
Prima di poter configurare il client OAuth personalizzato, sono necessarie le informazioni elencate di seguito. Dopo aver preparato queste informazioni, puoi registrare il client OAuth personalizzato per il sito. Per maggiori informazioni consulta la sezione Registrare il client OAuth con Snowflake riportata sopra.
ID client OAuth e segreto client: registra innanzitutto il client OAuth con il provider di dati (connettore) per recuperare l’ID client e il segreto generati per Tableau Server.
URL di reindirizzamento: annota l’URL di reindirizzamento corretto. Sarà necessario durante il processo di registrazione nella fase 2 di seguito.
https://<nome_del_server>.com/auth/add_oauth_token
Ad esempio, https://example.com/auth/add_oauth_token
2. Registrare l’ID client OAuth e il segreto client
Segui la procedura descritta di seguito per registrare il client OAuth personalizzato nel sito.
(Versione 2024.1 e precedenti) Nel computer Tableau Server esegui questo comando per abilitare il servizio OAuth di Snowflake:
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true
Nota: per la versione 2024.2 e successive, salta il passaggio 1 indipendentemente dal fatto che venga utilizzata o meno una connessione privata Snowflake.
Accedi al sito Tableau Server utilizzando le credenziali di amministratore e passa alla pagina Impostazioni.
In Registro client OAuth fai clic sul pulsante Aggiungi client OAuth.
Inserisci le informazioni richieste, comprese le informazioni della fase 1 precedente:
Per Tipo di connessione, seleziona il connettore per cui desideri configurare il client OAuth personalizzato.
L'URL dell'istanza OAuth è obbligatorio se si registrano più client OAuth, altrimenti è facoltativo.
Per ID client, Segreto client e URL di reindirizzamento, inserisci le informazioni che hai preparato nella fase 1 precedente.
Fai clic sul pulsante Aggiungi client OAuth per completare il processo di registrazione.
(Facoltativo) Ripeti la fase 3 per tutti i connettori supportati.
- Fai clic sul pulsante Salva nella parte inferiore o superiore della pagina Impostazioni per salvare le modifiche.
3. Convalidare e aggiornare le credenziali salvate
Per garantire un accesso senza interruzioni ai dati, tu (e gli utenti del sito) dovete eliminare le credenziali salvate in precedenza e aggiungerle di nuovo per utilizzare il client OAuth personalizzato per il sito.
Passa alla pagina Impostazioni account.
In Credenziali salvate per le origini dati procedi come segue:
Fai clic su Elimina accanto alle credenziali salvate esistenti per il connettore di cui hai configurato il client OAuth personalizzato nella fase 2 precedente.
Accanto al nome del connettore, fai clic su Aggiungi e segui le istruzioni per 1) connetterti al client OAuth personalizzato configurato nella fase 2 precedente e 2) salvare le credenziali più recenti.
4. Richiedere agli utenti di aggiornare le credenziali salvate
Assicurati di richiedere agli utenti del sito di aggiornare le credenziali salvate per il connettore di cui hai configurato il client OAuth personalizzato nella fase 2 precedente. Gli utenti del sito possono utilizzare la procedura descritta in Aggiornare le credenziali salvate per aggiornare le credenziali salvate.