ตอนที่ 6 - การกำหนดค่าหลังการติดตั้ง

กำหนดค่า SSL/TLS จากตัวจัดสรรภาระงานไปยัง Tableau Server

บางองค์กรต้องมีช่องทางการเข้ารหัสตั้งแต่ต้นทางถึงปลายทางจากไคลเอ็นต์ไปยังบริการแบ็กเอนด์ สถาปัตยกรรมอ้างอิงเริ่มต้นตามที่อธิบายไว้ในส่วนนี้ระบุ SSL จากไคลเอ็นต์ไปยังตัวจัดสรรภาระงานที่ทำงานในระดับเว็บขององค์กร

หมวดนี้จะอธิบายวิธีการกำหนดค่า SSL/TLS สำหรับ Tableau Server และเกตเวย์อิสระในตัวอย่างสถาปัตยกรรมอ้างอิง AWS ดูตัวอย่างการกำหนดค่าที่อธิบายวิธีการกำหนดค่า SSL/TLS บน Apache ในสถาปัตยกรรมอ้างอิง AWS ได้ที่ ตัวอย่าง: กำหนดค่า SSL/TLS ในสถาปัตยกรรมอ้างอิง AWS

ปัจจุบันยังไม่มีการรองรับ TLS ที่กระบวนการแบ็กเอนด์ Tableau Server ที่ทำงานในช่วง 8000-9000 เปิดใช้งาน TLS คุณจะต้องกำหนดค่าเกตเวย์อิสระด้วยการเชื่อมต่อรีเลย์กับ Tableau Server

กระบวนการนี้อธิบายวิธีการเปิดใช้งานและกำหนดค่า TLS บนเกตเวย์อิสระของ Tableau Server และ Tableau Server ไปยังเกตเวย์อิสระ กระบวนการจะเข้ารหัสปริมาณการเข้าชมรีเลย์ HTTPS/443 และดูแลจัดการปริมาณการเข้าชม HTTPS/21319

กระบวนการ Linux ทั่วทั้งตัวอย่างนี้แสดงคำสั่งสำหรับการกระจายที่คล้ายกับ RHEL โดยระบบได้พัฒนาคำสั่งตรงนี้โดยเฉพาะด้วยการกระจาย Amazon Linux 2 หากเรียกใช้การกระจาย Ubuntu ให้แก้ไขคำสั่งให้สอดคล้องกัน

แนวทาง ณ ที่นี้มีความเฉพาะเจาะจงสำหรับตัวอย่างสถาปัตยกรรมอ้างอิง AWS แต่ละรายการที่ปรากฏในคู่มือนี้ ดังนั้นจึงไม่มีการกำหนดค่าที่ไม่บังคับ ดูเอกสารอ้างอิงฉบับเต็มได้ที่ กำหนดค่า TLS บนเกตเวย์อิสระ (Linux(ลิงก์จะเปิดในหน้าต่างใหม่))

ก่อนที่คุณจะกำหนดค่า TLS

ดำเนินการกำหนดค่า TLS ภายนอกเวลาทำการ เพราะการกำหนดค่าจำเป็นต้องดำเนินการรีสตาร์ท Tableau Server อย่างน้อยหนึ่งครั้ง หากคุณใช้การปรับใช้สถาปัตยกรรมอ้างอิงแบบเต็มสี่โหนด การรีสตาร์ทอาจใช้เวลาสักครู่หนึ่ง

  • ตรวจสอบยืนยันว่าไคลเอ็นต์สามารถเชื่อมต่อกับ Tableau Server ผ่าน HTTP การกำหนดค่า TLS กับเกตเวย์อิสระเป็นกระบวนการหลายขั้นตอนและอาจจำเป็นต้องมีการแก้ปัญหา ดังนั้นเราขอแนะนำให้เริ่มต้นด้วยการปรับใช้ Tableau Server ที่ทำงานได้อย่างเต็มรูปแบบก่อนที่จะกำหนดค่า TLS.
  • เก็บรวบรวมใบรับรอง TLS/SSL, คีย์และเนื้อหาที่เกี่ยวข้อง คุณจะต้องมีใบรับรอง SSL สำหรับเกตเวย์อิสระและสำหรับ Tableau Server หากต้องการทำให้การปรับใช้และการจัดการใบรับรองง่ายขึ้น พร้อมทั้งเป็นแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย เราขอแนะนำให้ใช้ใบรับรองที่สร้างโดยผู้ออกใบรับรอง (CA) บุคคลที่สามรายใหญ่ที่เชื่อถือได้ หรือคุณอาจสร้างใบรับรองที่ลงนามด้วยตนเองหรือใช้ใบรับรองจาก PKI สำหรับ TLS ก็ได้เช่นกัน

    ตัวอย่างการกำหนดค่าในหัวข้อนี้ใช้ชื่อเนื้อหาต่อไปนี้ตามภาพประกอบ:

    • tsig-ssl.crt: ใบรับรอง TLS/SSL สำหรับเกตเวย์อิสระ
    • tsig-ssl.key: คีย์ส่วนตัวสำหรับ tsig-ssl.crt บนเกตเวย์อิสระ
    • ts-ssl.crt: ใบรับรอง TLS/SSL สำหรับ Tableau Server
    • ts-ssl.key: คีย์ส่วนตัวสำหรับ tsig-ssl.crt บน Tableau Server
    • tableau-server-CA.pem: ใบรับรองระดับรูทสำหรับ CA ที่สร้างใบรับรองสำหรับคอมพิวเตอร์ของ Tableau Server โดยทั่วไปไม่จำเป็นต้องใช้ใบรับรองนี้หากคุณใช้ใบรับรองจากผู้ออกใบรับรองบุคคลที่สามรายใหญ่ที่เชื่อถือได้
    • rootTSIG-CACert.pem: ใบรับรองระดับรูทสำหรับ CA ที่สร้างใบรับรองสำหรับคอมพิวเตอร์เกตเวย์อิสระ โดยทั่วไปไม่จำเป็นต้องใช้ใบรับรองนี้หากคุณใช้ใบรับรองจากผู้ออกใบรับรองบุคคลที่สามรายใหญ่ที่เชื่อถือได้
    • ในส่วนที่ 5 ของคู่มือนี้มีรายละเอียดเกี่ยวกับใบรับรองและเนื้อหาไฟล์สำคัญอื่นๆ ที่จำเป็นสำหรับ SAML
    • หากการใช้งานของคุณจำเป็นต้องใช้ไฟล์เชนใบรับรอง โปรดดูบทความในฐานความรู้กำหนดค่า TLS บนเกตเวย์อิสระเมื่อใช้ใบรับรองที่มีเชนใบรับรอง(ลิงก์จะเปิดในหน้าต่างใหม่)

  • ตรวจสอบว่าคุณมีสิทธิ์เข้าถึง IdP หากคุณใช้ IdP สำหรับการตรวจสอบสิทธิ์ คุณก็น่าจะต้องทำการเปลี่ยนแปลงผู้รับและ URL ปลายทางที่ IdP หลังจากที่คุณได้กำหนดค่า SSL/TLS แล้ว

