Konfigurera ömsesidig SSL-autentisering
Med hjälp av ömsesidig SSL kan du ge användare av Tableau Desktop, Tableau Mobile och andra godkända Tableau-klienter en säker, direkt tillgång till Tableau Server. Med ömsesidig SSL bekräftar Tableau Server att det finns ett klientcertifikat och autentiserar användaren när en klient med ett giltigt SSL-certifikat ansluter till Tableau Server, baserat på användarnamnet i klientcertifikatet. Om klienten inte har ett giltigt SSL-certifikat kan Tableau Server neka anslutningen.
Du kan även konfigurera Tableau Server att återgå till autentisering via användarnamn/lösenord om ömsesidig SSL misslyckas. Dessutom kan en användare logga in med hjälp av REST API med ett användarnamn och lösenord (om ett sådant finns) oavsett om reservautentisering är konfigurerad eller inte.
Tidsgränser för sessionen för användarautentisering
När användare loggar in med ömsesidig SSL styrs autentiseringssessionen av samma metod som styr konfigurationen av den globala autentiseringssessionen för Tableau Server.
För klienter som ansluter till Tableau Server med en webbläsare beskrivs konfigurationen av den globala autentiseringssessionen i Checklista för säkerhetshärdning,
Sessioner för anslutna klienter (Tableau Desktop, Tableau Mobile, Tableau Prep Builder och Bridge) använder OAuth-token för att hålla användarna inloggade genom att återupprätta en session. Som standard återställs en OAuth-klienttoken efter ett år. En klienttoken som inte har använts på 14 dagar förfaller. Du kan ändra dessa värden genom att konfigurera alternativen refresh_token.absolute_expiry_in_seconds
och refresh_token.idle_expiry_in_seconds
. Läs mer i Alternativ för tsm configuration set.
Användning av certifikat
Innan du aktiverar och konfigurerar ömsesidig SSL måste du konfigurera extern SSL. Extern SSL autentiserar Tableau Server till klienten och krypterar sessionen med certifikatet och nyckeln som krävs för att konfigurera extern SSL.
För ömsesidig SSL krävs ytterligare en certifikatfil. Filen är en sammanfogning av certifikatutfärdarens certifikatfiler. Filtypen måste vara .crt
. En certifikatutfärdare (CA) utfärdar certifikat till klientdatorer som ansluter till Tableau Server. Åtgärden när man laddar upp certifikatfilen till certifikatutfärdaren upprättar ett förtroende som gör det möjligt för Tableau Server att autentisera de enskilda certifikat som presenteras av klientdatorerna.
Som en del av din plan för katastrofåterställning rekommenderar vi att förvara en säkerhetskopia av certifikat- och återkallelsefilerna (om tillämpligt) på en säker plats utanför Tableau Server. De certifikat- och återkallelsefiler som läggs till i Tableau Server kommer att lagras och distribueras till andra noder av klientfiltjänsten. Filerna lagras dock inte i ett återställningsbart format. Läs mer i Klientfiltjänst (CFS) för Tableau Server.
RSA-nyckel och ECDSA-kurvstorlekar
CA-certifikatet som används för ömsesidig SSL måste antingen ha en RSA-nyckellängd på 2 048 eller en ECDSA-kurvstorlek på 256.
Du kan konfigurera Tableau Server att acceptera mindre säkra storlekar genom att ställa in respektive konfigurationsnycklar:
- ssl.client_certificate_login.min_allowed.rsa_key_size
- ssl.client_certificate_login.min_allowed.elliptic_curve_size
Läs mer i Alternativ för tsm configuration set.
Krav på klientcertifikat
Användare som autentiserar till Tableau Server med ömsesidig SSL måste uppvisa ett klientcertifikat som uppfyller minimikraven för säkerhet.
Signeringsalgoritm
Klientcertifikat måste använda signeringsalgoritmen SHA-256 eller högre.
Tableau Server som konfigurerats för ömsesidig SSL-autentisering blockerar autentisering av användare med klientcertifikat som använder signeringsalgoritmen SHA-1.
Användare som försöker logga in med SHA-1-klientcertifikat stöter på felet ”Det går inte att logga in” och följande fel visas i VizPortal-loggarna:
Unsupported client certificate signature detected: [certificate Signature Algorithm name]
Du kan konfigurera Tableau Server att acceptera den mindre säkra signeringsalgoritmen SHA-1 genom att ställa in konfigurationsalternativet ssl.client_certificate_login.blocklisted_signature_algorithms.
RSA-nyckel och ECDSA-kurvstorlekar
Klientcertifikatet som används för ömsesidig SSL måste antingen ha en RSA-nyckellängd på 2 048 eller en ECDSA-kurvstorlek på 256.
Tableau-servern misslyckas med begäranden om ömsesidig autentisering från klientcertifikat som inte uppfyller dessa krav. Du kan konfigurera Tableau Server att acceptera mindre säkra storlekar genom att ställa in respektive konfigurationsnycklar:
- ssl.client_certificate_login.min_allowed.rsa_key_size
- ssl.client_certificate_login.min_allowed.elliptic_curve_size
Läs mer i Alternativ för tsm configuration set.
Konfigurera SSL för extern HTTP-trafik till och från Tableau Server.
Öppna TSM i en webbläsare:
https://<tsm-computer-name>:8850. Du hittar mer information i Logga in på webbgränssnittet för Tableau Services Manager.
Välj Användaridentitet och åtkomst > Autentiseringsmetod på fliken Konfiguration.
Under Autentiseringsmetod väljer du Ömsesidig SSL i listrutemenyn.
Under Ömsesidig SSL väljer du Använd ömsesidig SSL och automatisk inloggning med klientcertifikat.
Klicka på Välj fil och ladda upp certifikatutfärdarens certifikatfil till servern.
Filen (.crt) är en heltäckande fil som innehåller certifikat från certifikatutfärdare som används för autentisering av klienter. Filen som du överför måste vara en sammanfogning av de olika PEM-kodade certifikatfilerna i prioritetsordning.
Ange återstående SSL-konfigurationsinformation för din organisation.
Användarnamnsformat: När Tableau Server är konfigurerat för ömsesidig SSL får servern användarnamnet från klientcertifikatet, så att den kan upprätta en direkt inloggning för klientanvändaren. Namnet som Tableau Server använder beror på hur Tableau Server är konfigurerat för användarautentisering:
- Lokal autentisering – Tableau Server använder UPN (User Principal Name) från certifikatet.
- Active Directory (AD) – Tableau Server använder LDAP (Lightweight Directory Access Protocol) för att hämta användarnamnet.
Alternativt kan du konfigurera Tableau Server att använda CN (Common Name) från klientcertifikatet.
Klicka på Spara väntande ändringar när du har angett konfigurationsinformationen.
Klicka på Väntande ändringar längst upp på sidan:
Klicka på Tillämpa ändringarna och starta om.
Steg 1: Kräv SSL för extern serverkommunikation
Om du vill konfigurera Tableau Server att använda SSL för extern kommunikation mellan Tableau Server och webbklienter kör du kommandot external-ssl enable
på följande sätt och anger namnen på servercertifikatets .crt- och .key-filer:
tsm security external-ssl enable --cert-file <file.crt> --key-file <file.key>
För
--cert-file
och--key-file
anger du filnamnet och sökvägen där du sparade serverns SSL-certifikat (.crt) från certifikatutfärdaren och nyckelfilerna (.key).Kommandot ovan förutsätter att du är inloggad som en användare som har rollen Serveradministratör på Tableau Server. Du kan istället använda parametrarna
-u
and-p
för att ange en användare med administratörsbehörighet och ett lösenord.Om en lösenfras krävs för certifikatnyckelfilen inkluderar du parametern
--passphrase
och värdet.
Steg 2: Konfigurera och aktivera ömsesidig SSL
Lägg till ömsesidig autentisering mellan servern och varje klient och tillåt direkt autentisering för Tableau-klientanvändare när de har angett sina inloggningsuppgifter för första gången.
Kör följande kommando:
tsm authentication mutual-ssl configure --ca-cert <certificate-file.crt>
För
--ca-cert
anger du sökvägen och filnamnet för certifikatutfärdarens certifikatfil.Filen (.crt) är en heltäckande fil som innehåller certifikat från certifikatutfärdare som används för autentisering av klienter. Filen som du överför måste vara en sammanfogning av de olika PEM-kodade certifikatfilerna i prioritetsordning.
Kör följande kommandon för att aktivera ömsesidig SSL och tillämpa ändringarna:
tsm authentication mutual-ssl enable
tsm pending-changes apply
Om de väntande ändringarna kräver att servern startas om visar kommandot
pending-changes apply
en kommandotolk så att du vet att en omstart kommer att ske. Kommandotolken visas även om servern stoppas, men i så fall sker ingen omstart. Du kan utelämna tolken med alternativet--ignore-prompt
, men det påverkar inte omstartsbeteendet. Om ändringarna inte kräver omstart används de utan någon kommandotolk. Du hittar mer information i tsm pending-changes apply.
Ytterligare alternativ för ömsesidig SSL
Du kan använda mutual-ssl configure
för att konfigurera Tableau Server att stödja följande alternativ.
Mer information finns i tsm-autentisering ömsesidig ssl <kommandon>.
Reservautentisering
När Tableau Server är konfigurerad för ömsesidig SSL är autentiseringen automatisk och klienter måste ha ett giltigt certifikat. Du kan konfigurera Tableau Server att tillåta ett reservalternativ för att acceptera autentisering genom användarnamn och lösenord.
tsm authentication mutual-ssl configure -fb true
Tableau Server accepterar autentisering genom användarnamn och lösenord från REST API-klienter, även om ovanstående alternativ är inställt på false
.
Mappning av användarnamn
När Tableau Server är konfigurerad för ömsesidig SSL autentiserar servern användaren direkt genom att hämta användarnamnet från dennes klientcertifikat. Namnet som Tableau Server används beror på hur servern är konfigurerad för användarautentisering:
Lokal autentisering – använder UPN (User Principal Name) från certifikatet.
Active Directory (AD) – använder LDAP (Lightweight Directory Access Protocol) för att hämta användarnamnet.
Du kan åsidosätta endera av dessa standardinställningar och konfigurera Tableau Server att använda nätverksnamnet (common name).
tsm authentication mutual-ssl configure -m cn
Mer information finns i Mappa ett klientcertifikat till en användare under ömsesidig autentisering
Lista över återkallade certifikat (CRL)
Du kan behöva ange en lista över återkallade certifikat om du misstänker att en privat nyckel har komprometterats, eller om en certifikatutfärdare inte har utfärdat ett certifikat på rätt sätt.
tsm authentication mutual-ssl configure -rf <revoke-file.pem>