Del 5 – Konfigurera webbnivån

Webbnivån för referensarkitekturen ska inkludera följande komponenter:

  • En belastningsutjämnare för webborienterade program som accepterar HTTPS-begäranden från Tableau-klienter och som kommunicerar med de omvända proxyservrarna.
  • Omvänd proxy: 
    • Vi rekommenderar att du driftsätter den oberoende gatewayen för Tableau Server.
    • Vi rekommenderar minst två proxyservrar för redundans och för att hantera klientbelastningen.
    • Tar emot HTTPS-trafik från belastningsutjämnaren.
    • Stöder ihållande sessioner mot Tableau-värden.
    • Konfigurera proxy för belastningsutjämning med resursallokering (round robin) för varje Tableau Server som kör gatewayprocessen.
    • Hanterar autentiseringsbegäranden från en extern identitetsprovider (IdP).
  • Proxy för vidarebefordran: Tableau Server kräver åtkomst till Internet för licensierings- och kartfunktioner. Du måste konfigurera listor över säkra proxyer för vidarebefordran för Tableau-tjänste-URL:er. Läs mer i Kommunicera med Internet (Linux(Länken öppnas i ett nytt fönster)).
  • All klientrelaterad trafik kan krypteras över HTTPS:
    • Lastbalanserare för klient till program
    • Lastbalanserare för omvända proxyservrar
    • Proxyservrar till Tableau Server
    • Autentiseringshanterare som körs på omvänd proxy till IdP
    • Tableau Server till IdP

Oberoende gateway för Tableau Server

Den oberoende gatewayen för Tableau Server introducerades i Tableau Server version 2022.1. Oberoende gateway är en fristående instans av gatewayprocessen i Tableau som fungerar som en Tableau-medveten omvänd proxy.

Oberoende gateway har stöd för belastningsutjämning med resursallokering (round robin) till Tableaus backend-servrar. Oberoende gateway är emellertid inte avsedd att fungera som belastningsutjämnare för företagsprogram. Du bör köra oberoende gateway bakom en belastningsutjämnare i företagsklass.

Den här funktionen kräver en licens för Advanced Management.

Autentisering och auktorisering

Standardreferensarkitekturen specificerar att installera Tableau Server med lokal autentisering konfigurerad. I den här modellen måste klienter ansluta till Tableau Server för att autentiseras av den Tableau Server-interna lokala autentiseringsprocessen. Vi rekommenderar inte att du använder den här autentiseringsmetoden i referensarkitekturen eftersom scenariot kräver att oautentiserade klienter kommunicerar på programnivån vilket utgör en säkerhetsrisk.

I stället rekommenderar vi att du konfigurerar en extern identitetsprovider i företagsklass kopplad till en AuthN-modul för att förautentisera all trafik till programnivån. När den konfigurerats med en extern IdP används inte den Tableau Server-interna lokala autentiseringsprocessen. Tableau Server godkänner åtkomst till resurser i distributionen efter att IdP har autentiserat användarna.

Förautentisering med en AuthN-modul

I det exempel som dokumenteras i den här guiden konfigureras SAML SSO, men förautentiseringsprocessen kan konfigureras med de flesta externa identitetsprovidrar och en AuthN-modul.

I referensarkitekturen konfigureras den omvända proxyn för att skapa en klientautentiseringssession med IdP innan de begärandena proxyas till Tableau Server. Vi kallar den här processen för förautentiseringsfasen. Den omvända proxyn omdirigerar endast autentiserade klientsessioner till Tableau Server. Tableau Server skapar därefter en session, verifierar autentiseringen av sessionen med IdP och returnerar klientbegäran.

Följande diagram visar de stegvisa detaljerna för förautentiserings- och autentiseringsprocessen med en AuthN-modul konfigurerad. Den omvända proxyn kan vara en generisk tredjepartslösning eller en oberoende gateway för Tableau Server:

Stegen visas i ovanstående diagram. Steg 1: Tableau-klienten begär en resurs på Tableau Server. Steg 2: Den omvända proxyn skapar en autentiseringsbegäran med en URL-omdirigering till identitetsprovidern. Steg 3: Identitetsprovidern skickar ett inloggningsformulär till användaren. Steg 4: Användaren ombes ange autentiseringsuppgifter. Steg 5: Identitetsprovidern verifierar autentiseringsuppgifterna från användaren. Steg 6: Identitetsprovidern svarar på klienten med det inbäddade SAML-påståendet som publiceras till tjänstleverantören för den omvända proxyn. Steg 7: Tjänstleverantören för proxyn validerar påståendet, skapar en session och omdirigerar tjänstleverantören till Tableau Server. Steg 8: Tjänstleverantören på Tableau Server skapar autentiseringsbegäran till identitetsprovidern. Steg 9: Identitetsprovidern validerar den aktuella sessionen. Steg 10: Tjänstleverantören på Tableau Server validerar och skapar sin egen session och skickar svaret till användaren. Steg 11: Användaren ansluter till Tableau Server för auktorisering till den angivna resursen.

Konfigurationsöversikt

Det här är en översikt för processen att konfigurera webbnivån. Verifiera anslutning efter varje steg:

  1. Konfigurera två omvända proxyer för att ge HTTP-åtkomst till Tableau Server
  2. Konfigurera logiken för belastningsutjämning med ihållande sessioner att ansluta till varje Tableau Server-instans som kör Gateway-processen.
  3. Konfigurera belastningsutjämning för program med ihållande sessioner på internet-gatewayen som vidarebefordrar begäranden till de omvända proxyservrarna.
  4. Konfigurera autentisering med en extern IdP. Du kan konfigurera SSO eller SAML genom att installera en autentiseringshanterare på de omvända proxyservrarna. AuthN-modulen hanterar autentiseringshandskakningen mellan den externa IdP och din Tableau-driftsättning. Tableau agerar även som en IdP-tjänstprovider och autentiserar användare med IdP.
  5. Om du vill autentisera med Tableau Desktop i den här distributionen så måste dina klienter köra Tableau Desktop 2021.2.1 eller senare.

