OAuth configureren voor Snowflake-verbindingen

Er zijn verschillende manieren om OAuth te configureren voor Snowflake-verbindingen, afhankelijk van de versie van Tableau die u gebruikt en hoeveel sites u bijwerkt. In dit onderwerp wordt de configuratie voor elke beschikbare optie besproken.

  • Voor alle versies van Tableau tot en met versie 2024.1 maakt de Tableau Snowflake-connector standaard gebruik van een OAuth-proxy die wordt gehost in AWS (GALOP), die gebruikmaakt van een gemeenschappelijk(e) client-ID en geheim.
  • Vanaf Tableau 2020.4 kunt u desgewenst Tableau Server configureren om een nieuwe OAuth-service te gebruiken die op dezelfde locatie wordt uitgevoerd als die instantie van Tableau. Hiervoor moet u uw eigen client-ID en geheim opgeven, ook wel aangepaste OAuth genoemd.
  • Vanaf 2024.2 is de GALOP-proxy verouderd en zijn de onderstaande instructies voor het instellen van aangepaste OAuth vereist, omdat de lokale OAuth-service nu wordt gebruikt voor verificatie.
  • Voor Tableau Desktop en Tableau Cloud versie 2024.3 en later kunt u een externe IdP (externe OAuth) configureren voor Snowflake. Zie Externe OAuth voor Snowflake voor meer informatie.

De voordelen van aangepaste OAuth zijn onder meer:

  • Verbeterde beveiliging

  • U kunt OAuth gebruiken in geïsoleerde omgevingen die geen verbinding kunnen maken met de OAuth-proxy (GALOP).

  • U hoeft de GALOP IP-adressen niet op een toelatingslijst te plaatsen om de OAuth-flow uit te voeren in VPC's van AWS PrivateLink of Azure Private Link.

OAuth-client registreren bij Snowflake

Als u een aangepaste OAuth-set-up wilt gebruiken in Tableau Server, dient u eerst uw OAuth-client registreren en een client-ID en clientgeheim te verkrijgen om de configuratie te voltooien. Voor Tableau Server versie 2024.2 en hoger is deze stap vereist, ongeacht de configuratieoptie die u gebruikt. Als u een aangepaste OAuth-client bij Snowflake wilt registreren, volgt u de stappen in Configure Snowflake OAuth for Custom Clients (Snowflake OAuth configureren voor aangepaste clients)(Link wordt in een nieuw venster geopend).

Nadat u de registratie hebt voltooid, gebruikt u de volgende Snowflake-parameters om Tableau Server te configureren:

  • Accountinstantie-URL
  • Client-ID
  • Clientgeheim
  • Omleiding-URL

Opmerking: U voert dezelfde omleidings-URL in aan de Snowflake- en Tableau-zijde. Gebruik deze notatie:
https://your_server_url.com/auth/add_oauth_token
Bijvoorbeeld: https://example.com/auth/add_oauth_token

Optie 1: OAuth configureren voor Snowflake-verbindingen met behulp van TSM

Wij raden u aan deze optie te gebruiken als u meerdere sites tegelijk wilt bijwerken.

Opmerking: Deze configuratie-optie is niet beschikbaar voor gebruik in Tableau Cloud.

  1. (Versie 2024.1 en eerder) Voer op de Tableau Server-computer de volgende opdracht uit om de Snowflake OAuth-service in te schakelen:

    tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true

    Opmerking: Voor versie 2024.2 en nieuwer slaat u stap 1 over, ongeacht of er een Snowflake-privéverbinding wordt gebruikt.

  2. U kopieert en plakt de volgende opdracht in een teksteditor en past deze hierin aan:

    Opmerking: Als u deze configuratiewijzigingen aanbrengt in Tableau Server 2021.1 en hoger, dient u te weten dat de indeling van de waarde oauth.snowflake.clients is gewijzigd.

    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\" }]"

    De sleutel oauth.snowflake.clients neemt een array van sleutelparen op. Elk element in het sleutelpaar moet tussen dubbele aanhalingstekens worden geplaatst. Dubbele aanhalingstekens moeten worden genegeerd, hetgeen wordt aangegeven met een \" (escape-teken).

    Als u meerdere accountinstantie-URL's wilt opgeven, scheidt u elke aanvullende OAuth-client die tussen accolades ({}) is geplaatst met een komma (,), zoals in dit voorbeeld:

    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\" }]"

    Vervang de waarden voor elke sleutel:

    • Accountinstantie-URL:oauth.snowflake.instance_url
    • Client-ID: oauth.snowflake.client_id
    • Clientgeheim: oauth.snowflake.client_secret
    • Omleiding-URL: oauth.snowflake.redirect_uri

    Opmerking: controleer de syntaxis zorgvuldig voordat u de opdracht uitvoert. TSM valideert deze invoer niet.

    Kopieer de opdracht naar TSM CLI en voer de opdracht uit.

  3. Voer de volgende opdracht in om de wijzigingen toe te passen:

    tsm pending-changes apply

    Als voor de in behandeling zijnde wijzigingen de Server opnieuw moet worden opgestart, geeft de opdracht pending-changes apply een prompt weer om u te laten weten dat de server opnieuw wordt gestart. Deze prompt verschijnt ook als de server is gestopt, maar in dat geval vindt er geen herstart plaats. U kunt de prompt onderdrukken met de optie --ignore-prompt, maar dit verandert niets aan het herstartgedrag. Als opnieuw opstarten niet nodig is voor de wijzigingen, worden de wijzigingen zonder waarschuwing van een prompt toegepast. Zie tsm pending-changes apply voor meer informatie.

