SAML-krav

Innan du konfigurerar SAML på Tableau Server måste du se till att miljön uppfyller kraven.

Viktigt: SAML-konfigurationer, är skiftlägeskänsliga, både med IdP och på Tableau Server. Till exempel måste URL:er som konfigureras med IdP och på Tableau Server stämma överens exakt.

Krav på certifikat och identitetsleverantör (IdP)

För att konfigurera Tableau Server för SAML behöver du följande:

  • Certifikatfil. En PEM-kodad x509-certifikatfil med ett .crt-tillägg. Den här filen används av Tableau Server, inte IdP. Om du har ett SSL-certifikat är det möjligt att under vissa omständigheter använda samma certifikat med SAML. Mer information finns i Använda SSL-certifikat och nyckelfiler för SAML längre ner i den här artikeln.

    Tableau Server kräver ett par certifikatnycklar för att signera förfrågningar som skickas till IdP. Detta minskar risken för man-i-mitten-attacker tack vare att det är så svårt att förfalska en signerad förfrågan. Dessutom bekräftar Tableau Server det AuthNResponse det får från den betrodda IdP:n. Tableau Server bekräftar AuthNResponse genom att använda den signatur som genereras av IdP. Metadata för IdP-certifikatet tillhandahålls Tableau Server som en del av den inledande SAML-konfigurationsprocessen.

    Signerade förfrågningar krävs inte alltid för alla IdP:er. Som standard kräver Tableau Server singerade förfrågningar. Vi rekommenderar den här konfigurationen, då den säkerställer en säkrare kommunikation med IdP. Samarbeta med IdP-teamet för att ta reda på om det är nödvändigt att inaktivera signerade förfrågningar. Information om hur du inaktiverar signerade förfrågningar finns i samlSettings Entity.

  • Signaturalgoritm. Certifikatet måste använda en säker signaturalgoritm, till exempel SHA-256. Om du försöker konfigurera Tableau Server för SAML med ett certifikat som använder SHA-1-signaturhash, avvisar Tableau Server certifikatet. Du kan konfigurera Tableau Server för att acceptera den mindre säkra SHA-1-hashen genom att ange tsm-konfigurationsnyckeln wgserver.saml.blocklisted_digest_algorithms.

  • RSA-nyckel och ECDSA-kurvstorlekar. Tableau Server-certifikatet måste ha en RSA-nyckelstyrka på 2048 och IdP-certifikatet måste ha antingen en RSA-nyckelstyrka på 2048 eller en ECDSA-kurvstorlek på 256.

    Du kan konfigurera Tableau Server för att acceptera de mindre säkra storlekarna genom att ange respektive konfigurationsnycklar, wgserver.saml.min_allowed.rsa_key_size och wgserver.saml.min_allowed.elliptic_curve_size.

  • Certifikatnyckelfil. En privat RSA- eller DSA-nyckelfil som har tillägget .key. RSA-nycklar måste vara i formatet PKCS#1 eller PKCS#8.

    Kraven för lösenordsskydd är följande:

    • Det går inte att lösenordsskydda RSA-nyckelfilen i formatet PKCS#1.
    • För att använda en lösenordsskyddad nyckelfil måste du konfigurera SAML med en RSA-fil i formatet PKCS#8. Obs! En PKCS#8-fil med ett null-lösenord stöds inte.

    • Lösenordsskyddade nyckelfiler stöds inte i platsspecifika SAML-driftsättningar.

    Sammanfattning av stöd

    NyckelfilsformatServeromfattande SAML-stödSAML-stöd på platsnivå
    PKCS#8 RSAJaNej
    PKCS#8 (inget lösenord/null-lösenord)NejNej
    PKCS#1 RSAJaJa
    PKCS#1 RSA (lösenord)NejNej
    PKCS#1 DSA (lösenord)NejNej
  • IdP måste signera SAML-intyg med en säker signaturalgoritm. Som standard avvisar Tableau Server SAML-intyg som signerats med SHA-1-algoritmen. Du kan konfigurera Tableau Server för att acceptera intyg som signerats med den mindre säkra SHA-1-hashen genom att ange tsm-konfigurationsnyckeln wgserver.saml.blocklisted_digest_algorithms.

  • IdP-konto som stöder SAML 2.0 eller senare. Du behöver ett konto hos en extern identitetsleverantör. Några exempel är PingFederate, SiteMinder och Open AM.

  • IdP-leverantör som stöder import och export av XML-metadata. Även om en manuellt skapad metadatafil kan fungera, kan Tableaus tekniska support inte hjälpa till att generera filen eller felsöka den.

  • Användarnamn: Obligatoriskt. IdP-konfigurationen måste innehålla attributet eller anspråket ”användarnamn” och motsvarande SAML-konfigurationsattribut på Tableau Server måste också ställas in på ”användarnamn”.