Exempel på webbnivåkonfiguration med oberoende gateway för Tableau Server

Den resterande delen av det här ämnet ger dig en procedur från början till slut som beskriver hur du implementerar webbnivån i exemplet på AWS-referensarkitektur med hjälp av en oberoende gateway för Tableau Server. Ett exempel på konfiguration med Apache som omvänd proxy finns i Bilaga – Exempel på driftsättning på webbnivå med Apache.

En exempelkonfiguration består av följande komponenter:

  • Lastbalanserare för AWS-programmet
  • Oberoende gateway för Tableau Server
  • Mellon-autentiseringsmodul
  • IdP för Okta
  • SAML-autentisering

Obs! Det exempel på webbnivåkonfiguration som visas i det här avsnittet innehåller detaljerade procedurer för att distribuera programvara och tjänster från tredje part. Vi har gjort vårt bästa för att verifiera och dokumentera procedurerna för att möjliggöra webbnivåscenariot. Programvara från tredje part kan dock ändras eller så kan ditt scenario skilja sig från den referensarkitektur som beskrivs här. Se dokumentationen från tredje part för konfigurationsinformation och support som har företräde.

Linux-exemplen i detta avsnitt visar kommandon för RHEL-liknande distributioner. Mer specifikt har kommandona här utvecklats med Amazon Linux 2-distributionen. Om du kör Ubuntu-driftsättningen redigerar du kommandona på lämpligt sätt.

Driftsättning av webbnivån i det här exemplet följer en stegvis konfigurations- och verifieringsprocedur. Konfigurationen av kärnwebbnivån består av följande steg för att aktivera HTTP mellan Tableau och internet. Den oberoende gatewayen körs och konfigureras för omvänd proxy/lastbalansering bakom lastbalanseraren för AWS-programmet:

  1. Förbereda miljön
  2. Installera oberoende gateway
  3. Konfigurera oberoende gatewayserver
  4. Konfigurera lastbalanserare för AWS-program

Efter att webbnivån konfigurerats och anslutning med Tableau verifierats så konfigurerar du autentisering med den externa leverantören.

Förbereda miljön

Slutför följande uppgifter innan du driftsätter en oberoende gateway.

  1. Förändringar av AWS-säkerhetsgruppen. Konfigurera den offentliga säkerhetsgruppen för att tillåta den oberoende gatewayens inkommande housekeeping-trafik (TCP 21319) från den privata säkerhetsgruppen.

  2. Installera version 22.1.1 (eller senare) på Tableau Server-kluster med fyra noder enligt anvisningarna i Del 4 – Installera och konfigurera Tableau Server.

  3. Konfigurera de två proxy-EC2-instanserna i den offentliga säkerhetsgruppen enligt anvisningarna i Konfigurera värddatorer.

Installera oberoende gateway

Den oberoende gatewayen för Tableau Server kräver en licens för Advanced Management.

Driftsättningen av oberoende gateway för Tableau Server består av att installera och köra .rpm-paketet och sedan konfigurera initialtillståndet. Proceduren i denna guide ger föreskrivande vägledning för driftsättning i referensarkitekturen.

Om din driftsättning skiljer sig från referensarkitekturen hänvisar vi till den grundläggande Tableau Server-dokumentationen: Installera Tableau Server med oberoende gateway (Linux(Länken öppnas i ett nytt fönster)).

Viktigt: Konfigureringen av en oberoende gateway kan ge upphov till många fel. Det är mycket svårt att felsöka konfigurationsproblem i två instanser av oberoende gateway-servrar. Av denna anledning rekommenderar vi att du konfigurerar en enstaka oberoende gateway-server åt gången. När du har konfigurerat den första servern och verifierat att den fungerar konfigurerar du den andra oberoende gateway-servern.

Även om du kommer att konfigurera varje oberoende gateway-server separat, ska du köra följande installationsprocedur på båda EC2-instanserna som du installerade i den offentliga säkerhetsgruppen: 

  1. Kör en uppdatering för att installera de senaste Linux OS-korrigeringarna:

    sudo yum update

  2. Om Apache är installerat ska du ta bort det:

     sudo yum remove httpd
  3. Kopiera installationspaketet för oberoende gateway version 2022.1.1 (eller senare) från sidan Tableau-nedladdningar(Länken öppnas i ett nytt fönster) till den värddator som kommer att köra Tableau Server.

    På en dator som kör ett Linux RHEL-liknande operativsystem kör du till exempel:

    wget https://downloads.tableau.com/esdalt/2022<version>/tableau-server-tsig-<version>.x86_64.rpm

  4. Kör installationsprogrammet. På ett Linux RHEL-liknande operativsystem kör du till exempel:

    sudo yum install <tableau-tsig-version>.x86_64.rpm

  5. Ändra till katalogen /opt/tableau/tableau_tsig/packages/scripts.<version_code>/ och kör skriptet initialize-tsig som finns där. Utöver flaggan --accepteula måste du inkludera IP-intervallet för undernäten där Tableau Server-driftsättningen körs. Använd alternativet -c för att ange IP-intervallet. Exemplet nedan visar kommandot med exemplet på AWS-undernät:

    sudo ./initialize-tsig --accepteula -c "ip 10.0.30.0/24 10.0.31.0/24"

  6. När initieringen är klar öppnar du filen tsighk-auth.conf och kopiera autentiseringshemligheten i filen. Du måste skriva in den här koden för varje oberoende gateway-instans som en del av backend Tableau Server-konfigurationen:

    sudo less /var/opt/tableau/tableau_tsig/config/tsighk-auth.conf

  7. När du har kört de föregående stegen på båda oberoende gateway-instanserna förbereder du konfigurationsfilen tsig.json. Konfigurationsfilen består av en ”independentGateways”-matris. Matrisen innehåller konfigurationsobjekt som var och en definierar anslutningsdetaljer för en oberoende gateway-instans.

    Kopiera följande JSON och anpassa den efter din distributionsmiljö. Exemplet här visar en fil för ett exempel på AWS-referensarkitektur.

    JSON-exemplet nedan innehåller endast anslutningsinformation för en enstaka oberoende gateway. Senare i processen kommer du att inkludera anslutningsinformationen för den andra oberoende gateway-servern.

    Spara filen som tsig.json för de efterföljande procedurerna.

    {
    "independentGateways": [
     {
     	"id": "ip-10-0-1-169.ec2.internal",
     	"host": "ip-10-0-1-169.ec2.internal",
     	"port": "21319",
     	"protocol" : "http",
     	"authsecret": "13660-27118-29070-25482-9518-22453"
     	}]
     }

    • "id" – det privata DNS-namnet för AWS EC2-instansen som kör den oberoende gatewayen.
    • "host" – samma som "id".
    • "port" – housekeeping-porten, som standard: "21319".
    • "protocol" – protokollet för klienttrafik. Lämna detta som http för den initiala konfigurationen.
    • "authsecret" – hemligheten som du kopierade i föregående steg.

