---
schema_version: "1"
id: c44861895a78a92d05e5f81474ce7b9813f380886b2db81f36bfe97c70bdd753
title: "Konfigurera extern OAuth för Snowflake: flöde för klientinloggningsuppgifter"
collection: tableau
version: next
locale: sv-se
portal_url: https://docs.salesforce.com/tableau/next/sv-se/online/config_oauth_snowflake_client_creds.md
canonical_url: https://help.tableau.com/v0.0/online/sv-se/config_oauth_snowflake_client_creds.htm
source_site: help.tableau.com
content_type: documentation
content_hash: d02069246231b61022a5c097d3ae510fa199146441f06a77007f1098d7379b76
description: Configure Azure AD OAuth and modern authentication for Azure and Microsoft connectors in Tableau Server.
---
[Hoppa till huvudinnehåll](#main-content)

# Konfigurera extern OAuth för Snowflake: flöde för klientinloggningsuppgifter

Autentisering av OAuth-klientinloggningsuppgifter möjliggör dator-till-dator-anslutningar till Snowflake

utan användarinteraktion. Den här metoden är optimal för följande:

- Tjänstkonton för automatiska datauppdateringar
- Schemalagda extraktjobb
- CI/CD-pipelines
- Publicerade datakällor som kräver inbäddade inloggningsuppgifter

Till skillnad från standard-OAuth (som använder auktoriseringskodsflödet) uppmanar inte klientinloggningsflödet

användarna att logga in. Istället autentiserar Tableau direkt med din identitetsprovider med hjälp av ett

klient-ID och en hemlighet.

**Obs!** Klientinloggningsuppgiftsflödet kräver Snowflakes externa OAuth-funktion med en identitetsprovider som stöds. Detta skiljer sig från Snowflakes inbyggda OAuth.

## Innan du börjar

Du behöver följande för att använda OAuth-klientinloggningsuppgifter med Snowflake:

| Krav | Beskrivning |
| --- | --- |
| Identitetsprovider | Okta, Azure AD eller Ping Federate konfigurerat för beviljande av klientinloggningsuppgifter |
| Snowflake-konto | Enterprise-utgåva eller senare med ACCOUNTADMIN-åtkomst |
| OAuth-program | API-tjänster (Okta), appregistrering (Azure AD) eller motsvarande |
| Anpassade omfattningar | Omfattningar för Snowflake-rolltilldelning (t.ex. session:role:SYSADMIN) |

## Konfigurera din identitetsprovider

I följande steg används Okta som exempel. För andra leverantörer – se aktuell dokumentation för konfiguration av klientinloggningsuppgifter.

### Steg 1: Skapa ett program för API-tjänster

1. Logga in på din Okta-administratörskonsol.
2. Gå till \*\***Program** > **Program**.
3. Välj \*\***Skapa programintegrering**.
4. Välj \*\***API-tjänster**\*\* och välj \*\***Nästa**.
5. Ange ett programnamn (t.ex. `snowflake-tableau-service`).
6. Välj **Spara**.
7. Kopiera **Klient-ID** och **Klienthemlighet**. Du behöver de här värdena senare.

### Steg 2: Inaktivera DPoP (om aktiverat)

DPoP (Demonstrating Proof of Possession) måste vara inaktiverat för klientinloggningsuppgiftsflödet.

1. Gå till **Allmänt** \> **Inloggningsuppgifter för klienten** i programinställningarna.
2. Avmarkera kryssrutan **Kräv rubriken DPoP (Demonstrating Proof of Possession) i tokenförfrågningar**.
3. Välj **Spara**.

### Steg 3: Lägg till anpassade omfattningar

Snowflake kräver anpassade omfattningar för att tilldela roller till den autentiserade sessionen.

1. Gå till **Säkerhet** > **API** \> **Auktoriseringsservrar**.
2. Välj **standardserven** för auktorisering (eller din anpassade server).
3. Välj fliken **Omfattningar** och därefter **Lägg till omfattning**.
4. Lägg till följande omfattningar:
    
    | Omfattningsnamn | Beskrivning |
    | --- | --- |
    | snowflake | Allmän åtkomstomfattning för Snowflake |
    | session:role:SYSADMIN | Tilldelar rollen SYSADMIN (justera för din roll) |
    
    **Obs!** Skapa ytterligare omfattningar för eventuella andra roller som ditt tjänstkonto behöver.

### Steg 4: Konfigurera en åtkomstpolicy

1. Välj fliken **Åtkomstpolicyer**.
2. Välj en befintlig policy eller skapa en ny.
3. Lägg till en regel med följande inställningar:
    
    - **Beviljandetyp:** klientinloggningsuppgifter
    - **Omfattningar:** alla omfattningar (eller valda specifika omfattningar)
4. Välj **Skapa regel** eller **Spara**.

## Konfigurera Snowflake

Kör följande SQL-satser i Snowflake som ACCOUNTADMIN. Ersätt platshållarvärdena med din konfiguration.

### Steg 1: Skapa den externa OAuth-integreringen

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 | Beskrivning |
| --- | --- |
| `EXTERNAL_OAUTH_TYPE` | Din identitetsprovider: `OKTA` , `AZURE` eller `PING_FEDERATE` |
| `EXTERNAL_OAUTH_ISSUER` | Utgivar-URL:en från din auktoriseringsserver |
| `EXTERNAL_OAUTH_JWS_KEYS_URL` | JWKS-slutpunkten för tokenvalidering |
| `EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLA IM` | JWT-anspråket som identifierar användaren. Använd `sub` för Okta. |
| `EXTERNAL_OAUTH_ANY_ROLE_MODE` | Ställ in till `ENABLE` för att tillåta rolltilldelning via omfattningar |

### Steg 2: Skapa en tjänstanvändare

Skapa en Snowflake-användare med ett `LOGIN_NAME` som matchar klient-ID:t för OAuth.

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;

**Viktigt:** `LOGIN_NAME` måste matcha `sub`\-anspråk i OAuth-token exakt. För Okta API Services-program är detta klient-ID:t.

## Anslut från Tableau Desktop

1. Välj **Anslut** > **Snowflake** i Tableau Desktop.
2. Ange anslutningsuppgifterna:
    
    | Fält | Värde |
    | --- | --- |
    | Server | URL:en för Snowflake-kontot (t.ex. `account.snowflakecomputing.com`) |
    | Roll | Rollen som ska användas (t.ex. `SYSADMIN`) |
    | Lager | Snowflake-lagret |
    | Autentisering | OAuth-klientinloggningsuppgifter |
3. Ange OAuth-konfigurationen:
    
    | Fält | Värde |
    | --- | --- |
    | URL för begäran om OAuth-token | `https://<your-okta-domain>.okta.com/oauth2/default/ v1/token` |
    | Användarnamn | Klient-ID:t för OAuth |
    | Lösenord | OAuth-klienthemligheten |
    | OAuth-omfattning | `snowflake session:role:SYSADMIN` |
    
    **Obs!** OAuth-omfattningen måste inkludera alla anpassade omfattningar som du har konfigurerat för rolltilldelning.
4. Välj **Logga in**.

## Publicera till Tableau Cloud eller Tableau Server

När du publicerar en arbetsbok eller datakälla som använder OAuth-klientinloggningsuppgifter:

1. I dialogrutan **Publicera** väljer du **Redigera** bredvid **Datakällor**.
2. Välj **Inbäddat lösenord** för **Autentisering**.
3. Klientinloggningsuppgifterna är inbäddade i det publicerade innehållet.

**Viktigt:** Till skillnad från standard-OAuth behandlas klientinloggningsuppgifter som inbäddade lösenord. Användare som ska komma åt det publicerade innehållet använder tjänstkontots inloggningsuppgifter, inte sin egen identitet.

### Rotation av inloggningsuppgifter

När din OAuth-klienthemlighet roterar ska du uppdatera de inbäddade inloggningsuppgifterna i Tableau Cloud:

1. Logga in i Tableau Cloud.
2. Navigera till den publicerade datakällan.
3. Välj **Anslutningar**.
4. Uppdatera anslutningen med den nya klienthemligheten.

För automatiserad rotation använder du Tableau REST API för att uppdatera inloggningsuppgifter för anslutning programmatiskt.

## Vanliga frågor

### När ska jag använda OAuth-klientinloggningsuppgifter i stället för standard-OAuth?

Använd klientinloggningsuppgifter när du behöver oövervakad dator-till-dator-autentisering. Standard

OAuth kräver användarinteraktion för den första inloggningen och regelbunden omautentisering. Klientinloggningsuppgifter

använder en tjänstkontoidentitet och kräver inte användarinteraktion.

### Kan jag använda klientinloggningsuppgifter med Snowflakes inbyggda OAuth?

Nej. Snowflakes inbyggda OAuth har endast stöd för auktoriseringskodsflödet. Klientinloggningsuppgifter kräver extern OAuth med en identitetsprovider som stöds (Okta, Azure AD eller Ping Federate).

### Hur hanterar jag hemlighetsrotation för publicerat innehåll?

När din OAuth-klienthemlighet roterar måste du uppdatera de inbäddade inloggningsuppgifterna i Tableau Cloud. Du kan göra detta manuellt via Tableau Cloud-användargränssnittet eller programmatiskt med hjälp av Tableau REST API. Överväg att automatisera den här processen som en del av arbetsflödet för hemlighetsrotation.

### Varför misslyckas min anslutning med ett rollfel trots att EXTERNAL\_OAUTH\_ANY\_ROLE\_MODE är aktiverat?

Snowflake kräver rollinformation i OAuth-token. Lägg till en anpassad omfattning (t.ex. `session:role:SYSADMIN`) för auktoriseringsservern och inkludera den i fältet OAuth-omfattning när du ansluter från Tableau.

## Felsökning

| Felmeddelande | Orsak | Lösning |
| --- | --- | --- |
| ”User does not exist or not authorized” | Snowflake-användaren `LOGIN_NAME` matchar inte klient-ID:t för OAuth | Ställ in användarens `LOGIN_NAME` till att matcha `sub`\-anspråket (klient-ID för Okta) |
| ”The role requested is not listed in the Access Token” | Rollomfattning saknas i token | Lägg till omfattningen `session:role:<ROLE>` för auktoriseringsservern och inkludera den i OAuth-omfattningen |
| ”Invalid DPoP proof” | DPoP är aktiverat i Okta | Inaktivera ”Kräv DPoP (Demonstrating Proof of Possession)” i Okta-appen |
| ”Invalid scope” | Anpassade omfattningar har inte konfigurerats | Lägg till nödvändiga omfattningar för auktoriseringsservern, inkluderar inte `openid` |
| ”Token validation failure” | Felaktig JWKS-URL eller utfärdare | Verifiera att `EXTERNAL_OAUTH_JWS_KEYS _URL` och `EXTERNAL_OAUTH_ISSUER` matchar auktoriseringsservern |

## Se även

- [Konfigurera OAuth för Snowflake-anslutningar i Tableau Server](https://help.tableau.com/current/server/sv-se/config_oauth_snowflake.htm) – läs om standard-OAuth-autentisering med Snowflake.
- [Externa OAuth-säkerhetsintegreringar](https://docs.snowflake.com/en/user-guide/oauth-external-overview) – Snowflake-dokumentation för att konfigurera externa OAuth-leverantörer.
- [Flöde för Okta-klientinloggningsuppgifter](https://developer.okta.com/docs/guides/implement-grant-type/clientcreds/main/) – Okta-dokumentation för implementering av klientinloggningsuppgifter.
- [Uppdatera datakällsanslutning](https://help.tableau.com/current/api/rest_api/sv-se/REST/rest_api_ref_data_sources.htm#update_data_source_connection) – Tableau REST API-referens för uppdateringar av inloggningsuppgifter.