SSL-avlastning

Om din organisation avslutar SSL-anslutningar från IdP på en proxyserver innan autentiseringsbegäran skickas till Tableau Server, kan det hända att du måste göra en proxy-konfiguration. I det här scenariot ”avlastas” SSL på proxyservern, vilket innebär att http-begäran avslutas på proxyservern och sedan vidarebefordras till Tableau Server över http.

Tableau Server validerar SAML-svaret som returneras från IdP. Eftersom SSL avlastas vid proxyn, kommer Tableau Server att validera med protokollet som den tar emot (http), men IdP-svaret är formaterat med https, vilket innebär att validering misslyckas om inte proxyservern inkluderar en rubrikuppsättning av typen X-Forwarded-Proto till https. Se Konfigurera Tableau Server till att fungera med en omvänd proxyserver och/eller en belastningsutjämnare.

Använda SSL-certifikat och nyckelfiler för SAML

Om du använder en PEM-kodad x509-certifikatfil för SSL kan du använda samma fil för SAML. För SSL används certifikatfilen till att kryptera trafik. För SAML används certifikatet för autentisering.

Utöver kraven som anges i Krav på certifikat och identitetsleverantör (IdP) ovan måste certifikatet även uppfylla följande villkor för att du ska kunna använda samma certifikat för både SSL och SAML:

  • Bekräfta att certifikatet endast innefattar det certifikat som gäller Tableau Server och inte några andra certifikat eller nycklar.

    För detta kan du skapa en säkerhetskopia av certifikatfilen och sedan öppna kopian i en textredigerare för att granska innehållet.

Krav på användarhantering

När du aktiverar SAML utförs användarautentiseringen utanför Tableau av IdP. Användarhanteringen utförs dock av ett identitetsregister, antingen av ett externt identitetsregister (Active Directory eller LDAP) eller av Tableau Server i ett lokalt identitetsregister. Mer information om planering av användarhantering med Tableau Server finns i Identitetsregister.