Oberoende gateway: direkt kontra omdirigerad anslutning

Innan du fortsätter måste du bestämma vilket anslutningsschema du ska konfigurera i din driftsättning: direkt eller omdirigerad anslutning. Varje alternativ beskrivs kortfattat här nedan, tillsammans med relevanta beslutsdatapunkter.

Omdirigerad anslutning: Du kan konfigurera den oberoende gatewayen att skicka vidare klientkommunikation över en enda port till gateway-processen på Tableau Server. Vi kallar detta för en omdirigerad anslutning:

  • Omdirigeringsprocessen resulterar i ett extra hopp från den oberoende gatewayen till gateway-backendprocessen på Tableau Server. Det extra hoppet försämrar prestandan jämfört med en direkt anslutning.
  • TLS stöds för omdirigeringsläge. All kommunikation i omdirigeringsläge är begränsad till ett enda protokoll (HTTP eller HTTPS) och kan därför krypteras och autentiseras med TLS.

Direkt anslutning: Den oberoende gatewayen kan kommunicera direkt med serverprocesserna i Tableau Server över flera portar. Vi kallar den här typen av kommunikation för direkt anslutning:

  • Eftersom anslutningen är direkt till backend Tableau Server förbättras klientprestandan markant jämfört med alternativet med omdirigeringsanslutning.
  • Kräver att över 16 portar öppnas från offentliga till privata undernät för direkt processkommunikation från den oberoende gatewayen till Tableau Server-datorer.
  • TLS stöds ännu inte på processerna från oberoende gatewayer till Tableau Server.

För att köra TLS mellan Tableau Server och en oberoende gateway måste du utföra konfigurationen med en omdirigeringsanslutning. Exempelscenarierna i EDG är konfigurerade med omdirigeringsanslutning.

  1. Kopiera tsig.json till nod 1 i din Tableau Server-driftsättning.

  2. Kör följande kommandon på nod 1 för att aktivera den oberoende gatewayen.

    tsm stop
    tsm configuration set -k gateway.tsig.proxy_tls_optional -v none
    tsm pending-changes apply
    tsm topology external-services gateway enable -c tsig.json
    tsm start

Eftersom direkt anslutning inte stöder TLS rekommenderar vi att du endast konfigurerar denna typ av anslutning om du kan säkra all nätverkstrafik på annat sätt. För att köra TLS mellan Tableau Server och en oberoende gateway måste du utföra konfigurationen med en omdirigeringsanslutning. Exempelscenarierna i EDG är konfigurerade med omdirigeringsanslutning.

Om du konfigurerar en oberoende gateway för direkt anslutning till Tableau Server, måste du aktivera konfigurationen för att utlösa kommunikationen. Efter att Tableau Server kommunicerat med den oberoende gatewayen kommer protokollmålen att fastställas. Du måste sedan hämta proxy_targets.csv från datorn med den oberoende gatewayen och öppna motsvarande portar från den offentliga till den privata säkerhetsgruppen i AWS.

  1. Kopiera tsig.json till nod 1 i din Tableau Server-driftsättning.

  2. Kör följande kommandon på nod 1 för att aktivera den oberoende gatewayen.

    tsm stop
    tsm topology external-services gateway enable -c tsig.json
    tsm start
  3. På datorn med den oberoende gatewayen kör du följande kommando för att se de portar som Tableau Server-klustret använder:

    less /var/opt/tableau/tableau_tsig/config/httpd/proxy_targets.csv
  4. Konfigurera AWS-säkerhetsgrupper. Lägg till TCP-portarna som anges i proxy_targets.csv för att tillåta kommunikation från den offentliga säkerhetsgruppen till den privata säkerhetsgruppen.

    Vi rekommenderar att konfigurationen av ingångsportarna automatiseras då portarna kan ändras om driftsättningen av Tableau Server ändras. Att lägga till noder eller konfigurera processer på nytt i Tableau Server-driftsättningen utlöser ändringar av portåtkomsten som krävs av oberoende gateway.

Verifiering: bastopologikonfiguration

Du borde kunna komma åt adminsidan för Tableau Server genom att gå till http://<gateway-public-IP-address>.

Om inloggningssidan för Tableau Server inte läses in, eller om Tableau Server inte startar, kan du följa dessa felsökningssteg:

Nätverk: 

  • Verifiera anslutningen mellan Tableau-driftsättningen och den oberoende gateway-instansen genom att köra kommandot wget från Tableau Server, nod 1: wget http://<internal IP address of Independent Gateway> :21319, till exempel:

     wget http://ip-10-0-1-38:21319

    Om anslutningen nekas eller misslyckas, ska du verifiera att den offentliga säkerhetsgruppen är konfigurerad för att tillåta den oberoende gatewayens housekeeping-trafik (TCP 21319) från den privata säkerhetsgruppen.

    Om säkerhetsgruppen är korrekt konfigurerad, ska du kontrollera att du angav rätt IP-adresser eller IP-intervall under initieringen av den oberoende gatewayen. Du kan visa och ändra denna konfiguration i filen environment.bash som finns på/etc/opt/tableau/tableau_tsig/environment.bash. Om du gör en ändring i den här filen behöver du starta om tsig-http-tjänsten enligt beskrivningen nedan.

På proxy 1-värden:

  1. Skriv över httpd.conf-filen med oberoende gateway-stubfilen:

    cp /var/opt/tableau/tableau_tsig/config/httpd.conf.stub /var/opt/tableau/tableau_tsig/config/httpd.conf
  2. Starta om tsig-httpd som ett första felsökningssteg:
    sudo su - tableau-tsig
    systemctl --user restart tsig-httpd
    exit

Nod 1 i Tableau

  • Dubbelkolla filen tsig.json. Om du hittar fel ska du åtgärda dem och sedan köra tsm topology external-services gateway update -c tsig.json.
  • Om du kör direkt anslutning, ska du verifiera att TCP-portarna som anges i proxy_targets.csv är konfigurerade som ingångsportar från offentliga till privata säkerhetsgrupper.

Konfigurera lastbalanserare för AWS-program

Konfigurera belastningsutjämnaren som en HTTP-lyssnare. Här beskrivs hur du lägger till en belastningsutjämnare i AWS:

Steg 1: Skapa målgrupp

Målgruppen är en AWS-konfiguration där de EC2-instanser som körs för dina proxyservrar definieras. Dessa är målen för LBS-trafik.

  1. EC2 >Målgrupper > Skapa målgrupp

  2. På sidan Skapa:

    • Ange ett namn på målgruppen, till exempel TG-internal-HTTP
    • Måltyp: instanser
    • Protokoll: HTTP
    • Port: 80
    • VPC: Välj VPC
    • Under Hälsokontroller > Avancerade inställningar för hälsokontroller > Framgångskoder lägger du till kodlistan enligt följande: 200,303.
    • Klicka på Skapa
  3. Välj den målgrupp som du just skapade och klicka sedan på fliken Mål

    • Klicka på Redigera.
    • Välj de EC2-instanser (eller en instans om du konfigurerar en i taget) som kör proxyprogram och klicka sedan på Lägg till bland registrerade.
    • Klicka på Spara.

Steg 2: Starta guiden för belastningsutjämnaren

  1. EC2 > Belastningsutjämnare > Create Load Balancer (Skapa belastningsutjämnare)

  2. Skapa en belastningsutjämnare för program på sidan ”Välj typ av belastningsutjämnare”.

Obs! Gränssnittet som visas för konfigurering av belastningsutjämnaren är inte samma på alla AWS-datacenter. Via stegen i Guidekonfiguration nedan får du åtkomst till AWS-konfigurationsguiden som börjar med steg 1 Konfigurera belastningsutjämnare

Om alla konfigurationer visas på samma sida i datacentret där knappen Skapa belastningsutjämnare visas längst ned följer du proceduren ”Konfiguration för enskild sida” nedan.

  1. Sidan Konfigurera belastningsutjämnare:

    • Ange namn
    • Schema: internetanpassat (standard)
    • IP-adresstyp: ipv4 (standard)
    • Lyssnare (lyssnare och dirigering):
      1. Lämna HTTP-standardlyssnaren
      2. Klicka på Lägg till lyssnare och lägg till HTTPS:443
    • VPC: välj den VPC där du har installerat allt
    • Tillgänglighetszoner:
      • Välj a och b för dina datacenterregioner
      • I varje motsvarande listruta väljer du det offentliga undernätet (där dina proxyservrar finns).
    • Klicka på Configure Security Settings (Konfigurera säkerhetsinställningar)
  2. Sidan Konfigurera säkerhetsinställningar

    • Ladda upp ditt offentliga SSL-certifikat.
    • Klicka på Next: Configure Security Groups (Nästa: Konfigurera säkerhetsgrupper).
  3. Sidan Konfigurera säkerhetsgrupper:

    • Välj den offentliga säkerhetsgruppen. Om standardvalet för säkerhetsgrupp väljs, ska valet rensas.
    • Klicka på Next: Configure Routing (Nästa: Konfigurera dirigering).
  4. Sidan Configure Routing (Konfigurera dirigering).

    • Målgrupp: Befintlig målgrupp.
    • Namn: Välj den målgrupp som du skapade tidigare.
    • Klicka på Next: Register Targets (Nästa: Registrera mål).
  5. Sidan Register Targets (Registrera mål)

    • Du borde se de två proxyserverinstanserna som du konfigurerade tidigare.
    • Klicka på Next: Review (Nästa: Granska).
  6. Sidan Review (Granska)

    Klicka på Skapa.

Grundläggande konfiguration

  • Ange namn
  • Schema: internetanpassat (standard)
  • IP-adresstyp: ipv4 (standard)

Nätverkskartläggning

  • VPC: välj den VPC där du har installerat allt
  • Kartläggningar:
    • Välj tillgänglighetszoner a och b (eller liknande) för dina datacenterregioner
    • I varje motsvarande listruta väljer du det offentliga undernätet (där dina proxyservrar finns).