กำหนดค่าคอมพิวเตอร์เกตเวย์อิสระสำหรับ TLS

การกำหนดค่า TLS อาจเป็นกระบวนการที่ง่ายต่อการเกิดข้อผิดพลาด เนื่องจากการแก้ปัญหาในทั้งสองอินสแตนซ์ของเกตเวย์อิสระอาจใช้เวลานาน เราขอแนะนำให้เปิดใช้งานและกำหนดค่า TLS ในการปรับใช้ EDG ด้วยเกตเวย์อิสระเพียงแห่งเดียว หลังจากที่คุณยืนยันได้แล้วว่า TLS ทำงานได้ในการปรับใช้ คุณก็กำหนดค่าคอมพิวเตอร์เกตเวย์อิสระเครื่องที่สองได้

ขั้นตอนที่ 1: กระจายใบรับรองและคีย์ไปยังคอมพิวเตอร์เกตเวย์อิสระ

คุณสามารถกระจายเนื้อหาไปยังไดเรกทอรีที่กำหนดเองได้ ตราบใดที่ผู้ใช้ tsig-httpd มีสิทธิ์การเข้าถึงแบบอ่านไฟล์ เส้นทางไปยังไฟล์เหล่านี้ได้มีการอ้างอิงไว้ในกระบวนการอื่นๆ เราจะใช้เส้นทางตัวอย่างภายใต้ /etc/ssl ตลอดทั้งหัวข้อนี้ ตามที่ปรากฏดังต่อไปนี้

  1. สร้างไดเรกทอรีสำหรับคีย์ส่วนตัว:

    sudo mkdir -p /etc/ssl/private
  2. คัดลอกไฟล์ใบรับรองและคีย์ไปยังเส้นทาง /etc/ssl ตัวอย่าง

    sudo cp tsig-ssl.crt /etc/ssl/certs/
    sudo cp tsig-ssl.key /etc/ssl/private/
  3. (ไม่บังคับ) หากคุณใช้ใบรับรองที่ลงลายเซ็นด้วยตนเองหรือใบรับรอง PKI สำหรับ SSL/TLS ใน Tableau Server คุณจะต้องคัดลอกไฟล์ใบรับรองรูทของ CA ไปยังคอมพิวเตอร์เกตเวย์อิสระด้วย ตัวอย่าง

    sudo cp tableau-server-CA.pem /etc/ssl/certs/

ขั้นตอนที่ 2: อัปเดตตัวแปรสภาพแวดล้อมสำหรับ TLS

คุณจะต้องอัปเดตตัวแปรสภาพแวดล้อมของพอร์ตและโปรโตคอลสำหรับการกำหนดค่าเกตเวย์อิสระ

เปลี่ยนค่าเหล่านี้ได้ด้วยการอัปเดตไฟล์ /etc/opt/tableau/tableau_tsig/environment.bash ดังนี้:

TSIG_HK_PROTOCOL="https"
TSIG_PORT="443"
TSIG_PROTOCOL="https"

ขั้นตอนที่ 3: อัปเดตไฟล์การกำหนดค่า stub สำหรับโปรโตคอล HK

แก้ไขไฟล์การกำหนดค่า stub ด้วยตนเอง (/var/opt/tableau/tableau_tsig/config/httpd.conf.stub) เพื่อตั้งค่าคำสั่ง httpd ของ Apache ที่เกี่ยวกับ TLS สำหรับโปรโตคอลการดูแลจัดการ (HK)

ไฟล์การกำหนดค่า stub ประกอบไปด้วยบล็อกคำสั่งที่เกี่ยวข้องกับ TLS ที่มีการคอมเมนต์ออกด้วยเครื่องหมาย #TLS# นำเครื่องหมายออกจากคำสั่งตามตัวอย่างด้านล่างนี้ โปรดสังเกตว่าตัวอย่างแสดงการใช้ใบรับรองรูท CA สำหรับใบรับรอง SSL ที่ใช้ใน Tableau Server ด้วยตัวเลือก SSLCACertificateFile