När du konfigurerar identitetsregistret under installationen måste du välja det alternativ som stämmer överens med hur du vill använda SAML. Tänk på att om du vill använda platsspecifik SAML måste du konfigurera serveromfattande SAML innan du konfigurerar enskilda platser.

  • För platsspecifik SAML: Om du har flera platser på Tableau Server och du vill konfigurera varje plats för en viss IdP eller ett visst IdP-program (eller konfigurera vissa platser till att inte använda SAML), konfigurerar du Tableau Server till att hantera användare med ett lokalt identitetsregister. För platsspecifik SAML förlitar sig Tableau Server på IdP:n för autentisering och använder inte lösenord.

  • För serveromfattande SAML: Om du konfigurerar serveromfattande SAML med en enskild IdP kan du konfigurera Tableau Server till att använda det lokala identitetsregistret eller ett externt identitetsregister. Om du använder Active Directory (AD) måste du inaktivera alternativet Aktivera automatisk inloggning med Microsoft SSPI.

  • För både serveromfattande SAML-autentisering och platsspecifik SAML-autentisering:

    • När du använder ett lokalt identitetsregister är det viktigt att använda ett användarnamn som är formaterat som en e-postadress. Genom att använda en fullständig e-postadress kan du vara säker på att användarnamnet är unikt i Tableau Server, även om två användare har samma e-postprefix men olika e-postdomäner. Försäkra dig om att alla identiteter är unika genom att använda fullständiga e-postadresser i båda systemen eller uppgradera Tableau Server till version 2022.1.x eller senare och kör bakgrundsjobbet identitetsmigrering.

    • I en miljö med flera platser autentiseras alla användare genom en SAML IdP som har konfigurerats på platsnivå. I det här scenariot anger du en serveromfattande SAML IdP för användare som tillhör flera platser. För att kunna konfigurera det här scenariot måste Tableau Server vara konfigurerat med ett lokalt identitetsregister.

    • Ignorera domän när SAML-användarnamnsattribut matchas. Från och med Tableau Server version 2021.4.21, 2022.1.17, 2022.3.9 och 2023.1.5 kan du konfigurera Tableau Server att ignorera domändelen av användarnamnsattributet när identitetsleverantörens användarnamn matchas till ett användarkonto på Tableau Server. Användarnamnsattributet hos identitetsleverantören kan till exempel vara alice@example.com för att matcha en användare med namnet alice i Tableau Server. Det kan vara bra att ignorera domändelen av användarnamnsattributet om du redan har definierade användare i Tableau Server som matchar prefixdelen av användarnamnsattributet, men inte domändelen av användarnamnsattributet.

      Viktigt: Ignorera inte domännamnet utan att vidta försiktighetsåtgärder. Mer specifikt bör du kontrollera att användarnamnen är unika i alla konfigurerade domäner som du har skapat i IdP:n. När Tableau Server konfigureras för att ignorera domännamnet kan det leda till oavsiktliga användarinloggningar, till exempel om identitetsleverantören har konfigurerats för flera domäner (t.ex. example.com och tableau.com). Om det i organisationen finns två användare med samma förnamn, men olika användarkonton (t.ex. alice@tableau.com och alice@example.com), kan du råka ut för ett mappningsfel.

      Om du vill konfigurera Tableau Server så att domännamn i användarnamnsattributet från identitetsleverantören ignoreras anger du wgserver.ignore_domain_in_username_for_matching som true. Mer information finns i wgserver.ignore_domain_in_username_for_matching.

      Obs!

      • Det här kommandot fungerar bara i Tableau Server-driftsättningar i legacy-identity-mode eller driftsättningar som inte har uppdaterats för att använda identitetstjänsten via identitetsmigrering(Länken öppnas i ett nytt fönster).
      • När du ändrar tsm-kommandot för att ignorera domännamnet i användarnamnsattributet måste alla användarnamn i Tableau Server ha ett domännamn.

Obs! REST API och tabcmd har inte stöd för enkel SAML-inloggning. Ange det användarnamn och lösenord för användaren som skapats på servern för att logga in. Användaren kan hanteras av det lokala identitetsregistret eller av ett externt identitetsregister, beroende på hur du har konfigurerat Tableau Server. REST API- eller tabcmd-anrop har de behörigheter som användaren som du loggar in som har.