Optie 2: OAuth configureren voor Snowflake-verbindingen per site

Opmerking: Deze optie is ook beschikbaar voor Tableau Cloud vanaf versie 2024.2.

U kunt een aangepaste Snowflake OAuth-client op siteniveau configureren via de gebruikersinterface van Tableau Server.

U kunt een aangepaste OAuth-client configureren om 1) een OAuth-client te overschrijven als deze voor de server is geconfigureerd, of 2) ondersteuning te bieden voor een veilige verbinding met data waarvoor unieke OAuth-clients nodig zijn.

Wanneer een aangepaste OAuth-client is geconfigureerd, heeft de configuratie op siteniveau voorrang op eventuele configuraties aan de serverzijde en maken alle nieuwe OAuth-referenties standaard gebruik van de OAuth-client op siteniveau. U hoeft Tableau Server niet opnieuw op te starten om de configuraties van kracht te laten worden.

Belangrijk: Bestaande OAuth-referenties die zijn ingesteld voordat de aangepaste OAuth-client is geconfigureerd, zijn tijdelijk bruikbaar, maar zowel serverbeheerders als gebruikers moeten hun opgeslagen referenties bijwerken om ononderbroken toegang tot data te garanderen.

1: Bereid de OAuth-client-ID, het clientgeheim en de omleiding-URL voor

Voordat u de aangepaste OAuth-client kunt configureren, hebt u de onderstaande informatie nodig. Nadat u deze informatie hebt voorbereid, kunt u de aangepaste OAuth-client voor de site registreren. Zie de bovenstaande sectie OAuth-client registreren bij Snowflake, boven voor meer informatie.

  • OAuth-client-ID en clientgeheim: Registreer eerst de OAuth-client bij de dataprovider (connector) om de client-ID en het geheim op te halen die voor Tableau Server zijn gegenereerd.

  • Omleiding-URL: Let op de juiste omleiding-URL. U hebt deze nodig tijdens het registratieproces in Stap 2 hieronder.

    https://<uw_servernaam>.com/auth/add_oauth_token

    Bijvoorbeeld: https://example.com/auth/add_oauth_token

2: Registreer de OAuth-client-ID en het clientgeheim

Voer de hieronder beschreven procedure uit om de aangepaste OAuth-client op de site te registreren.

  1. (Versie 2024.1 en eerder) Voer op de Tableau Server -computer de volgende opdracht uit om de Snowflake OAuth-service in te schakelen:

    tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true

    Opmerking: Voor versie 2024.2 en nieuwer slaat u stap 1 over, ongeacht of er een Snowflake-privéverbinding wordt gebruikt.

  2. Meld u aan bij uw Tableau Server-site met uw beheerdersreferenties en navigeer naar de pagina Instellingen.

  3. Ga naar Register OAuth-clients en klik op de knop OAuth-client toevoegen.

  4. Vul de vereiste informatie in, inclusief de informatie van Stap 1 hierboven:

    1. Bij Verbindingstype selecteert u de connector waarvan u de aangepaste OAuth-client wilt configureren.

    2. URL voor OAuth-instantie is vereist als er meerdere OAuth-clients worden geregistreerd. Anders is het optioneel.

    3. Bij Klant-ID, Klantgeheim en Omleiding-URL, voert u de informatie in die u hebt voorbereid in Stap 1 hierboven.

    4. Klik op de knop OAuth-client toevoegen om het registratieproces te voltooien.

  5. (Optioneel) Herhaal stap 3 voor alle ondersteunde connectors.

  6. Klik op de knop Opslaan onder- of bovenaan de pagina Instellingen om de wijzigingen op te slaan.

3: Valideer de opgeslagen referenties en werk deze bij

U (en uw sitegebruikers) moeten de eerder opgeslagen referenties verwijderen en deze opnieuw toevoegen om de aangepaste OAuth-client voor de site te gebruiken en ononderbroken toegang tot de data te garanderen.

  1. Navigeer naar de pagina Mijn accountinstellingen.

  2. Voer de volgende stappen uit onder Opgeslagen referenties voor databronnen:

    1. Klik op Verwijderen naast de bestaande opgeslagen referenties voor de connector waarvan u de aangepaste OAuth-client hebt geconfigureerd in Stap 2 hierboven.

    2. Klik naast de connectornaam op Toevoegen en volg de aanwijzingen om 1) verbinding te maken met de aangepaste OAuth-client die is geconfigureerd in Stap 2 hierboven en 2) om de meest recente referenties op te slaan.

4: Informeer gebruikers dat ze hun opgeslagen referenties moeten bijwerken

Laat uw sitegebruikers weten dat ze hun opgeslagen referenties moeten bijwerken voor de connector waarvan u de aangepaste OAuth-client hebt geconfigureerd in Stap 2 hierboven. Sitegebruikers kunnen hun opgeslagen referenties bijwerken aan de hand van de procedure die wordt beschreven in Opgeslagen referenties bijwerken.

Bedankt voor uw feedback.De feedback is verzonden. Dank u wel.