#TLS# SSLPassPhraseDialog exec:/path/to/file
<VirtualHost *:${TSIG_HK_PORT}>
SSLEngine on
#TLS# SSLHonorCipherOrder on
#TLS# SSLCompression off
SSLCertificateFile /etc/ssl/certs/tsig-ssl.crt
SSLCertificateKeyFile /etc/ssl/private/tsig-ssl.key
SSLCACertificateFile /etc/ssl/certs/tableau-server-CA.pem
#TLS# SSLCARevocationFile /path/to/file
</VirtualHost>

การเปลี่ยนแปลงเปล่านี้จะสูญหายไปหากคุณติดตั้งเกตเวย์อิสระอีกครั้ง เราขอแนะนำให้ทำสำเนาการสำรองข้อมูล

ขั้นตอนที่ 4: คัดลอกไฟล์ stub แล้วรีสตาร์ทบริการ

  1. คัดลอกไฟล์ที่คุณอัปเดตในขั้นตอนสุดท้ายเพื่ออัปเดต httpd.conf พร้อมการเปลี่ยนแปลงดังนี้:

    cp /var/opt/tableau/tableau_tsig/config/httpd.conf.stub /var/opt/tableau/tableau_tsig/config/httpd.conf
  2. รีสตาร์ทบริการเกตเวย์อิสระ:

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

หลังจากที่คุณรีสตาร์ท เกตเวย์อิสระจะไม่ทำงานจนกว่าคุณจะดำเนินชุดขั้นตอนถัดไปบน Tableau Server หลังจากที่คุณดำเนินการตามขั้นตอนต่างๆ บน Tableau Server เสร็จสิ้นแล้ว เกตเวย์อิสระจะตรวจจับการเปลี่ยนแปลงและจะออนไลน์

กำหนดค่า Tableau Server โหนด 1 สำหรับ TLS

ดำเนินขั้นตอนเหล่านี้บนโหนด 1 ของการปรับใช้ Tableau Server

ขั้นตอนที่ 1: คัดลอกใบรับรองและคีย์ รวมทั้งหยุดการทำงานของ TSM

  1. ตรวจสอบว่าคุณได้คัดลอกใบรับรอง "SSL ภายนอก" ของ Tableau Server และคีย์ไปยังโหนด 1

  2. เพื่อจำกัดดาวน์ไทม์ให้น้อยที่สุด เราขอแนะนำให้หยุดการทำงาน TSM รวมทั้งดำเนินขั้นตอนต่อไปนี้ และเริ่มการทำงาน TSM หลังจากนำการเปลี่ยนแปลงไปใช้แล้ว:

    tsm stop

ขั้นตอนที่ 2: ตั้งค่าเนื้อหาใบรับรองแล้วเปิดใช้งานการกำหนดค่าเกตเวย์อิสระ

  1. ระบุตำแหน่งของไฟล์ใบรับรองและคีย์สำหรับเกตเวย์อิสระ เส้นทางเหล่านี้อ้างอิงตำแหน่งของคอมพิวเตอร์เกตเวย์อิสระ โปรดสังเกตว่าตัวอย่างเหล่านี้อนุมานใบรับรองเดียวกันและใช้คู่คีย์เพื่อปกป้อง HTTPS และดูแลจัดการการเข้าชม:

    tsm configuration set -k gateway.tsig.ssl.cert.file_name -v /etc/ssl/certs/tsig-ssl.crt --force-keys 
    tsm configuration set -k gateway.tsig.ssl.key.file_name -v /etc/ssl/private/tsig-ssl.key --force-keys	
  2. เปิดใช้งาน TLS สำหรับ HTTPS และโปรโตคอล HK สำหรับเกตเวย์อิสระ:

    tsm configuration set -k gateway.tsig.ssl.enabled -v true --force-keys
    tsm configuration set -k gateway.tsig.hk.ssl.enabled -v true --force-keys
  3. (ไม่บังคับ) หากคุณใช้ใบรับรองที่ลงลายเซ็นด้วยตนเองหรือใบรับรอง PKI สำหรับ SSL/TLS ในเกตเวย์อิสระ คุณจะต้องอัปโหลดไฟล์ใบรับรองรูทของ CA ไฟล์ใบรับรองระดับรูท CA คือใบรับรองระดับรูทที่ใช้สร้างใบรับรองสำหรับคอมพิวเตอร์เกตเวย์อิสระ ตัวอย่าง

    tsm security custom-cert add -c rootTSIG-CACert.pem
  4. (ไม่บังคับ) หากคุณใช้ใบรับรองที่ลงลายเซ็นด้วยตนเองหรือใบรับรอง PKI สำหรับ SSL/TLS ใน Tableau Server คุณจะต้องคัดลอกไฟล์ใบรับรองรูทของ CA ไปยังไดเรกทอรี /etc/ssl/certs ของเกตเวย์อิสระ ไฟล์ใบรับรองระดับรูท CA คือใบรับรองระดับรูทที่ใช้สร้างใบรับรองสำหรับคอมพิวเตอร์เกตเวย์อิสระ เมื่อคัดลอกใบรับรองไปยังเกตเวย์อิสระแล้ว คุณต้องระบุตำแหน่งของใบรับรองบนโหนด 1 ด้วยคำสั่ง tsm ต่อไปนี้ ตัวอย่าง

    tsm configuration set -k gateway.tsig.ssl.proxy.gateway_relay_cluster.cacertificatefile -v /etc/ssl/certs/tableau-server-CA.pem --force-keys
  5. (ไม่บังคับ: สำหรับการทดสอบเท่านั้น) หากคุณใช้ใบรับรองที่ลงลายเซ็นด้วยตนเองหรือใบรับรอง PKI ที่ใช้ร่วมกันในคอมพิวเตอร์เครื่องต่างๆ และจึงทำให้ชื่อหัวเรื่องบนใบรับรองไม่ตรงกับชื่อคอมพิวเตอร์ คุณจะต้องปิดใช้งานการตรวจสอบยืนยันใบรับรอง 

    tsm configuration set -k gateway.tsig.ssl.proxy.verify -v optional_no_ca --force-keys