Anteckningar och krav för SAML-kompatibilitet

  • Matchande användarnamn: Användarnamnet som lagras i Tableau Server måste matcha det konfigurerade användarnamnsattributet som skickas av IdP i SAML-intyget. Som standard förväntar sig Tableau Server att det inkommande intyget innehåller ett attribut som kallas ”användarnamn” med användarens uppgifter. Om till exempel användarnamnet för Maria Andersson lagras i PingFederate som mandersson måste det lagras som mandersson också i Tableau Server.

    När du konfigurerar SAML under autentisering

    Om du konfigurerar SAML som en del av den inledande Tableau Server-konfigurationen ska du kontrollera att det konto du planerar att använda finns i din IdP innan du genomför konfigurationen. Under Tableau Server-konfigurationen skapar du kontot för serveradministratören.

    När du kör flera domäner

    Om du använder ett externt identitetsregister från Active Directory eller LDAP och du använder flera domäner (det vill säga användare tillhör flera domäner eller Tableau Server-installationen innehåller flera domäner), måste IdP skicka både användarnamnet och domänattributen för en användare i SAML-intyget. Både användarnamnet och domänattributen måste stämma överens exakt med användarnamnet och domänen som lagrats i Tableau Server. Gör något av följande:

    • Ange domain\username i användarnamnsfältet
    • Ange domän i domänfältet och ange användarnamn i användarnamnsfältet

    När du anger domänattributet kan du använda det fullständiga domännamnet (FQDN) eller kortnamnet.

    Om domänen inte är specificerad betraktas den som standarddomänen.

    Mer information finns i Stöd för flera domäner och i avsnittet ”Matcha intyg” på fliken Använda TSM CLI i Konfigurera serveromfattande SAML.

  • Signaturalgoritm: Tableau Server använder signaturalgoritmen SHA256.

  • Enkel utloggning: Tableau Server har stöd enkel utloggning som initieras av både tjänsteleverantören och identitetsleverantören för både serveromfattande SAML och platsspecifik SAML.

  • Externa autentiseringstyper: Tableau Server har stöd för användning av en extern autentiseringstyp åt gången.

  • Ömsesidig SSL: Tableau Server har inte stöd för ömsesidig SSL (tvåvägs-SSL) tillsammans med SAML. Om du vill använda ömsesidig SSL kan du konfigurera detta på IdP:n.

  • Intygskodning: Intyg måste vara UTF-8-kodade.

  • Kryptering och SAML-försäkran:

    • Serveromfattande SAML: När Tableau Server har konfigurerats för serveromfattande SAML har Tableau Server stöd för krypterad försäkran från identitetsprovidern. Krypterade intyg möjliggörs av det certifikat som du laddade upp som en del av den inledande konfigurationen för serveromfattande SAML. SAML-begäranden och -svar kan skickas över HTTP eller HTTPS.

    • Platsspecifik SAML: När Tableau Server har konfigurerats för platsspecifik SAML har Tableau Server inte stöd för krypterad försäkran från identitetsprovidern. Alla SAML-begäranden och -svar skickas dock över HTTPS för säker kommunikation med identitetsprovidern. HTTP-begäranden och -svar stöds inte.

  • Användaridentitet i Tableau Server för tabcmd-användare: Enligt beskrivningen i avsnittet Krav på användarhantering ovan måste du logga in som en användare som har definierats på servern för att kunna använda tabcmd. Det går inte att använda SAML-konton med tabcmd.

  • Använda enkel SAML-inloggning med Tableau Desktop: Som standard tillåter Tableau Desktop SP-initierad SAML-autentisering.

    Om din IdP inte stöder den här funktionen kan du inaktivera SAML-inloggning för Tableau Desktop med hjälp av följande kommando:

    tsm authentication saml configure --desktop-access disable

    Mer information finns i tsm authentication saml <kommandon>.

  • Distribuerade installationer: TSM-versioner av Tableau Server (2018.2 och senare) använder klientfiltjänsten för att dela filer i ett kluster av flera noder. När du har konfigurerat SAML på den ursprungliga noden i klustret distribuerar klientfiltjänsten certifikat- och nyckelfiler till de andra noderna.

  • Inloggnings-URL: För att användare ska kunna logga in måste din IdP vara konfigurerad med en SAML-slutpunkt för inloggning som skickar en POST-förfrågan till följande URL:

    https://<tableauserver>/wg/saml/SSO/index.html.

  • Utloggnings-URL: För att användare ska kunna logga ut efter inloggning med SAML (enkel utloggning) måste din IdP vara konfigurerad med en SAML-slutpunkt för utloggning som skickar en POST-förfrågan till följande URL:

    https://<tableauserver>/wg/saml/SingleLogout/index.html.

    Obs! Tableau Server har stöd enkel utloggning som initieras av både tjänsteleverantören och identitetsleverantören för både serveromfattande SAML och platsspecifik SAML.

  • Omdirigerings-URL efter utloggning: Som standard visas inloggningssidan när en användare loggar ut från Tableau Server

    Om du vill visa en annan sida efter utloggning använder du kommandot tsm authentication saml configure med alternativet -su eller --signout-url.

    • För att ange en absolut URL använder du en fullständig URL som börjar på http:// eller https://, som i följande exempel:

      tsm authentication saml configure -su https://example.com

    • För att ange en URL som relaterar till Tableau Server-värden använder du en sida som börjar på / (snedstreck):

      tsm authentication saml configure -su /ourlogoutpage.html

  • Active Directory Federation Service (AD FS): Du måste konfigurera AD FS för att returnera ytterligare attribut för Tableau-autentisering med SAML. Attributen Namn-ID och användarnamn kan mappas till samma AD-attribut: SAM-kontonamn.

    Konfigurationsinformation finns i Konfigurera SAML med AD FS på Tableau Server.

  • AuthNContextClassRef: AuthNContextClassRef är ett valfritt SAML-attribut som tillämpar valideringen av vissa ”kontexter” för autentisering i flöden som initieras av IdP. Du kan ange kommaseparerade värden för det här attributet med TSM. När det här attributet har ställts in validerar Tableau Server att SAML-svaret innehåller minst att av de angivna värdena. Om SAML-svaret inte innehåller något av de konfigurerade värdena avvisas autentiseringen, även om användaren har autentiserat med IdP:n.

    Om du lämnar det här valfria attributet tomt kommer standardbeteendet att gälla: alla framgångsrikt autentiserade SAML-svar kommer att resultera i att en användare beviljas en session i Tableau Server.

    Detta värde utvärderas endast för serveromfattande SAML. Om plats-SAML konfigureras ignoreras attributet AuthNContextClassRef.

    Information om hur du anger det här värdet med TSM-webbgränssnittet finns i Konfigurera serveromfattande SAML.

    Om du vill ange det här värdet med tsm configuration set använder du nyckeln wgserver.saml.authcontexts för att skapa en kommaavgränsad lista över värden.

    Information om hur du anger det här värdet med en JSON-konfigurationsfil finns i samlSettings Entity.