Säkerhetsgrupper

  • Välj den offentliga säkerhetsgruppen. Om standardvalet för säkerhetsgrupp väljs, ska valet rensas.
  • Lyssnare och dirigering

    • Lämna HTTP-standardlyssnaren. För Standardåtgärd anger du Målgruppen som du ställde in tidigare.
    • Klicka på Lägg till lyssnare och lägg till HTTPS:443. För Standardåtgärd anger du Målgruppen som du ställde in tidigare.

    Skydda lyssnarinställningarna

    • Ladda upp ditt offentliga SSL-certifikat.

    Klicka på Create load balancer (Skapa belastningsutjämnare).

    Steg 3: Aktivera varaktighet

    1. När belastningsutjämnaren har skapats ska varaktigheten aktiveras i målgruppen.

      • Öppna sidan AWS-målgrupp (EC2 > Belastningsutjämning > Målgrupper) och välj den målgruppsinstans som du just konfigurerade. I Åtgärdsmenyn väljer du Redigera attribut.
      • På sidan Redigera attribut väljer du Varaktighet, anger en varaktigheten 1 day och trycker sedan på Spara ändringar.
    2. Aktivera varaktighet för belastningsutjämnaren för HTTP-lyssnaren. Välj den belastningsutjämnare som du just konfigurerade och klicka sedan på fliken Lyssnare:

      • För HTTP:80 klickar du på Visa/redigera regler. Öppna sidan Regler och klicka därefter på redigeringsikonen (en gång högst upp på sidan och sedan igen bredvid regeln) för att redigera regeln. Ta bort befintlig THEN-regel och ersätt genom att klicka på Lägg till åtgärd > Vidarebefordra till .... Ange den målgrupp som du har skapat i återstående DÅ-konfiguration. Aktivera varaktighet under Varaktighet på gruppnivå och ange varaktigheten till 1 dag. Spara inställningen och klicka sedan på Uppdatera.

    Steg 4: Ställ in tidsgräns för inaktivitet för belastningsutjämnaren

    Uppdatera tidsgränsen för inaktivitet till 400 sekunder för belastningsutjämnaren.

    Välj den belastningsutjämnare du har konfigurerat för den här driftsättningen och klicka sedan på Åtgärder > Redigera attribut. Ställ in tidsgränsen för inaktivitet400 sekunder och klicka sedan på Spara.

    Steg 5: Verifiera LBS-anslutning

    Öppna sidan AWS-belastningsutjämnare (EC2> Belastningsutjämnare) och välj den belastningsutjämnare som du just konfigurerade.

    Kopiera DNS-namnet som visas i Beskrivning och klistra in i webbläsaren för att komma åt inloggningssidan för Tableau Server.

    Om ett 500-nivåfel uppstår måste du starta om proxyservrarna.

    Uppdatera DNS med den offentliga Tableau-URL:en

    Använd domänens DNS-zonnamn från beskrivningen för AWS-belastningsutjämnaren för att skapa ett CNAME-värde i din DNS. Trafik till din URL (tableau.example.com) borde skickas till ditt offentliga AWS DNS-namn.

    Verifiera anslutning

    Efter att dina DNS-uppdateringar slutförts borde du kunna gå till inloggningssidan för Tableau Server genom att ange din offentliga URL, till exempel https://tableau.example.com.

    Exempel på autentiseringskonfiguration: SAML med extern IdP

    Följande exempel beskriver hur du installerar och konfigurerar SAML med IdP för Okta och Mellon-autentiseringsmodulen för en Tableau-driftsättning som kör AWS-referensarkitekturen.

    Det här exemplet fortsätter från föregående avsnitt och förutsätter att du konfigurerar en enda oberoende gateway åt gången.

    Det här exemplet beskriver hur du konfigurerar Tableau Server och Apache-proxyservrar över HTTP. Okta skickar begäranden till AWS-belastningsutjämnaren över HTTPS men all intern trafik går över HTTP. När du konfigurerar för det här scenariot bör du vara medveten om HTTP- kontra HTTPS-protokollen när du anger URL-strängar.

    Det här exemplet använder sig av Mellon som tjänsteleverantörsmodul för förautentisering på de oberoende gateway-servrarna. Med den här konfigurationen ser du till att endast autentiserad trafik ansluter till Tableau Server, som även agerar som tjänstleverantör med IdP för Okta. Därmed behöver du konfigurera två IdP-applikationer: en för Mellon-tjänstleverantören och en för Tableau-tjänstleverantören.

    Skapa ett Tableau-administratörskonto

    Ett vanligt misstag när man konfigurerar SAML är att inte skapa ett administratörskonto på Tableau Server innan SSO aktiveras.

    Första steget är att skapa ett konto på Tableau Server med rollen som serveradministratör. För exemplet med Okta-scenariot måste användarnamnet vara i ett giltigt e-postadressformat, såsom användare@exempel.com. Du måste ange ett lösenord för den här användaren. Lösenordet kommer dock inte att användas efter att SAML har konfigurerats.

    Konfigurera Okta-program med förautentisering

    Scenariot från slutpunkt till slutpunkt som beskrivs i det här avsnittet kräver två Okta-program:

    • Okta-program med förautentisering
    • Okta Tableau Server-program

    Var och en av dessa program är associerade med olika metadata som behöver konfigureras på den omvända proxyn och Tableau-servern, respektive.

    Den här proceduren beskriver hur man skapar och konfigurerar Okta-program med förautentisering. Längre fram i detta ämne kommer du att skapa Okta Tableau Server-programmet. Se Oktas webbplats för utvecklare(Länken öppnas i ett nytt fönster) för ett kostnadsfritt Okta-testkonto med begränsade användare.

    Skapa en SAML-appintegrering för Mellon-tjänsteleverantör med förautentisering.

    1. Öppna Oktas administrationsöversikt > ProgramSkapa appintegrering.

    2. På sidan Skapa en ny appintegrering kan du välja SAML 2.0 och sedan klicka på Nästa.

    3. På fliken Allmänna inställningar ska du ange ett appnamn, såsom Tableau Pre-Auth, och sedan klicka på Nästa.

    4. På fliken Konfigurera SAML:

      • URL för enkel inloggning. Det sista elementet av sökvägen i URL:en för enkel inloggning kallas för MellonEndpointPath i konfigurationsfilen mellon.conf som följer senare i den här proceduren. Du kan ange valfri slutpunkt. I det här exemplet är slutpunkten sso. Det sista elementet postResponse krävs : https://tableau.example.com/sso/postResponse.
      • Klicka ur kryssrutan: Använd detta för URL för mottagaren och destinationen.
      • URL för mottagaren: Samma som URL för SSO, men med HTTP. Till exempel http://tableau.example.com/sso/postResponse.
      • Mål-URL: samma som URL för enkel inloggning, men med HTTP. Till exempel http://tableau.example.com/sso/postResponse.
      • Audience URI (SP Entity ID). Till exempel https://tableau.example.com.
      • Format på namn-ID: EmailAddress
      • Användarnamn i programmet: Email
      • Attribututlåtanden: namn = mail; namnformat = Unspecified; värde = user.email.

      Klicka på Nästa.

    5. Välj följande på fliken Feedback:

      • Jag är Okta-kund och lägger till ett internt program
      • Det här är ett internt program som vi har skapat
      • Klicka på Slutför.
    6. Skapa metadatafilen för tjänsteleverantörens förautentisering:

      • I Okta: Program > Program > Ditt nya program (t.ex. Tableau Pre-Auth) > Logga in
      • Bredvid SAML-signeringscertifikat klickar du på Visa anvisningar om SAML-konfiguration.
      • På sidan Så här konfigurerar du SAML 2.0 för <pre-auth>-program rullar du nedåt till delen Valfritt , Uppge följande IdP-metadata för serviceleverantören.
      • Kopiera innehållet i XML-fältet och spara det i en fil med namnet pre-auth_idp_metadata.xml.
    7. (Valfritt) Konfigurera multifaktorautentisering:

      • I Okta: Program > Program > Ditt nya program (t.ex. Tableau Pre-Auth) > Logga in
      • Klicka på Lägg till regel under Inloggningspolicy.
      • Ange ett namn och de olika MFA-alternativen i Programmets inloggningsregel. Du kan lämna alla alternativ som standard för att testa funktionaliteten. Under Åtgärder måste du dock välja Fråga efter faktor och sedan ange hur ofta användare måste logga in. Klicka på Spara.

    Skapa och tilldela Okta-användare

    1. Skapa en användare, i Okta, med samma användarnamn som skapades i Tableau (användare@example.com): Katalog > Personer > Lägg till person.
    2. Tilldela dett nya Okta-programmet till den personen när användaren har skapats: Klicka på användarnamnet och tilldela sedan programmet i Tilldela program.

    Installera Mellon för förautentisering

    Det här exemplet använder mod_auth_mellon, en populär öppen källkodsmodul. Vissa driftsättningar på Linux paketerar föråldrade mod_auth_mellon-versioner från en äldre lagringsplats. Dessa föråldrade versioner kan innehålla okända säkerhetsbrister eller funktionsproblem. Om du väljer att använda mod_auth_mellon ska du kontrollera att du använder en aktuell version.

    Mod_auth_mellon-modulen är programvara från tredje part. Vi har gjort vårt bästa för att verifiera och dokumentera procedurerna för att möjliggöra det här scenariot. Programvara från tredje part kan dock ändras eller så kan ditt scenario skilja sig från den referensarkitektur som beskrivs här. Se dokumentationen från tredje part för konfigurationsinformation och support som har företräde.

    1. Installera en aktuell version av Mellon-autentiseringsmodulen på den aktiva EC2-instansen som kör den oberoende gatewayen.

    2. Skapa katalogen /etc/mellon:

      sudo mkdir /etc/mellon

    Konfigurerar Mellon som förautentiseringsmodul

    Kör den här proceduren på den första instansen av den oberoende gatewayen.

    Du måste ha en kopia av pre-auth_idp_metadata.xml-filen som du skapade från Okta-konfigurationen.

    1. Ändra katalog:

      cd /etc/mellon

    2. Skapa metadata för tjänstleverantören. Kör skriptet mellon_create_metadata.sh. Du måste inkludera entitets-ID och retur-URL för din organisation i kommandot.

      Retur-URL kallas för URL för enkel inloggning i Okta. Det slutliga elementet för sökvägen i retur-URL:en kallas för MellonEndpointPath i konfigurationsfilen mellon.conf som kommer senare i den här proceduren. I det här exemplet anger vi sso som slutpunktssökväg.

      Exempel:

      sudo /usr/libexec/mod_auth_mellon/mellon_create_metadata.sh https://tableau.example.com "https://tableau.example.com/sso"

      Skriptet returnerar tjänstleverantörens certifikat, nyckel och metadatafiler.

    3. Byt namn på tjänstleverantörens filer i katalogen mellon för ökad läsbarhet. Vi kallar dessa filer följande namn i dokumentationen:

      sudo mv *.key mellon.key
      sudo mv *.cert mellon.cert
      sudo mv *.xml sp_metadata.xml

    4. Kopiera pre-auth_idp_metadata.xml-filen till samma katalog.

    5. Ändra äganderätt och behörigheter för alla filer i /etc/mellon-katalogen:

      sudo chown tableau-tsig mellon.key
      sudo chown tableau-tsig mellon.cert
      sudo chown tableau-tsig sp_metadata.xml
      sudo chown tableau-tsig pre-auth_idp_metadata.xml 
      sudo chmod +r * mellon.key
      sudo chmod +r * mellon.cert
      sudo chmod +r * sp_metadata.xml
      sudo chmod +r * pre-auth_idp_metadata.xml 

    6. Skapa katalogen /etc/mellon/conf.d:

      sudo mkdir /etc/mellon/conf.d
    7. Skapa filen global.conf i katalogen /etc/mellon/conf.d.

      Kopiera filinnehållet som visas nedan, men uppdatera MellonCookieDomain med ditt rotdomännamn. Om domännamnet för Tableau till exempel är tableau.example.com ska du ha example.com som rotdomän.

      <Location "/">
      AuthType Mellon
      MellonEnable auth
      Require valid-user
      MellonCookieDomain <root domain>
      MellonSPPrivateKeyFile /etc/mellon/mellon.key
      MellonSPCertFile /etc/mellon/mellon.cert
      MellonSPMetadataFile /etc/mellon/sp_metadata.xml
      MellonIdPMetadataFile /etc/mellon/pre-auth_idp_metadata.xml
      MellonEndpointPath /sso
      </Location>
      
      <Location "/tsighk">
      MellonEnable Off
      </Location>
    8. Skapa filen mellonmod.conf i katalogen /etc/mellon/conf.d.

      Den här filen innehåller ett enda direktiv som anger platsen för filen mod_auth_mellon.so. Platsen i exemplet här är standardplatsen för filen. Verifiera att filen finns på den här platsen, eller ändra sökvägen i detta direktiv till att matcha den faktiska platsen för mod_auth_mellon.so:

      LoadModule auth_mellon_module /usr/lib64/httpd/modules/mod_auth_mellon.so

    Skapa Tableau Server-applikation i Okta

    1. På instrumentpanelen för Okta: Program > Program > Browse App Catalog (Bläddra i appkatalog).
    2. Sök efter Tableau i Browse App Integration Catalog (Bläddra i appintegreringskatalog), välj panelen för Tableau Server och klicka på Lägg till.
    3. Add Tableau Server (Lägg Tableau Server) > General Settings (Allmänna inställningar) anger du en etikett och klickar sedan på Nästa.
    4. Välj SAML 2.0 i Sign-On Options (Inloggningsalternativ) och rulla ned till Advanced Sign-on Settings (Avancerade inloggningsinställningar):
      • SAML Entity ID (Entitets-ID för SAML): Ange den offentliga URL:en, t.ex. https://tableau.example.com.
      • Application user name format (Format för användarnamn för programmet): E-postadress
    5. Starta en webbläsare genom att klicka på länken Identity Provider metadata (Metadata för identitetsprovider). Kopiera webbläsarlänken. Det här är länken du använder när du konfigurerar Tableau i stegen som följer.
    6. Klicka på Klart.
    7. Tilldela användaren (användare@företag.com) den nya Tableau Server Okta-appen: Klicka på användarnamnet och tilldela sedan programmet i Assign Application (Tilldela program).

    Ställa in konfiguration av autentiseringsmodul på Tableau Server

    Kör följande kommandon på Tableau Server, nod 1. Dessa kommandon anger filplatserna för Mellon-konfigurationsfilerna på den fjärranslutna datorn med den oberoende gatewayen. Dubbelkolla att de filsökvägar som anges i dessa kommandon verkligen går till sökvägarna och filplatsen på den fjärranslutna datorn.

    tsm configuration set -k gateway.tsig.authn_module_block -v "/etc/mellon/conf.d/mellonmod.conf" --force-keys
    tsm configuration set -k gateway.tsig.authn_global_block -v "/etc/mellon/conf.d/global.conf" --force-keys

    För att minska stilleståndstiden ska du inte tillämpa ändringar förrän du har aktiverat SAML enligt beskrivningen i nästa avsnitt.

    Aktivera SAML på Tableau Server för IdP

    Kör den här proceduren på Tableau Server-nod 1.

    1. Hämta metadata för Tableau Server-programvaran från Okta. Använd länken som du sparade från föregående procedur.

      wget https://dev-66144217.okta.com/app/exk1egxgt1fhjkSeS5d7/sso/saml/metadata -O idp_metadata.xml

    2. Kopiera ett TLS-certifikat och den relaterade nyckelfilen till Tableau Server. Nyckelfilen måste vara en RSA-nyckel. Mer information om SAML-certifikat och IdP-krav finns i SAML-krav (Linux(Länken öppnas i ett nytt fönster)).

      För att underlätta certifikathanteringen och driftsättningen, och som en rekommenderad säkerhetsåtgärd, bör du använda certifikat genererade av någon av de stora betrodda certifikatutfärdarna (CA). Du kan också generera självsignerade certifikat eller använda certifikat från en PKI för TLS.

      Om du inte har något TLS-certifikat kan du skapa ett självsignerat certifikat med hjälp av den inbäddade proceduren nedan.

      Skapa ett självsignerat certifikat

      Kör den här proceduren på Tableau Server-nod 1.

      1. Generera signeringsnyckel för rotcertifikatutfärdare (CA, Certificate Authority):

        openssl genrsa -out rootCAKey-saml.pem 2048

      2. Skapa certifikat för rot-CA:

        openssl req -x509 -sha256 -new -nodes -key rootCAKey-saml.pem -days 3650 -out rootCACert-saml.pem

        Du uppmanas att ange värden i certifikatfälten. Exempel:

        Country Name (2 letter code) [XX]:US
        State or Province Name (full name) []:Washington
        Locality Name (eg, city) [Default City]:Seattle
        Organization Name (eg, company) [Default Company Ltd]:Tableau
        Organizational Unit Name (eg, section) []:Operations
        Common Name (eg, your name or your server's hostname) []:tableau.example.com
        Email Address []:example@tableau.com
      3. Skapa certifikatet och relaterad nyckel (server-saml.csr och server-saml.key i nedanstående exempel). Certifikatmottagarens namn måste stämma överens med det offentliga värdnamnet för Tableau-värden. Certifikatmottagarens namn anges med alternativet -subj i formatet "/CN=<host-name>", till exempel:

        openssl req -new -nodes -text -out server-saml.csr -keyout server-saml.key -subj "/CN=tableau.example.com"

      4. Signera det nya certifikatet med CA-certifikatet som du skapade ovan. Följande kommando skapar även certifikatet i crt-format:

        openssl x509 -req -in server-saml.csr -days 3650 -CA rootCACert-saml.pem -CAkey rootCAKey-saml.pem -CAcreateserial -out server-saml.crt

      5. Konvertera nyckelfilen till RSA. Tableau behöver en RSA-nyckelfil för SAML. Kör följande kommando för att konvertera nyckeln:

        openssl rsa -in server-saml.key -out server-saml-rsa.key

    3. Konfigurera SAML. Kör följande kommando och ange ditt enhets-ID och din retur-URL, samt sökvägarna till metadatafilen, certifikatfilen och nyckelfilen:

      tsm authentication saml configure --idp-entity-id "https://tableau.example.com" --idp-return-url "https://tableau.example.com" --idp-metadata idp_metadata.xml --cert-file "server-saml.crt" --key-file "server-saml-rsa.key"

      tsm authentication saml enable

    4. Om din organisation använder Tableau Desktop 2021.4 eller senare måste du köra följande kommando för att aktivera autentisering via omvända proxyservrar.

      Tableau Desktop-versioner 2021.2.1 – 2021.3 kommer att fungera utan att köra detta kommando, förutsatt att din förautentiseringsmodul (t.ex. Mellon) har konfigurerats för att tillåta att domäncookies bevaras på toppnivå.

      tsm configuration set -k features.ExternalBrowserOAuth -v false

    5. Tillämpa konfigurationsändringar:

      tsm pending-changes apply

    Starta om tsig-httpd-tjänsten

    Om Tableau Server-driftsättningen tillämpar ändringar loggar du tillbaka in på Tableau Server-datorn med den oberoende gatewayen och kör följande kommandon för att starta om tsig-httpd-tjänsten:

    sudo su - tableau-tsig
    systemctl --user restart tsig-httpd
    exit

    Validera SAML-funktion

    Validera SAML-funktion från slutpunkt till slutpunkt genom att logga in på Tableau Server med den offentliga URL:en (t.ex., https://tableau.example.com) med det Tableau-administratörskonto som du skapade i början av den här proceduren.

    Om TSM inte startar (d.v.s. ”gateway-fel”) eller om du får webbläsarfel när du försöker ansluta, kan du ta en titt i Felsöka oberoende gateway för Tableau Server.

    Konfigurera autentiseringsmodulen på den andra oberoende gateway-instansen

    När du har konfigurerat den första instansen av oberoende gateway driftsätter du den andra instansen. Exemplet här är den sista processen för att installera AWS-/Mellon-/Okta-scenariot som beskrivs i detta ämne. Proceduren förutsätter att du redan har installerat den andra oberoende gateway-instansen enligt beskrivningen i avsnittet tidigare (Installera oberoende gateway).

    För att driftsätta den andra oberoende gatewayen behöver du följa stegen nedan:

    1. På den andra oberoende gateway-instansen ska du installera Mellon auth-modulen.

      Konfigurera inte Mellon auth-modulen som beskrevs längre fram i det här avsnittet. Istället måste du klona konfigurationen enligt beskrivningen i de efterföljande stegen.

    2. På den konfigurerade (första) oberoende gateway-instansen:

      Ta en tar-kopia av den befintliga Mellon-konfigurationen. Tar-säkerhetskopieringen kommer att bevara kataloghierarkin och alla behörigheter. Kör följande kommandon:

      cd /etc
      sudo tar -cvf mellon.tar mellon

      Kopiera mellon.tar till den andra oberoende gateway-instansen.

    3. På den andra oberoende gateway-instansen:

      Extrahera (packa upp) tar-filen till den andra instansen i /etc-katalogen. Kör följande kommandon:

      cd /etc
      sudo tar -xvf mellon.tar

    4. På nod 1 i Tableau Server-driftsättningen uppdaterar du anslutningsfilen (tsig.json ) med anslutningsinformationen från den andra oberoende gatewayen. Du måste hämta autentiseringsnyckeln enligt beskrivningen i följande föregående avsnitt (Installera oberoende gateway).

      Ett exempel på anslutningsfil (tsig.json) visas här:

      {
      "independentGateways": [
       {
         "id": "ip-10-0-1-169.ec2.internal",
         "host": "ip-10-0-1-169.ec2.internal",
         "port": "21319",
         "protocol" : "http",
         "authsecret": "13660-27118-29070-25482-9518-22453"
       },
       {
         "id": "ip-10-0-2-230.ec2.internal",
         "host": "ip-10-0-2-230.ec2.internal",
         "port": "21319",
         "protocol" : "http",
         "authsecret": "9055-27834-16487-27455-30409-7292"
       }]
       }
    5. På nod 1 i Tableau Server-driftsättningen kör du följande kommandon för att uppdatera konfigurationen:

      tsm stop
      tsm topology external-services gateway update -c tsig.json
      
      tsm start
    6. På båda oberoende gateway-instanserna: När Tableau Server startar, startar du om tsig-httpd-processen:

      sudo su - tableau-tsig
      systemctl --user restart tsig-httpd
      exit
    7. I AWS EC2 > Målgrupper: Uppdatera målgruppen för att inkludera EC2-instansen som kör den andra oberoende gateway-instansen.

      Välj den målgrupp som du just skapade och klicka sedan på fliken Mål: 

      • Klicka på Redigera.
      • Välj EC2-instansen för datorn med den andra oberoende gatewayen och klicka sedan på Lägg till i registrerade. Klicka sedan på Spara.
    Tack för din feedback!Din feedback har skickats in. Tack!