ขั้นตอนที่ 3: เปิดใช้งาน "SSL ภายนอก" สำหรับ Tableau Server และปรับใช้การเปลี่ยนแปลง

  1. เปิด "SSL ภายนอก" บน Tableau Server:

    tsm security external-ssl enable --cert-file ts-ssl.crt --key-file ts-ssl.key
  2. ใช้การเปลี่ยนแปลง

    tsm pending-changes apply

ขั้นตอนที่ 4: อัปเดตไฟล์ JSON การกำหนดค่าเกตเวย์และเริ่มใช้งาน tsm

  1. อัปเดตไฟล์การกำหนดค่าเกตเวย์อิสระ (ตัวอย่างเช่น tsig.json) บน Tableau Server เพื่อระบุโปรโตคอล https สำหรับออบเจ็กต์เกตเวย์อิสระ:

    "protocol" : "https",
  2. ลบ (หรือคอมเมนต์-out) ข้อมูลการเชื่อมต่อสำหรับอินสแตนซ์ที่สองของเกตเวย์อิสระ อย่าลืมยืนยัน JSON ในตัวแก้ไขภายนอกก่อนทำการบันทึก

    หลังจากที่คุณกำหนดค่าและยืนยัน TLS สำหรับอินสแตนซ์เดียวของเกตเวย์อิสระ คุณจะต้องอัปเดตไฟล์ JSON นี้ด้วยข้อมูลการเชื่อมต่อสำหรับอินสแตนซ์ที่สองของเกตเวย์อิสระ

  3. เรียกใช้คำสั่งต่อไปนี้เพื่ออัปเดตการกำหนดค่าเกตเวย์อิสระ:

    tsm topology external-services gateway update -c tsig.json
  4. เริ่มใช้งาน TSM.

    tsm start
  5. ขณะที่ TSM กำลังเริ่มทำงาน ให้เข้าสู่ระบบอินสแตนซ์เกตเวย์อิสระแล้วรีสตาร์ทบริการ tsig-httpd:

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

อัปเดต URL โมดูลการตรวจสอบสิทธิ์ IdP ไปยัง HTTPS

หากกำหนดค่าผู้ให้บริการข้อมูลประจำตัวภายนอกสำหรับ Tableau แล้ว คุณอาจต้องอัปเดต URL การส่งคืนในแดชบอร์ดการดูแลระบบสำหรับ IdP

ตัวอย่างเช่น หากใช้แอปพลิเคชันการตรวจสอบสิทธิ์ล่วงหน้าของ Okta คุณจะต้องอัปเดตแอปพลิเคชันดังกล่าวเพื่อใช้โปรโตคอล HTTPS สำหรับ URL ผู้รับและ URL ปลายทาง

กำหนดค่าตัวกระจายโหลด AWS สำหรับ HTTPS