Använda enkel SAML-inloggning med Tableau-klientprogram

Tableau Server-användare med SAML-inloggningsuppgifter kan logga in på servern från Tableau Desktop eller Tableau Mobile-appen. För bästa kompatibilitet rekommenderar vi att versionen av Tableaus klientprogram är densamma som för servern. För att ansluta med platsspecifik SAML måste användare köra version 10.0 eller senare av Tableaus klientprogram.

Vid anslutning till Tableau Server från Tableau Desktop eller Tableau Mobile används en anslutning som initierats av tjänsteleverantören.

Omdirigera autentiserade användare tillbaka till Tableau-klienter

När en användare loggar in på Tableau Server, skickar Tableau Server en SAML-begäran (AuthnRequest) till identitetsleverantören, som inkluderar Tableau-applikationens RelayState-värde. Om användaren har loggat in på Tableau Server från en Tableau-klient såsom Tableau Desktop eller Tableau Mobile, är det viktigt att RelayState-värdet returneras inom identitetsleverantörens SAML-svar tillbaka till Tableau.

När RelayState-värdet inte returneras korrekt i det här scenariot skickar användaren till sin Tableau Server-startsida i webbläsaren, istället för att omdirigeras tillbaka till programmet de loggade in från.

Arbeta med identitetsleverantören och det interna IT-teamet för att bekräfta att det här värdet inkluderas som en del av identitetsleverantörens SAML-svar och sedan bevaras av alla nätverksresurser (såsom en proxy eller belastningsutjämnare) som finns mellan din identitetsleverantör och Tableau Server.

