---
schema_version: "1"
id: 49d8ec174f9e34cd847645aba650ebf24667ef10c51b46e29066373c1e22aeb2
title: "Externe OAuth configureren voor Snowflake: flow voor clientreferenties"
collection: tableau
version: next
locale: nl-nl
portal_url: https://docs.salesforce.com/tableau/next/nl-nl/online/config_oauth_snowflake_client_creds.md
canonical_url: https://help.tableau.com/v0.0/online/nl-nl/config_oauth_snowflake_client_creds.htm
source_site: help.tableau.com
content_type: documentation
content_hash: e1e341d23a041804767975f6752b7ad666b7e94d59a903989d068e35c4d7ace3
description: Configure Azure AD OAuth and modern authentication for Azure and Microsoft connectors in Tableau Server.
---
[Doorgaan naar hoofdinhoud](#main-content)

# Externe OAuth configureren voor Snowflake: flow voor clientreferenties

Verificatie van clientreferenties met OAuth maakt machine-naar-machine-verbindingen met Snowflake mogelijk

zonder gebruikersinteractie. Deze methode is ideaal voor:

- Serviceaccounts voor automatische datavernieuwingen
- Geplande extractiejobs
- CI-/CD-pipelines
- Gepubliceerde databronnen waarvoor ingesloten referenties vereist zijn

In tegenstelling tot standaard OAuth (die de autorisatiecodeflow gebruikt), wordt gebruikers bij de flow voor clientreferenties niet

gevraagd zich aan te melden. In plaats daarvan verifieert Tableau rechtstreeks bij uw identiteitsprovider met behulp van een

client-ID en -geheim.

**Opmerking:** voor een clientreferenties-flow is de externe OAuth-functie van Snowflake met een ondersteunde identiteitsprovider vereist. Dit wijkt af van de systeemeigen OAuth van Snowflake.

## Voordat u begint

Als u OAuth-clientreferenties met Snowflake wilt gebruiken, hebt u het volgende nodig:

| Vereiste | Beschrijving |
| --- | --- |
| Identiteitsprovider | Okta, Azure AD of Ping Federate geconfigureerd voor het verlenen van clientreferenties |
| Snowflake-account | Enterprise-editie of hoger met toegang tot ACCOUNTADMIN |
| OAuth-toepassing | API-services (Okta), app-registratie (Azure AD) of equivalent |
| Aangepaste scopes | Scopes voor Snowflake-roltoewijzing (bijv. session:role:SYSADMIN ) |

## Uw identiteitsprovider configureren

In de volgende stappen wordt Okta als voorbeeld gebruikt. Raadpleeg voor andere providers de documentatie voor de configuratie van clientreferenties van de desbetreffende provider.

### Stap 1: maak een API-servicestoepassing

1. Meld u aan bij uw Okta-beheerdersconsole.
2. Ga naar \*\***Applications** > **Applications**.
3. Selecteer \*\***Create App Integration**.
4. Kies \*\***API Services**\*\* en selecteer \*\***Next**.
5. Voer een toepassingsnaam in (bijvoorbeeld `snowflake-tableau-service`).
6. Selecteer de optie voor **opslaan**.
7. Kopieer de **client-ID** en het **clientgeheim**. U hebt deze waarden later nodig.

### Stap 2: schakel DPoP uit (indien ingeschakeld)

DPop (Demonstrating Proof of Possession) moet zijn uitgeschakeld voor een clientreferenties-flow.

1. Ga in uw toepassingsinstellingen naar **General** \> **Client Credentials**.
2. Schakel het selectievakje **Require Demonstrating Proof of Possession (DPoP) header in token requests** uit.
3. Selecteer de optie voor **opslaan**.

### Stap 3: voeg aangepaste scopes toe

Snowflake vereist aangepaste scopes voor het toewijzen van rollen aan de geverifieerde sessie.

1. Ga naar **Security** > **API** \> **Authorization Servers**.
2. Selecteer de **standaard**\-autorisatieserver (of uw aangepaste server).
3. Selecteer het tabblad **Scopes** en selecteer vervolgens **Add Scope**.
4. Voeg de volgende scopes toe:
    
    | Naam van scope | Beschrijving |
    | --- | --- |
    | snowflake | Algemene toegangsscope voor Snowflake |
    | session:role:SYSADMIN | Wijst de SYSADMIN-rol toe (aanpassen aan uw rol) |
    
    **Opmerking:** maak extra scopes voor eventuele andere rollen die uw serviceaccount nodig heeft.

### Stap 4: configureer een toegangsbeleid

1. Selecteer het tabblad **Access Policies**.
2. Selecteer een bestaand beleid of maak een nieuw beleid.
3. Voeg een regel toe met de volgende instellingen:
    
    - **Grant type:** Clientreferenties
    - **Scopes:** Alle scopes (of selecteer specifieke scopes)
4. Selecteer **Create Rule** of **Save**.

## Snowflake configureren

Voer de volgende SQL-instructies in Snowflake uit als ACCOUNTADMIN. Vervang de waarden van de tijdelijke aanduiding door uw configuratie.

### Stap 1: maak de externe OAuth-integratie

USE ROLE ACCOUNTADMIN;

CREATE OR REPLACE SECURITY INTEGRATION okta\_oauth\_integration
  TYPE = EXTERNAL\_OAUTH
  ENABLED = TRUE
  EXTERNAL\_OAUTH\_TYPE = OKTA
  EXTERNAL\_OAUTH\_ISSUER = 'https://<your-okta-domain>.okta.com/oauth2/default'
  EXTERNAL\_OAUTH\_JWS\_KEYS\_URL = 'https://<your-okta-domain>.okta.com/oauth2/
default/v1/keys'
  EXTERNAL\_OAUTH\_TOKEN\_USER\_MAPPING\_CLAIM = 'sub'
  EXTERNAL\_OAUTH\_SNOWFLAKE\_USER\_MAPPING\_ATTRIBUTE = 'login\_name'
  EXTERNAL\_OAUTH\_AUDIENCE\_LIST = ('api://default', 'snowflake')
EXTERNAL\_OAUTH\_ANY\_ROLE\_MODE = 'ENABLE';

| Parameter | Beschrijving |
| --- | --- |
| `EXTERNAL_OAUTH_TYPE` | Uw identiteitsprovider: `OKTA` , `AZURE` of `PING_FEDERATE` |
| `EXTERNAL_OAUTH_ISSUER` | De uitgever-URL van uw autorisatieserver |
| `EXTERNAL_OAUTH_JWS_KEYS_URL` | Het JWKS-eindpunt voor tokenvalidatie |
| `EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLA IM` | De JWT-claim waarmee de gebruiker wordt geïdentificeerd. Gebruik `sub` voor Okta. |
| `EXTERNAL_OAUTH_ANY_ROLE_MODE` | Stel dit in op `ENABLE` om roltoewijzing via scopes toe te staan |

### Stap 2: maak een servicegebruiker

Maak een Snowflake-gebruiker met een `LOGIN_NAME` die overeenkomt met de OAuth-client-ID.

CREATE USER IF NOT EXISTS service\_account\_user  
  LOGIN\_NAME = '<your-okta-client-id>'  
  DISPLAY\_NAME = 'OAuth Service Account'  
  MUST\_CHANGE\_PASSWORD = FALSE  
  DISABLED = FALSE;
  
\-- Grant role to the service user  
GRANT ROLE SYSADMIN TO USER service\_account\_user;
  
\-- Set the default role  
ALTER USER service\_account\_user SET DEFAULT\_ROLE = 'SYSADMIN';
  
\-- Grant warehouse access  
GRANT USAGE ON WAREHOUSE <your-warehouse> TO USER service\_account\_user;
  
\-- Grant database and schema access  
GRANT USAGE ON DATABASE <your-database> TO USER service\_account\_user;  
GRANT USAGE ON SCHEMA <your-database>.<your-schema> TO USER  
service\_account\_user;  
GRANT SELECT ON ALL TABLES IN SCHEMA <your-database>.<your-schema> TO USER  
service\_account\_user;

**Belangrijk:** de `LOGIN_NAME` moet exact overeenkomen met de `sub`\-claim in het OAuth-token. Voor Okta API Services-toepassingen is dit de client-ID.

## Verbinding maken vanaf Tableau Desktop

1. Selecteer **Verbinding maken** > **Snowflake** in Tableau Desktop.
2. Voer uw verbindingsgegevens in:
    
    | Veld | Waarde |
    | --- | --- |
    | Server | De URL van uw Snowflake-account (bijv. `account.snowflakecomputing.com`) |
    | Rol | De rol die moet worden gebruikt (bijv. `SYSADMIN`) |
    | Warehouse | Uw Snowflake-warehouse |
    | Verificatie | OAuth-clientreferenties |
3. Voer de OAuth-configuratie in:
    
    | Veld | Waarde |
    | --- | --- |
    | URL voor OAuth-tokenaanvraag | `https://<your-okta-domain>.okta.com/oauth2/default/ v1/token` |
    | Gebruikersnaam | Uw OAuth-client-ID |
    | Wachtwoord | Uw OAuth-clientgeheim |
    | OAuth-scope | `snowflake session:role:SYSADMIN` |
    
    **Opmerking:** de OAuth-scope moet alle aangepaste scopes bevatten die u voor de roltoewijzing hebt geconfigureerd.
4. Selecteer **Aanmelden**.

## Publiceren naar Tableau Cloud of Tableau Server

Bij het publiceren van een werkmap of databron die gebruikmaakt van OAuth-clientreferenties:

1. Selecteer in het dialoogvenster **Publiceren** de optie **Bewerken** naast **Databronnen**.
2. Bij **Verificatie** selecteert u **Ingesloten wachtwoord**.
3. De clientreferenties worden in de gepubliceerde inhoud ingesloten.

**Belangrijk:** in tegenstelling tot standaard OAuth worden clientreferenties behandeld als ingesloten wachtwoorden. Gebruikers die toegang hebben tot de gepubliceerde inhoud gebruiken de referenties van het serviceaccount, niet hun eigen identiteit.

### Referentierotatie

Wanneer voor uw OAuth-clientgeheim rotatie wordt gebruikt, werkt u de ingesloten referenties in Tableau Cloud bij:

1. Meld u aan bij Tableau Cloud.
2. Navigeer naar de gepubliceerde databron.
3. Selecteer **Verbindingen**.
4. Werk de verbinding bij met het nieuwe clientgeheim.

Voor automatische rotatie gebruikt u de Tableau REST API om verbindingsreferenties programmatisch bij te werken.

## Veelgestelde vragen

### Wanneer moet ik OAuth-clientreferenties gebruiken in plaats van standaard OAuth?

Gebruik clientreferenties wanneer u onbeheerde machine-naar-machine-verificatie nodig hebt. Standaard

OAuth vereist gebruikersinteractie voor de eerste aanmelding en het periodiek opnieuw verifiëren. Clientreferenties

maken gebruik van een serviceaccountidentiteit en vereisen geen gebruikersinteractie.

### Kan ik clientreferenties gebruiken met de systeemeigen OAuth van Snowflake?

Nee. De systeemeigen OAuth van Snowflake ondersteunt alleen de autorisatiecodeflow. Voor clientreferenties is externe OAuth met een ondersteunde identiteitsprovider (Okta, Azure AD of Ping Federate) vereist.

### Hoe ga ik om met geheimrotatie voor gepubliceerde inhoud?

Wanneer voor uw OAuth-clientgeheim rotatie wordt gebruikt, moet u de ingesloten referenties in Tableau Cloud bijwerken. U kunt dit handmatig doen via de gebruikersinterface van Tableau Cloud of programmatisch met de Tableau REST API. Overweeg om dit proces te automatiseren als onderdeel van uw workflow voor geheimrotatie.

### Waarom mislukt mijn verbinding vanwege een rolfout, ook al is EXTERNAL\_OAUTH\_ANY\_ROLE\_MODE ingeschakeld?

Snowflake vereist rolinformatie in het OAuth-token. Voeg een aangepaste scope toe (bijv. `session:role:SYSADMIN`) aan uw autorisatieserver en neem deze op in het veld OAuth-scope wanneer u verbinding maakt vanuit Tableau.

## Problemen oplossen

| Foutbericht | Oorzaak | Oplossing |
| --- | --- | --- |
| 'User does not exist or not authorized' | Snowflake-gebruiker `LOGIN_NAME` komt niet overeen met OAuth-client-ID | Stel de `LOGIN_NAME` van de gebruiker zo in dat deze overeenkomt met de `sub`\-claim (client-ID voor Okta) |
| 'The role requested is not listed in the Access Token' | Ontbrekende rolscope in token | Voeg de `session:role:<ROLE>`\-scope toe aan uw autorisatieserver en neem deze op in de OAuth-scope |
| 'Invalid DPoP proof' | DPoP is ingeschakeld in Okta | Schakel 'Require Demonstrating Proof of Possession (DPoP)' uit in uw Okta-app |
| 'Invalid scope' | Aangepaste scopes niet geconfigureerd | Voeg vereiste scopes toe aan uw autorisatieserver; neem `openid` niet op |
| Tokenvalidatie mislukt | Onjuiste JWKS-URL of -uitgever | Ga na of `EXTERNAL_OAUTH_JWS_KEYS _URL` en `EXTERNAL_OAUTH_ISSUER` overeenkomen met uw autorisatieserver |

## Zie ook

- [OAuth configureren voor Snowflake-verbindingen in Tableau Server](https://help.tableau.com/current/server/nl-nl/config_oauth_snowflake.htm) - Lees meer over standaard OAuth-verificatie met Snowflake.
- [External OAuth Security Integrations](https://docs.snowflake.com/en/user-guide/oauth-external-overview) (Externe Oauth-beveiligingsintegraties) - Snowflake-documentatie voor het configureren van externe OAuth-providers.
- [Okta Client Credentials Flow](https://developer.okta.com/docs/guides/implement-grant-type/clientcreds/main/) (Flow voor Okta-clientreferenties) - Okta-documentatie voor het implementeren van clientreferenties.
- [Databronverbinding bijwerken](https://help.tableau.com/current/api/rest_api/nl-l/REST/rest_api_ref_data_sources.htm#update_data_source_connection) - Tableau REST API-informatie voor het bijwerken van referenties.