หากคุณกำลังปรับใช้ด้วยตัวกระจายโหลด AWS ตามที่ระบุไว้ในคู่มือนี้ คุณจะต้องกำหนดค่าตัวกระจายโหลด AWS อีกครั้งให้ส่งการเข้าชม HTTPS ไปยังคอมพิวเตอร์ที่ใช้งานเกตเวย์อิสระ:

  1. ลบกลุ่มเป้าหมาย HTTP ที่มีอยู่:

    ใน กลุ่มเป้าหมาย ให้เลือกกลุ่มเป้าหมาย HTTP ที่กำหนดค่าไว้สำหรับตัวกระจายโหลด คลิก การดำเนินการ แล้วคลิก ลบ

  2. สร้างกลุ่มเป้าหมาย HTTPS

    กลุ่มเป้าหมาย > สร้างกลุ่มเป้าหมาย

    • เลือก “อินสแตนซ์”
    • ป้อนชื่อกลุ่มเป้าหมาย เช่น TG-internal-HTTPS
    • เลือก VPC
    • โปรโตคอล: HTTPS 443
    • ในส่วนการตรวจสอบประสิทธิภาพการทำงาน > การตั้งค่าการตรวจสอบประสิทธิภาพการทำงานขั้นสูง > โค้ดความสำเร็จ ให้ผนวกรายการโค้ดเพื่ออ่าน เช่น 200,303
    • คลิกสร้าง
  3. เลือกกลุ่มเป้าหมายที่เพิ่งสร้างขึ้น แล้วคลิกแท็บเป้าหมาย 

    • คลิกแก้ไข
    • เลือกอินสแตนซ์ EC2 ที่ใช้งานเกตเวย์ Tableau Server ที่คุณกำหนดค่าไว้ แล้วคลิก เพิ่มไปยังรายการที่ลงทะเบียน
    • คลิกบันทึก
  4. หลังจากที่สร้างกลุ่มเป้าหมายแล้ว คุณต้องเปิดใช้งานความสามารถในการดึงดูด

    • เปิดหน้ากลุ่มเป้าหมาย AWS (EC2> การจัดสรรภาระงาน> กลุ่มเป้าหมาย) เลือกอินสแตนซ์กลุ่มเป้าหมายที่เพิ่งตั้งค่า ในเมนูการดำเนินการ ให้เลือกแก้ไขแอตทริบิวต์
    • ในหน้าแก้ไขแอตทริบิวต์ ให้เลือกความสามารถในการดึงดูด ระบุระยะเวลา 1 day แล้วบันทึกการเปลี่ยนแปลง
  5. อัปเดตกฎลิสเทนเนอร์ในตัวจัดสรรภาระงาน เลือกตัวจัดสรรภาระงานที่กำหนดค่าไว้สำหรับการปรับใช้ แล้วคลิกแท็บลิสเทนเนอร์

    • สำหรับ HTTP:80 ให้คลิกดู/แก้ไขกฎ ในหน้ากฎที่เป็นผลลัพธ์ ให้คลิกไอคอนแก้ไข (เคยอยู่ที่ด้านบนของหน้า แล้วกลับมาอยู่ข้างกฎอีกครั้ง) เพื่อแก้ไขกฎ ลบกฎ THEN ที่มีอยู่แล้วแทนที่กฎดังกล่าวโดยการคลิกเพิ่มการดำเนินการ > เปลี่ยนเส้นทางไปยัง... ในการกำหนดค่า THEN ที่เป็นผลลัพธ์ ให้ระบุ HTTPS และพอร์ต 443 แล้วคงตัวเลือกอื่นๆ ตามการตั้งค่าเริ่มต้น บันทึกการตั้งค่าแล้วคลิกอัปเดต
    • สำหรับ HTTPS:443 ให้คลิกดู/แก้ไขกฎ ในหน้ากฎที่เป็นผลลัพธ์ ให้คลิกไอคอนแก้ไข (เคยอยู่ที่ด้านบนของหน้า แล้วกลับมาอยู่ข้างกฎอีกครั้ง) เพื่อแก้ไขกฎ ลบกฎ THEN ที่มีอยู่และแทนที่กฎดังกล่าวโดยการคลิกเพิ่มการดำเนินการ > ส่งต่อไปยัง... ระบุกลุ่มเป้าหมายไปยังกลุ่ม HTTPS ที่คุณเพิ่งสร้างขึ้น เปิดใช้ความสามารถในการดึงดูดและกำหนดระยะเวลาเป็น 1 วันในส่วนความสามารถในการดึงดูดระดับกลุ่ม บันทึกการตั้งค่าแล้วคลิกอัปเดต
  6. ในตัวกระจายโหลด ให้อัปเดตการหมดเวลาที่ไม่มีการใช้งานเป็น 400 วินาที เลือกตัวจัดสรรภาระงานที่กำหนดค่าไว้สำหรับการปรับใช้นี้ แล้วคลิกแท็บการดำเนินการ > แก้ไขแอตทริบิวต์ กำหนดการหมดเวลาที่ไม่มีการใช้งานเป็น 400 วินาที จากนั้นคลิกบันทึก

ตรวจสอบความถูกต้องของ TLS