XML-datakrav

Som en del av SAML-konfigurationen utbyts XML-metadata mellan Tableau Server och IdP:n. Denna XML-metadata används till att verifiera en användares autentiseringsinformation när användaren inleder inloggningsprocessen till Tableau Server.

Tableau Server och IdP:n genererar sina egna metadata. Varje uppsättning metadata måste innehålla informationen som beskrivs i följande lista. Om någon uppsättning saknar information kan fel uppstå när du konfigurerar SAML eller när användare försöker logga in.

  • HTTP POST och HTTP REDIRECT: Tableau Server har stöd för HTTP POST- och HTTP REDIRECT-begäranden för SAML-kommunikation. I XML-metadatadokument för SAML, som exporteras av identitetsprovidern, kan attributet Binding ställas in på HTTP-POST eller HTTP-REDIRECT.

  • När attributet Binding har ställts in på HTTP-POST måste de SAML-metadata som Tableau Server och identitetsprovidern exporterar innehålla följande element.

    • Elementet som anger URL:en som IdP omdirigerar till efter lyckad autentisering. Detta krävs i metadata för tjänsteleverantören, men inte i metadata för identitetsleverantören.

      <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://<tableau-server>/wg/saml/SSO/index.html index="0" isDefault="true"/>

      För plats-SAML är Location-slutpunkten /samlservice/public/sp/metadata?alias=<site alias>.

    • Elementet för utloggningsslutpunkt visas i Tableau Server-metadata och anger den URL som IdP:n använder för Tableau Servers utloggningsslutpunkt. Om det här elementet inte finns i IdP-metadata kan inte Tableau Server förhandla fram en utloggningsslutpunkt med IdP:n och SAML-utloggningsfunktionen bli otillgänglig i Tableau Server:

      <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://SERVER-NAME:9031/idp/slo"

      Obs! SP-initierad enkel utloggning stöds för både serveromfattande och platsspecifik SAML. IdP-initierad enkel utloggning stöds dock inte.

    • Bekräfta att metadata-XML från IdP:n innehåller elementet SingleSignOnService, i vilket bindningen är inställd på HTTP-POST som i följande exempel:

      <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://SERVER-NAME:9031/idp/SSO.saml2"/>

    • Elementet ska visas i IdP-metadata och anger den URL som Tableau Server använder för IdP:ns utloggningsslutpunkt.

      <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://SERVER-NAME:9031/idp/slo"/>

  • Attribut med namnet användarnamn: Du måste konfigurera IdP:n till att returnera ett intyg som innehåller attributet username i elementet saml:AttributeStatement. Intygets attributtyp måste vara xs:string (det ska inte vara skrivet xs:any).

    I följande exempel ser du hur det kan se ut.

    <saml:Assertion assertion-element-attributes>
      <saml:Issuer>issuer-information</saml:Issuer>
      <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
        ...
      </Signature>
      <saml:Subject>
        ...
      </saml:Subject>
      <saml:Conditions condition-attributes >
        ...
      </saml:Conditions>
      <saml:AuthnStatement authn-statement-attributes >
        ...
      </saml:AuthnStatement>
    
      <saml:AttributeStatement>
        <saml:Attribute Name="username" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
        <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
              user-name
        </saml:AttributeValue>
        </saml:Attribute>
      </saml:AttributeStatement>
    </saml:Assertion>

    Som standard läser Tableau Server attributet username i AuthNResponse som returneras från IdP:n. Vissa IdP:er kan emellertid returnera ett annat attribut som ska identifiera användaren.

    Kör följande TSM-kommando för att ändra det SAML-attribut som överför värdet username:

    tsm authentication saml map-assertions --user-name <USER-NAME>.

    Läs mer i avsnittet om tsm authentication.

Tack för din feedback!Din feedback har skickats in. Tack!