หากต้องการตรวจสอบฟังก์ชันการทำงานของ TLS ให้เข้าสู่ระบบ Tableau Server ผ่าน URL สาธารณะ (เช่น https://tableau.example.com) ด้วยบัญชีผู้ดูแลระบบ Tableau ที่สร้างไว้ตอนเริ่มต้นกระบวนการนี้

หาก TSM ไม่เริ่มทำงานหรือคุณได้รับข้อผิดพลาดอื่นๆ โปรดดูที่การแก้ปัญหาเกตเวย์อิสระของ Tableau Server

กำหนดค่าอินสแตนซ์ที่สองของเกตเวย์อิสระสำหรับ SSL

หลังจากที่กำหนดค่าอินสแตนซ์แรกของเกตเวย์อิสระเรียบร้อยแล้ว ให้ปรับใช้อินสแตนซ์ที่ 2

กระบวนการสำหรับการปรับใช้เกตเวย์อิสระที่ 2 ต้องทำตามขั้นตอนต่อไปนี้

  1. บนอินสแตนซ์ (แรก) ที่กำหนดค่าของเกตเวย์อิสระ: คัดลอกไฟล์ต่อไปนี้ไปยังตำแหน่งที่สอดคล้องกันบนอินสแตนซ์ที่สองของเกตเวย์อิสระ:

    • /etc/ssl/certs/tsig-ssl.crt
    • /etc/ssl/private/tsig-ssl.key (คุณจะต้องสร้างไดเรกทอรี private ในอินสแตนซ์ที่สอง)
    • /var/opt/tableau/tableau_tsig/config/httpd.conf.stub
    • /etc/opt/tableau/tableau_tsig/environment.bash
  2. บนโหนด 1 ของการปรับใช้ Tableau Server: อัปเดตไฟล์การเชื่อมต่อ (tsig.json) ด้วยข้อมูลการเชื่อมต่อจากเกตเวย์อิสระที่ 2

    ตัวอย่างไฟล์การเชื่อมต่อ (tsig.json) จะปรากฏที่นี่

    {
    "independentGateways": [
     {
       "id": "ip-10-0-1-169.ec2.internal",
       "host": "ip-10-0-1-169.ec2.internal",
       "port": "21319",
       "protocol" : "https",
       "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" : "https",
       "authsecret": "9055-27834-16487-27455-30409-7292"
     }]
     }
  3. บนโหนด 1 ของการปรับใช้ Tableau Server: เรียกใช้คำสั่งต่อไปนี้เพื่ออัปเดตการกำหนดค่า

    tsm stop
    tsm topology external-services gateway update -c tsig.json
    
    tsm start
  4. บนอินสแตนซ์ทั้ง 2 รายการของเกตเวย์อิสระ: เมื่อ Tableau Server กำลังเริ่มต้น ให้รีสตาร์ทกระบวนการ tsig-httpd บนอินสแตนซ์ทั้ง 2 รายการของเกตเวย์อิสระ

    sudo su - tableau-tsig
    systemctl --user restart tsig-httpd
    exit
  5. ใน AWS EC2>กลุ่มเป้าหมาย: อัปเดตกลุ่มเป้าหมายเพื่อรวมอินสแตนซ์ EC2 ที่ใช้อินสแตนซ์ของเกตเวย์อิสระที่ 2

    เลือกกลุ่มเป้าหมายที่เพิ่งสร้างขึ้น แล้วคลิกแท็บเป้าหมาย 

    • คลิกแก้ไข
    • เลือกอินสแตนซ์ EC2 ของคอมพิวเตอร์เกตเวย์อิสระที่ 2 แล้วคลิกเพิ่มไปยังลงทะเบียนแล้ว จากนั้นคลิกบันทึก

กำหนดค่า SSL สำหรับ Postgres

คุณสามารถกำหนดค่า SSL (TLS) สำหรับการเชื่อมต่อ Postgres ได้ตามความสมัครใจสำหรับการเชื่อมต่อที่เก็บภายนอกบน Tableau Server

หากต้องการทำให้การปรับใช้และการจัดการใบรับรองง่ายขึ้น พร้อมทั้งเป็นแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย เราขอแนะนำให้ใช้ใบรับรองที่สร้างโดยผู้ออกใบรับรอง (CA) บุคคลที่สามรายใหญ่ที่เชื่อถือได้ หรือคุณอาจสร้างใบรับรองที่ลงนามด้วยตนเองหรือใช้ใบรับรองจาก PKI สำหรับ TLS ก็ได้เช่นกัน

กระบวนการนี้อธิบายวิธีการใช้ OpenSSL ให้สร้างใบรับรองที่ลงลายเซ็นด้วยตนเองในโฮสต์ Postgres บนการกระจาย Linux แบบ RHELในตัวอย่างสถาปัตยกรรมอ้างอิง AWS

หลังจากที่สร้างและลงนามใบรับรอง SSL คุณต้องคัดลอกใบรับรอง CA ไปยังโฮสต์ Tableau

บนโฮสต์ที่ Postgres ทำงานอยู่:

  1. สร้างคีย์ผู้ออกใบรับรอง (CA) ระดับรูทที่ลงนาม

    openssl genrsa -out pgsql-rootCAKey.pem 2048
  2. สร้างใบรับรอง CA ระดับรูท

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

    ระบบจะแจ้งให้คุณป้อนค่าสำหรับฟิลด์ใบรับรอง ตัวอย่าง:

    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, Postgres server's hostname) []:ip-10-0-1-189.us-west-1.compute.internal
    Email Address []:example@tableau.com				
  3. สร้างใบรับรองและคีย์ที่เกี่ยวข้อง (server.csr และ server.key ในตัวอย่างด้านล่าง) สำหรับคอมพิวเตอร์ Postgres ชื่อเรื่องของใบรับรองต้องตรงกับชื่อ DNS ส่วนตัวของ EC2 สำหรับโฮสต์ Postgres ระบบกำหนดชื่อเรื่องด้วยตัวเลือก -subj ที่มีรูปแบบ "/CN=<private DNS name>" เช่น

    openssl req -new -nodes -text -out server.csr -keyout server.key -subj "/CN=ip-10-0-1-189.us-west-1.compute.internal"
  4. ลงนามใบรับรองใหม่ด้วยใบรับรอง CA ที่สร้างไว้ในขั้นตอนที่ 2 คำสั่งต่อไปนี้ยังส่งออกใบรับรองในรูปแบบ crt อีกด้วย

    openssl x509 -req -in server.csr -days 3650 -CA pgsql-rootCACert.pem -CAkey pgsql-rootCAKey.pem -CAcreateserial -out server.crt
  5. คัดลอกไฟล์ใบรับรองและคีย์ไปยังเส้นทาง /var/lib/pgsql/13/data/ ของ Postgres

    sudo cp server.crt /var/lib/pgsql/13/data/
    sudo cp server.key /var/lib/pgsql/13/data/
  6. เปลี่ยนเป็นผู้ใช้ระดับรูท:

    sudo su
  7. ตั้งค่าสิทธิในใบรับรองและไฟล์สำคัญ เรียกใช้คำสั่งต่อไปนี้:

    cd /var/lib/pgsql/13/data
    chown postgres.postgres server.crt
    chown postgres.postgres server.key
    chmod 0600 server.crt
    chmod 0600 server.key
  8. อัปเดตไฟล์การกำหนดค่า pg_haba /var/lib/pgsql/13/data/pg_hba.conf เพื่อระบุความน่าเชื่อถือของ md5

    เปลี่ยนคำสั่งการเชื่อมต่อที่มีอยู่จาก

    host all all 10.0.30.0/24 password และ

    host all all 10.0.31.0/24 password

    to

    host all all 10.0.30.0/24 md5 และ

    host all all 10.0.31.0/24 md5

  9. อัปเดตไฟล์ PostgreSQL /var/lib/pgsql/13/data/postgresql.conf โดยการเพิ่มบรรทัดนี้

    ssl = on
  10. ออกจากโหมดผู้ใช้ระดับรูท:

    exit
  11. รีสตาร์ท Postgres

    sudo systemctl restart postgresql-13

ไม่บังคับ: เปิดใช้งานการตรวจสอบความน่าเชื่อถือของใบรับรองบน Tableau Server สำหรับ Postgres SSL

หากคุณทำตามขั้นตอนการติดตั้งในตอนที่ 4: ติดตั้งและกำหนดค่า Tableau Server แล้ว Tableau Server จะได้รับการกำหนดค่าให้มี SSL เสริมสำหรับการเชื่อมต่อ Postgres ซึ่งหมายความว่าการกำหนดค่า SSL บน Postgres (ตามที่อธิบายไว้ข้างต้น) จะส่งผลให้เกิดการเชื่อมต่อแบบเข้ารหัส

หากคุณต้องการกำหนดให้มีการตรวจสอบความน่าเชื่อถือของใบรับรองสำหรับการเชื่อมต่อ คุณต้องเรียกใช้คำสั่งต่อไปนี้บน Tableau Server เพื่อกำหนดค่าการเชื่อมต่อโฮสต์ Postgres ใหม่อีกครั้ง

tsm topology external-services repository replace-host -f <filename>.json -c CACert.pem

โดยที่ <filename>.json เป็นไฟล์การเชื่อมต่อที่อธิบายไว้ในกำหนดค่า Postgres ภายนอก และ CACert.pem เป็นไฟล์ใบรับรอง CA สำหรับใบรับรอง SSL/TLS ที่ใช้โดย Postgres

ไม่บังคับ: ตรวจสอบการเชื่อมต่อ SSL

หากต้องการตรวจสอบการเชื่อมต่อ SSL คุณต้องทำดังต่อไปนี้

  • ติดตั้งไคลเอ็นต์ Postgres บนโหนด 1 ของ Tableau Server
  • คัดลอกใบรับรองระดับรูทที่คุณสร้างในขั้นตอนก่อนหน้าไปยังโฮสต์ Tableau
  • เชื่อมต่อกับเซิร์ฟเวอร์ Postgres จากโหนด 1

ติดตั้งไคลเอ็นต์ Postgres บนโหนด 1

ตัวอย่างนี้แสดงวิธีการติดตั้ง Postgres เวอร์ชัน 13.4 ติดตั้งเวอร์ชันเดียวกับที่คุณกำลังเรียกใช้สำหรับที่เก็บภายนอก

  1. สร้างและแก้ไขไฟล์ pgdg.repo ในเส้นทาง/etc/yum.repos.d บนโหนด 1 เติมข้อมูลการกำหนดค่าต่อไปนี้ลงในไฟล์:

    [pgdg13]
    name=PostgreSQL 13 for RHEL/CentOS 7 - x86_64
    baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-x86_64
    enabled=1
    gpgcheck=0
  2. ติดตั้งไคลเอ็นต์ Postgres:

    sudo yum install postgresql13-13.4-1PGDG.rhel7.x86_64

คัดลอกใบรับรองระดับรูทไปยังโหนด 1

คัดลอกใบรับรอง CA (pgsql-rootCACert.pem) ไปยังโฮสต์ Tableau:

scp ec2-user@<private-DNS-name-of-Postgress-host>:/home/ec2-user/pgsql-rootCACert.pem /home/ec2-user

เชื่อมต่อกับโฮสต์ Postgres ผ่าน SSL จากโหนด 1

เรียกใช้คำสั่งต่อไปนี้จากโหนด 1 โดยระบุที่อยู่ IP ของโฮสต์เซิร์ฟเวอร์ Postgres และใบรับรองระดับรูท CA:

psql "postgresql://postgres@<IP-address>:5432/postgres?sslmode=verify-ca&sslrootcert=pgsql-rootCACert.pem"

ตัวอย่าง:

 psql "postgresql://postgres@10.0.1.189:5432/postgres?sslmode=verify-ca&sslrootcert=pgsql-rootCACert.pem"

Postgres จะแจ้งรหัสผ่านให้คุณทราบ หลังจากเข้าสู่ระบบเรียบร้อยแล้ว เชลล์จะส่งคืน

psql (13.4)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=#

กำหนดค่า SMTP และการแจ้งเตือนเหตุการณ์

Tableau Server ส่งการแจ้งเตือนอีเมลไปยังผู้ดูแลระบบและผู้ใช้ วิธีการเปิดใช้งาน คุณจะต้องกำหนดค่า Tableau Server ให้ส่งอีเมลไปยังเซิร์ฟเวอร์อีเมลของคุณ คุณจะต้องระบุประเภทเหตุการณ์ เกณฑ์ และข้อมูลการสมัครใช้งานที่คุณต้องการส่งด้วย

สำหรับการกำหนดค่าตั้งต้นของ SMTP และการแจ้งเตือน เราขอแนะนำให้คุณใช้เทมเพลตไฟล์การกำหนดค่าด้านล่างเพื่อสร้างไฟล์ json และคุณยังสามารถตั้งค่าคีย์การกำหนดค่าเดี่ยวใดก็ได้ที่ระบุไว้ข้างล่างพร้อมไวยากรณ์ที่อธิบายว่า tsm configuration set (Linux(ลิงก์จะเปิดในหน้าต่างใหม่))

ดำเนินกระบวนการนี้บนโหนด 1 ในการปรับใช้ Tableau Server ของคุณ

  1. คัดลอกเทมเพลต json ต่อไปนี้ไปยังไฟล์ ปรับแต่งไฟล์ด้วยตัวเลือกการกำหนดค่า SMTP และการสมัครใช้งานของคุณ รวมทั้งการแจ้งเตือนสำหรับองค์กรของคุณ

    {
    "configKeys": {
    	"svcmonitor.notification.smtp.server": "SMTP server host name",
    	"svcmonitor.notification.smtp.send_account": "SMTP user name",
    	"svcmonitor.notification.smtp.port": 443,
    	"svcmonitor.notification.smtp.password": "SMTP user account password",
    	"svcmonitor.notification.smtp.ssl_enabled": true,
    	"svcmonitor.notification.smtp.from_address": "From email address",
    	"svcmonitor.notification.smtp.target_addresses": "To email address1,address2",
    	"svcmonitor.notification.smtp.canonical_url": "Tableau Server URL",
    	"backgrounder.notifications_enabled": true,
    	"subscriptions.enabled": true,
    	"subscriptions.attachments_enabled": true,
    	"subscriptions.max_attachment_size_megabytes": 150,
    	"svcmonitor.notification.smtp.enabled": true,
    	"features.DesktopReporting": true,
    	"storage.monitoring.email_enabled": true,
    	"storage.monitoring.warning_percent": 20,
    	"storage.monitoring.critical_percent": 15,
    	"storage.monitoring.email_interval_min": 25,
    	"storage.monitoring.record_history_enabled": true
    	}
    }
  2. เรียกใช้ tsm settings import -f file.json เพื่อส่งต่อไฟล์ json ไปยัง Tableau Services Manager

  3. เรียกใช้คำสั่ง tsm pending-changes apply เพื่อปรับใช้การเปลี่ยนแปลง

  4. เรียกใช้ tsm email test-smtp-connection เพื่อดูและตรวจสอบการกำหนดค่าการเชื่อมต่อ

ติดตั้งไดรเวอร์ PostgreSQL:

หากต้องการดูมุมมองผู้ดูแลระบบบน Tableau Server จะต้องติดตั้งไดรเวอร์ PostgreSQL บนโหนด 1 ในการปรับใช้ Tableau Server

  1. ไปที่หน้า ดาวน์โหลดไดรเวอร์ Tableau(ลิงก์จะเปิดในหน้าต่างใหม่) และคัดลอก URL สำหรับไฟล์ jar ของ PostgreSQL

  2. ดำเนินกระบวนการต่อไปนี้ในแต่ละโหนดของการปรับใช้ Tableau:

    • สร้างพาธไฟล์ต่อไปนี้:

      sudo mkdir -p /opt/tableau/tableau_driver/jdbc

    • สำหรับเส้นทางใหม่ ให้ดาวน์โหลดไฟล์ jar ของ PostgreSQL เวอร์ชันล่าสุด ตัวอย่าง:

      sudo wget https://downloads.tableau.com/drivers/linux/postgresql/postgresql-42.2.22.jar

  3. บนโหนดการติดตั้ง ให้รีสตาร์ท Tableau Server:

    tsm restart

กำหนดค่านโยบายรหัสผ่านที่รัดกุม

หากคุณไม่ได้ดำเนินการปรับใช้โซลูชันการตรวจสอบสิทธิ์ IdP กับ Tableau Server เราขอแนะนำให้เพิ่มความรัดกุมของนโยบายรหัสผ่าน Tableau ที่เป็นค่าเริ่มต้น

หากคุณกำลังปรับใช้ IdP กับ Tableau Server คุณจะต้องจัดการนโยบายรหัสผ่านด้วย IdP

กระบวนการต่อไปนี้ประกอบไปด้วยการกำหนดค่า json สำหรับการตั้งค่านโบายรหัสผ่านบน Tableau Server หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกด้านล่างได้ที่ Local Authentication (Linux(ลิงก์จะเปิดในหน้าต่างใหม่))

  1. คัดลอกเทมเพลต json ต่อไปนี้ไปยังไฟล์ เติมค่าคีย์ด้วยการกำหนดค่านโยบายรหัสผ่าน

    {
     "configKeys": {
    	"wgserver.localauth.policies.mustcontainletters.enabled": true,
    	"wgserver.localauth.policies.mustcontainuppercase.enabled": true,
    	"wgserver.localauth.policies.mustcontainnumbers.enabled": true,
    	"wgserver.localauth.policies.mustcontainsymbols.enabled": true,
    	"wgserver.localauth.policies.minimumpasswordlength.enabled": true,
    	"wgserver.localauth.policies.minimumpasswordlength.value": 12,
    	"wgserver.localauth.policies.maximumpasswordlength.enabled": false,
    	"wgserver.localauth.policies.maximumpasswordlength.value": 255,
    	"wgserver.localauth.passwordexpiration.enabled": true,
    	"wgserver.localauth.passwordexpiration.days": 90,
    	"wgserver.localauth.ratelimiting.maxbackoff.minutes": 60,
    	"wgserver.localauth.ratelimiting.maxattempts.enabled": false,
    	"wgserver.localauth.ratelimiting.maxattempts.value": 5,
    	"vizportal.password_reset": true	
     }
    }
  2. เรียกใช้ tsm settings import -f file.json เพื่อส่งต่อไฟล์ json ไปยัง Tableau Services Manager เพื่อกำหนดค่า Tableau Server

  3. เรียกใช้คำสั่ง tsm pending-changes apply เพื่อปรับใช้การเปลี่ยนแปลง

ขอบคุณสำหรับข้อเสนอแนะของคุณส่งข้อเสนอแนะของคุณเรียบร้อยแล้ว ขอขอบคุณ