ข้อกำหนดของ SAML

ก่อนที่คุณจะกำหนดค่า SAML บน Tableau Server โปรดตรวจสอบให้แน่ใจว่าสภาพแวดล้อมของคุณเป็นไปตามข้อกำหนด

สำคัญ: การกำหนดค่า SAML ทั้งกับ IdP และบน Tableau Server ต้องคำนึงถึงตัวอักษรพิมพ์ใหญ่และพิมพ์เล็ก ตัวอย่างเช่น URL ที่กำหนดค่าด้วย IdP และบน Tableau Server จะต้องตรงกันทุกประการ

ข้อกำหนดของใบรับรองและผู้ให้บริการข้อมูลระบุตัวตน (IdP)

หากต้องการกำหนดค่า Tableau Server สำหรับ SAML คุณจะต้องใช้สิ่งต่อไปนี้:

  • ไฟล์ใบรับรอง ไฟล์ใบรับรอง x509 ที่เข้ารหัส PEM พร้อมนามสกุล .crt ไฟล์นี้ใช้โดย Tableau Server ไม่ใช่ IdP หากคุณมีใบรับรอง SSL ก็อาจใช้ใบรับรองเดียวกันกับ SAML ได้ในบางกรณี หากต้องการข้อมูลเพิ่มเติม โปรดดู การใช้ใบรับรอง SSL และไฟล์สำคัญสำหรับ SAMLในบทความนี้ได้ภายหลัง

    Tableau Server ต้องการคู่คีย์ใบรับรองเพื่อลงนามคำขอที่ส่งไปยัง IdP ซึ่งจะช่วยลดการคุกคามของการโจมตีแบบ Man-in-the-Middle เนื่องจากการปลอมแปลงคำขอที่ลงนามแล้วนั้นทำได้ยาก นอกจากนี้ Tableau Server ยังตรวจสอบได้ว่า AuthNResponse ที่ได้รับนั้นมาจาก IdP ที่เชื่อถือได้ Tableau Server จะตรวจสอบ AuthNResponse ด้วยการใช้ลายเซ็นที่สร้างโดย IdP ระบบจะจัดเตรียมข้อมูลเมตาของใบรับรอง IdP ให้กับ Tableau Server ในฐานะส่วนหนึ่งของกระบวนการกำหนดค่า SAML เริ่มต้น

    คำขอที่ลงนามไม่ได้จำเป็นสำหรับ IdP ทั้งหมดเสมอไป ตามค่าเริ่มต้น Tableau Server จะต้องใช้คำขอที่ลงชื่อแล้ว เราขอแนะนำให้ใช้การกำหนดค่านี้เพื่อให้แน่ใจว่าการรับส่งข้อมูลการสื่อสารกับ IdP จะปลอดภัยมากขึ้น ทำงานกับทีม IdP เพื่อทำความเข้าใจว่าจำเป็นต้องปิดคำขอที่ลงนามแล้วหรือไม่ หากต้องการปิดใช้งานคำขอที่ลงนามแล้ว โปรดดู เอนทิตี samlSettings

  • อัลกอริทึมลายเซ็น ใบรับรองต้องใช้อัลกอริทึมลายเซ็นที่ปลอดภัย ตัวอย่างเช่น SHA-256 หากคุณพยายามกำหนดค่า Tableau Server สำหรับ SAML ด้วยใบรับรองที่ใช้แฮชการลงนาม SHA-1 Tableau Server จะปฏิเสธใบรับรองนั้น คุณสามารถกำหนดค่า Tableau Server ให้ยอมรับแฮช SHA-1 ที่ปลอดภัยน้อยกว่าได้ด้วยการตั้งค่าคีย์การกำหนดค่า tsm wgserver.saml.blocklisted_digest_algorithms

  • คีย์ RSA และขนาดความโค้ง ECDSA ใบรับรองเซิร์ฟเวอร์ Tableau ต้องมีความปลอดภัยของคีย์ RSA เป็น 2048 และใบรับรอง IdP ต้องมีความปลอดภัยของคีย์ RSA เป็น 2048 หรือขนาดความโค้ง ECDSA เป็น 256

    คุณสามารถกำหนดค่า Tableau Server ให้ยอมรับขนาดที่ปลอดภัยน้อยกว่าได้ด้วยการตั้งค่าคีย์การกำหนดค่าที่เกี่ยวข้อง ซึ่งได้แก่ wgserver.saml.min_allowed.rsa_key_size และ wgserver.saml.min_allowed.elliptic_curve_size

  • ไฟล์สำคัญของใบรับรอง ไฟล์สำคัญ RSA หรือ DSA ที่เป็นส่วนตัวและมีนามสกุล .key คีย์ RSA ต้องอยู่ในรูปแบบ PKCS#1 หรือ PKCS#8

    ข้อกำหนดในการป้องกันรหัสผ่านมีดังต่อไปนี้:

    • ไฟล์สำคัญ PKCS#1 RSA ไม่สามารถป้องกันด้วยรหัสผ่านได้
    • หากต้องการใช้ไฟล์สำคัญที่ป้องกันด้วยรหัสผ่าน คุณต้องกำหนดค่า SAML ด้วยไฟล์ RSA PKCS#8 หมายเหตุ: ไม่รองรับไฟล์ PKCS#8 ที่มีรหัสผ่านเป็นค่า null

    • ไม่รองรับไฟล์สำคัญที่ป้องกันด้วยรหัสผ่านในการปรับใช้ SAML เฉพาะไซต์

    สรุปการสนับสนุน

    รูปแบบไฟล์สำคัญการสนับสนุน SAML แบบทั่วทั้งเซิร์ฟเวอร์การสนับสนุน SAML ระดับไซต์
    PKCS#8 RSAใช่ไม่
    PKCS#8 (รหัสผ่านว่าง/ไม่มี)ไม่ไม่
    PKCS#1 RSAใช่ใช่
    PKCS#1 RSA (รหัสผ่าน)ไม่ไม่
    PKCS#1 DSA (รหัสผ่าน)ไม่ไม่
  • IdP ต้องลงนามในการยืนยัน SAML ด้วยอัลกอริทึมลายเซ็นที่ปลอดภัย ตามค่าเริ่มต้น Tableau Server จะปฏิเสธการยืนยัน SAML ที่ลงนามด้วยอัลกอริทึม SHA-1 คุณสามารถกำหนดค่า Tableau Server ให้ยอมรับการยืนยันที่ลงนามด้วยแฮช SHA-1 ที่ปลอดภัยน้อยกว่าได้ด้วยการตั้งค่าคีย์การกำหนดค่า tsm wgserver.saml.blocklisted_digest_algorithms

  • บัญชี IdP ที่รองรับ SAML 2.0 หรือใหม่กว่า คุณต้องมีบัญชีที่ใช้ผู้ให้บริการระบุตัวตนภายนอก ตัวอย่างเช่น PingFederate, SiteMinder และ Open AM

  • ผู้ให้บริการ IdP ที่รองรับการนำเข้าและส่งออกข้อมูลเมตา XML แม้ว่าไฟล์ข้อมูลเมตาที่สร้างขึ้นเองอาจใช้ได้ผล แต่ฝ่ายสนับสนุนทางเทคนิค Tableau จะไม่สามารถให้ความช่วยเหลือในการสร้างไฟล์หรือแก้ไขปัญหาจากไฟล์ดังกล่าว

  • ชื่อผู้ใช้: จำเป็น การกำหนดค่า IdP ต้องมีแอตทริบิวต์ “ชื่อผู้ใช้” หรือการอ้างสิทธิ์ และแอตทริบิวต์การกำหนดค่า SAML ที่สอดคล้องกันบน Tableau Server จะต้องตั้งค่าเป็น “ชื่อผู้ใช้” ด้วยเช่นกัน

การถ่ายโอน SSL

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

Tableau Server จะตรวจสอบข้อความตอบกลับ SAML ที่ส่งคืนจาก IdP เนื่องจากมีการถ่ายโอน SSL ที่พร็อกซี Tableau Server จะตรวจสอบยืนยันด้วยโปรโตคอลที่ได้รับ (http) แต่เนื่องจากการตอบกลับของ IdP อยู่ในรูปแบบ https ดังนั้นการตรวจสอบยืนยันจะล้มเหลวจนกว่าเซิร์ฟเวอร์พร็อกซีของคุณจะรวมการตั้งค่าส่วนหัว X-Forwarded-Proto เป็น https ดูกำหนดค่า Tableau Server เพื่อใช้งานกับเซิร์ฟเวอร์พร็อกซีย้อนกลับและ/หรือตัวจัดสรรภาระงาน

การใช้ใบรับรอง SSL และไฟล์สำคัญสำหรับ SAML

หากคุณกำลังใช้ไฟล์ใบรับรอง x509 ที่เข้ารหัส PEM สำหรับ SSL คุณก็สามารถใช้ไฟล์เดียวกันสำหรับ SAML ได้ สำหรับ SSL ไฟล์ใบรับรองจะใช้เพื่อเข้ารหัสการรับส่งข้อมูล สำหรับ SAML ใบรับรองจะใช้สำหรับการตรวจสอบสิทธิ์

นอกเหนือจากข้อกำหนดที่ระบุไว้ในข้อกำหนดของใบรับรองและผู้ให้บริการข้อมูลระบุตัวตน (IdP)ข้างต้นแล้ว หากต้องการใช้ใบรับรองเดียวกันสำหรับทั้ง SSL และ SAML ใบรับรองจะต้องเป็นไปตามเงื่อนไขต่อไปนี้เพื่อให้ใช้งานได้กับ SAML:

  • ยืนยันว่าใบรับรองประกอบด้วยใบรับรองที่ใช้กับ Tableau Server เท่านั้น และไม่รวมใบรับรองหรือคีย์อื่นๆ

    เมื่อทำเช่นนี้ คุณก็สามารถสร้างสำเนาสำรองของไฟล์ใบรับรอง แล้วเปิดสำเนานั้นในโปรแกรมแก้ไขข้อความเพื่อตรวจสอบเนื้อหาได้

ข้อกำหนดในการจัดการผู้ใช้

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

เมื่อคุณกำหนดค่าที่เก็บข้อมูลประจำตัวระหว่างการตั้งค่า คุณจะต้องเลือกตัวเลือกที่สะท้อนถึงวิธีที่คุณต้องการใช้ SAML โปรดทราบว่า หากต้องการใช้ SAML เฉพาะไซต์ คุณต้องกำหนดค่า SAML แบบทั่วทั้งเซิร์ฟเวอร์ก่อนแล้วจึงจะกำหนดค่าแต่ละไซต์

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

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

  • การตรวจสอบสิทธิ์ SAML แบบทั่วทั้งเซิร์ฟเวอร์และการตรวจสอบสิทธิ์ SAML แบบเจาะจงไซต์

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

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

    • ละเว้นโดเมนเมื่อจับคู่แอตทริบิวต์ชื่อผู้ใช้ SAML ตั้งแต่ Tableau Server เวอร์ชัน 2021.4.21, 2022.1.17, 2022.3.9 และ 2023.1.5 เป็นต้นไป คุณสามารถกำหนดค่า Tableau Server ให้ละเว้นส่วนโดเมนของแอตทริบิวต์ชื่อผู้ใช้เมื่อจับคู่ชื่อผู้ใช้ของผู้ให้บริการข้อมูลประจำตัว (IdP) กับบัญชีผู้ใช้บน Tableau Server ตัวอย่างเช่น แอตทริบิวต์ชื่อผู้ใช้ใน IdP อาจเป็น alice@example.com เพื่อจับคู่กับผู้ใช้ที่ชื่อ alice ใน Tableau Server การละเว้นส่วนโดเมนของแอตทริบิวต์ชื่อผู้ใช้อาจเป็นประโยชน์หากคุณกำหนดผู้ใช้ไว้ใน Tableau Server ที่ตรงกับส่วนนำหน้าของแอตทริบิวต์ชื่อผู้ใช้ แต่ไม่ใช่ส่วนโดเมนของแอตทริบิวต์ชื่อผู้ใช้

      สำคัญ:เราไม่แนะนำให้ละเว้นชื่อโดเมนโดยปราศจากมาตรการป้องกันต่างๆ โดยเฉพาะการตรวจสอบชื่อผู้ใช้ว่าไม่ซ้ำกันทั่วทั้งโดเมนที่กำหนดซึ่งคุณสร้างใน IdP ของคุณ การกำหนดค่า Tableau Server ให้ละเว้นชื่อโดเมนอาจส่งผลให้ผู้ใช้เข้าสู่ระบบโดยไม่ได้ตั้งใจ พิจารณากรณีที่ IdP ของคุณได้รับการกำหนดค่าสำหรับหลายโดเมน (เช่น example.com และ tableau.com) หากผู้ใช้สองคนที่มีชื่อเหมือนกัน แต่มีบัญชีผู้ใช้ต่างกัน (เช่น alice@tableau.com และ alice@example.com) อยู่ในองค์กรของคุณ ดังนั้นคุณอาจมีการแมปที่ไม่ตรงกัน

      หากต้องการกำหนดค่า Tableau Server ให้ละเว้นชื่อโดเมนในแอตทริบิวต์ชื่อผู้ใช้จาก IdP ให้ตั้งค่า wgserver.ignore_domain_in_username_for_matching เป็น true หากต้องการข้อมูลเพิ่มเติม โปรดดูwgserver.ignore_domain_in_username_for_matching

      หมายเหตุ:

      • คำสั่งนี้ใช้งานได้เฉพาะในการปรับใช้ Tableau Server ที่อยู่ใน legacy-identity-mode หรือการปรับใช้ที่ไม่ได้อัปเดตผ่านการย้ายข้อมูลประจำตัว(ลิงก์จะเปิดในหน้าต่างใหม่)เพื่อใช้บริการข้อมูลประจำตัว
      • เมื่อคุณเปลี่ยนคำสั่ง tsm เพื่อละเว้นชื่อโดเมนในแอตทริบิวต์ชื่อผู้ใช้ ชื่อผู้ใช้ทั้งหมดใน Tableau Server จะต้องมีชื่อโดเมน

หมายเหตุ: REST API และ tabcmd ไม่รองรับการลงชื่อเพียงครั้งเดียว (SSO) แบบ SAML หากต้องการเข้าสู่ระบบ คุณต้องระบุชื่อและรหัสผ่านของผู้ใช้ที่สร้างขึ้นบนเซิร์ฟเวอร์ ผู้ใช้อาจได้รับการจัดการโดยที่เก็บข้อมูลประจำตัวในเครื่องหรือที่เก็บข้อมูลประจำตัวภายนอก ขึ้นอยู่กับว่าคุณกำหนดค่า Tableau Server ไว้อย่างไร REST API หรือการเรียกใช้ tabcmd จะมีสิทธิ์ของผู้ใช้ที่คุณเข้าสู่ระบบ

บันทึกและข้อกำหนดเกี่ยวกับความเข้ากันได้ของ SAML

  • ชื่อผู้ใช้ที่ตรงกัน: ชื่อผู้ใช้ที่เก็บไว้ใน Tableau Server ต้องตรงกับแอตทริบิวต์ชื่อผู้ใช้ที่กำหนดค่า ซึ่ง IdP ส่งมาในการยืนยัน SAML ตามค่าเริ่มต้น Tableau Server คาดว่าการยืนยันขาเข้าจะมีแอตทริบิวต์ที่เรียกว่า “ชื่อผู้ใช้” ที่มีข้อมูลของผู้ใช้นั้น ตัวอย่างเช่น หากมีการเก็บชื่อผู้ใช้สำหรับ Jane Smith ไว้ใน PingFederate ว่าเป็น jsmith ก็จะต้องเก็บไว้ใน Tableau Server ว่าเป็น jsmith ด้วย

    เมื่อกำหนดค่า SAML ระหว่างการตรวจสอบสิทธิ์

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

    เมื่อใช้งานหลายโดเมน

    หากคุณใช้ Active Directory หรือที่เก็บข้อมูลประจำตัวภายนอก LDAP และคุณกำลังเรียกใช้หลายโดเมน (หมายถึงผู้ใช้อยู่ในหลายโดเมน หรือการติดตั้ง Tableau Server ของคุณมีหลายโดเมน) IdP จะต้องส่งทั้งชื่อผู้ใช้และแอตทริบิวต์ของโดเมนสำหรับผู้ใช้ในการยืนยัน SAML ทั้งชื่อผู้ใช้และแอตทริบิวต์ของโดเมนเหล่านี้ต้องตรงกับชื่อผู้ใช้และโดเมนที่จัดเก็บไว้ใน Tableau Server ทำอย่างใดอย่างหนึ่งต่อไปนี้:

    • ตั้งค่า domain\username ในฟิลด์ชื่อผู้ใช้
    • ตั้งโดเมนในฟิลด์โดเมนและตั้งชื่อผู้ใช้ในฟิลด์ชื่อผู้ใช้

    เมื่อตั้งค่าแอตทริบิวต์โดเมน คุณจะใช้ชื่อโดเมนที่มีคุณสมบัติครบถ้วน (FQDN) หรือชื่อย่อก็ได้

    ในกรณีที่ไม่ได้ระบุโดเมน ระบบจะถือว่าเป็นโดเมนเริ่มต้น

    หากต้องการข้อมูลเพิ่มเติม โปรดดู รองรับหลายโดเมน และส่วน “จับคู่การยืนยัน” ในแถบใช้ TSM CLI ของกำหนดค่า SAML ทั่วทั้งเซิร์ฟเวอร์

  • อัลกอริทึมลายเซ็น: Tableau Server ใช้อัลกอริทึมลายเซ็น SHA256

  • การออกจากระบบเพียงครั้งเดียว (SLO): Tableau Server รองรับทั้ง SLO ที่เริ่มต้นโดยผู้ให้บริการ (SP) และ SLO ที่เริ่มต้นโดยผู้ให้บริการข้อมูลระบุตัวตน (IdP) สำหรับ SAML ทั้งแบบทั่วทั้งเซิร์ฟเวอร์และแบบเจาะจงไซต์

  • ประเภทการตรวจสอบสิทธิ์ภายนอก: Tableau Server รองรับการใช้การตรวจสอบสิทธิ์ภายนอกครั้งละหนึ่งประเภท

  • SSL ร่วมกัน: Tableau Server ไม่รองรับ SSL (SSL แบบสองทาง) และ SAML ร่วมกัน หากคุณต้องการใช้ SSL ร่วมกัน คุณสามารถกำหนดค่าได้บน IdP

  • การเข้ารหัสการยืนยัน: การยืนยันต้องเข้ารหัส UTF-8

  • การเข้ารหัสและการยืนยัน SAML:

    • SAML แบบทั่วทั้งเซิร์ฟเวอร์: เมื่อกำหนดค่า Tableau Server สำหรับ SAML แบบทั่วทั้งเซิร์ฟเวอร์ Tableau Server จะรองรับการยืนยันที่เข้ารหัสจาก IdP การยืนยันการเข้ารหัสจะเปิดใช้งานโดยใบรับรองที่คุณอัปโหลด ในฐานะส่วนหนึ่งของการกำหนดค่าเริ่มต้นสำหรับ SAML แบบทั่วทั้งเซิร์ฟเวอร์ คำขอและการตอบกลับ SAML สามารถส่งผ่าน HTTP หรือ HTTPS ได้

    • SAML เฉพาะไซต์: เมื่อกำหนดค่า Tableau Server สำหรับ SAML เฉพาะไซต์ Tableau Server จะไม่รองรับการยืนยันที่เข้ารหัสจาก IdP อย่างไรก็ตาม คำขอและการตอบกลับ SAML ทั้งหมดจะส่งผ่าน HTTPS เพื่อความปลอดภัยในการสื่อสารกับ IdP ไม่รองรับคำขอและการตอบกลับ HTTP

  • ข้อมูลประจำตัวผู้ใช้ใน Tableau Server สำหรับผู้ใช้ tabcmd: ตามที่อธิบายไว้ในส่วนข้อกำหนดในการจัดการผู้ใช้ด้านบน หากต้องการใช้ tabcmd คุณจะต้องเข้าสู่ระบบในฐานะผู้ใช้ที่กำหนดไว้บนเซิร์ฟเวอร์ คุณไม่สามารถใช้บัญชี SAML กับ tabcmd ได้

  • การใช้ SAML SSO กับ Tableau Desktop: ตามค่าเริ่มต้น Tableau Desktop จะอนุญาตการตรวจสอบสิทธิ์ SAML ที่เริ่มต้นโดย SP

    หาก IdP ของคุณไม่รองรับฟังก์ชันนี้ คุณสามารถปิดใช้งานการเข้าสู่ระบบ SAML สำหรับ Tableau Desktop ด้วยการใช้คำสั่งต่อไปนี้:

    tsm authentication saml configure --desktop-access disable

    หากต้องการข้อมูลเพิ่มเติม โปรดดู tsm authentication saml <คำสั่ง>

  • การติดตั้งในหลายโหนด: เวอร์ชัน TSM ของ Tableau Server (2018.2 และใหม่กว่า) ใช้บริการไฟล์ไคลเอ็นต์เพื่อแชร์ไฟล์ในคลัสเตอร์หลายโหนด หลังจากที่คุณกำหนดค่า SAML บนโหนดเริ่มต้นในคลัสเตอร์แล้ว บริการไฟล์ไคลเอ็นต์จะแจกจ่ายใบรับรองและไฟล์สำคัญไปยังโหนดอื่นๆ

  • URL เข้าสู่ระบบ: เพื่อให้ผู้ใช้เข้าสู่ระบบได้ IdP ของคุณต้องกำหนดค่าด้วยปลายทางการเข้าสู่ระบบ SAML ที่ส่งคำขอ POST ไปยัง URL ต่อไปนี้:

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

  • URL ออกจากระบบ: หากต้องการให้ผู้ใช้ออกจากระบบหลังจากลงชื่อเข้าใช้ด้วย SAML (การออกจากระบบเพียงครั้งเดียว หรือ SLO) IdP ของคุณต้องกำหนดค่าด้วยปลายทางการออกจากระบบด้วย SAML ที่ส่งคำขอ POST ไปยัง URL ต่อไปนี้:

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

    หมายเหตุ: Tableau Server รองรับทั้ง SLO ที่เริ่มต้นโดยผู้ให้บริการ (SP) และ SLO ที่เริ่มต้นโดยผู้ให้บริการข้อมูลระบุตัวตน (IdP) สำหรับ SAML ทั้งแบบทั่วทั้งเซิร์ฟเวอร์และแบบเจาะจงไซต์

  • URL เปลี่ยนเส้นทางหลังออกจากระบบ: ตามค่าเริ่มต้น เมื่อผู้ใช้ออกจากระบบ Tableau Server หน้าเข้าสู่ระบบจะแสดงขึ้น 

    หากต้องการให้แสดงหน้าอื่นหลังจากออกจากระบบ ให้ใช้คำสั่ง tsm authentication saml configure กับตัวเลือก -su หรือ --signout-url

    • หากต้องการระบุ URL แบบสัมบูรณ์ ให้ใช้ URL ที่มีคุณสมบัติครบถ้วนที่ขึ้นต้นด้วย http:// หรือ https:// ดังในตัวอย่างนี้

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

    • หากต้องการระบุ URL ที่สัมพันธ์กับโฮสต์ Tableau Server ให้ใช้หน้าที่ขึ้นต้นด้วย / (เครื่องหมายทับ):

      tsm authentication saml configure -su /ourlogoutpage.html

  • Active Directory Federation Service (AD FS): คุณต้องกำหนดค่า AD FS ให้ส่งคืนแอตทริบิวต์เพิ่มเติมสำหรับการตรวจสอบสิทธิ์ Tableau ด้วย SAML แอตทริบิวต์ ID ชื่อ และชื่อผู้ใช้สามารถแมปกับแอตทริบิวต์ AD เดียวกันได้: ชื่อบัญชี SAM

  • AuthNContextClassRef : AuthNContextClassRef เป็น แอตทริบิวต์ SAML แบบไม่บังคับที่จะบังคับใช้การตรวจสอบการยืนยันตัวตน "บริบท" บางรายการในโฟล์วที่สร้างโดย IdP คุณสามารถตั้งค่าที่คั่นด้วยจุลภาคสำหรับแอตทริบิวต์นี้ได้ด้วย TSM เมื่อมีการตั้งค่าแอตทริบิวต์นี้ Tableau Server จะตรวจสอบว่าการตอบกลับ SAML มีค่าที่แสดงอย่างน้อย 1 ค่า หากการตอบกลับ SAML ไม่มีค่าที่กำหนดค่าไว้อย่างน้อย 1 ค่า ระบบจะปฏิเสธการตรวจสอบสิทธิ์แม้ว่าผู้ใช้ได้ตรวจสอบสิทธิ์ด้วย IdP เรียบร้อยแล้ว

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

    ค่านี้จะถูกประเมินเพื่อใช้กับ SAML แบบทั่วทั้งเซิร์ฟเวอร์เท่านั้น หากมีการกำหนดค่า SAML สำหรับไซต์ แอตทริบิวต์ AuthNContextClassRef จะถูกละเว้น

    หากต้องการตั้งค่านี้ด้วยเว็บอินเทอร์เฟซ TSM โปรดดู กำหนดค่า SAML ทั่วทั้งเซิร์ฟเวอร์

    หากต้องการตั้งค่านี้ด้วย เซตใน tsm configuration ให้ใช้คีย์ wgserver.saml.authcontexts เพื่อตั้งค่ารายการค่าที่คั่นด้วยเครื่องหมายจุลภาค

    หากต้องการตั้งค่านี้ด้วยไฟล์การกำหนดค่า JSON โปรดดู เอนทิตี samlSettings

การใช้ SAML SSO กับแอปพลิเคชันไคลเอ็นต์ Tableau

ผู้ใช้ Tableau Server ที่มีข้อมูลเข้าสู่ระบบ SAML สามารถเข้าสู่ระบบเซิร์ฟเวอร์จาก Tableau Desktop หรือแอป Tableau Mobile ได้ เพื่อให้เข้ากันได้อย่างสมบูรณ์ เราขอแนะนำว่าเวอร์ชันแอปพลิเคชันไคลเอ็นต์ของ Tableau ควรตรงกับเวอร์ชันของเซิร์ฟเวอร์ หากต้องการเชื่อมต่อโดยใช้ SAML ที่เฉพาะเจาะจงสำหรับไซต์ ผู้ใช้ต้องเรียกใช้แอปพลิเคชันไคลเอ็นต์ Tableau เวอร์ชัน 10.0 หรือใหม่กว่า

การเชื่อมต่อกับ Tableau Server จาก Tableau Desktop หรือ Tableau Mobile จะใช้การเชื่อมต่อที่เริ่มต้นโดยผู้ให้บริการ (SP)

เปลี่ยนเส้นทางผู้ใช้ที่ตรวจสอบสิทธิ์แล้วกลับมาที่ไคลเอ็นต์ Tableau

เมื่อผู้ใช้เข้าสู่ระบบ Tableau Server Tableau Server จะส่งคำขอ SAML (AuthnRequest) ไปยัง IdP ซึ่งรวมค่า RelayState ของแอปพลิเคชัน Tableau หากผู้ใช้ได้เข้าสู่ระบบ Tableau Server จากไคลเอ็นต์ Tableau เช่น Tableau Desktop หรือ Tableau Mobile แล้ว การส่งกลับค่า RelayState ภายในการตอบสนอง SAML ของ IdP ไปยัง Tableau ถือเป็นสิ่งสำคัญ

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

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

ข้อกำหนดของข้อมูล XML

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

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

  • HTTP POST และ HTTP REDIRECT: Tableau Server รองรับคำขอ HTTP POST และ HTTP REDIRECT สำหรับการสื่อสาร SAML ในเอกสาร XML ของเมตาดาต้า SAML ที่ IdP ส่งออก แอตทริบิวต์ Binding สามารถตั้งค่าเป็น HTTP-POST หรือ HTTP-REDIRECT ได้

  • เมื่อตั้งค่าแอตทริบิวต์ Binding เป็น HTTP-POST แล้ว ข้อมูลเมตา SAML ที่ Tableau Server และ IdP ต่างส่งออกจะต้องมีองค์ประกอบดังต่อไปนี้

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

      <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"/>

      สำหรับ SAML ไซต์ ปลายทาง Location คือ /samlservice/public/sp/metadata?alias=<site alias>

    • องค์ประกอบปลายทางการออกจากระบบจะปรากฏขึ้นในข้อมูลเมตาของ Tableau Server และระบุ URL ที่ IdP จะใช้สำหรับปลายทางการออกจากระบบของ Tableau Server หากองค์ประกอบนี้ไม่อยู่ในข้อมูลเมตาของ IdP แล้ว Tableau Server จะไม่สามารถต่อรองกับปลายทางการออกจากระบบที่ใช้ IdP ได้ และฟีเจอร์การออกจากระบบของ SAML จะไม่สามารถใช้ได้ภายใน Tableau Server:

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

    • ตรวจสอบว่า XML ข้อมูลเมตาจาก IdP มีองค์ประกอบ SingleSignOnService ซึ่งมีการตั้งค่าการผูกโยงเป็น HTTP-POST ตามตัวอย่างต่อไปนี้:

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

    • องค์ประกอบนี้ควรปรากฏขึ้นในข้อมูลเมตาของ IdP และระบุ URL ที่ Tableau Server จะใช้สำหรับปลายทางการออกจากระบบของ IdP

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

  • แอตทริบิวต์ที่ชื่อ username: คุณต้องกำหนดค่า IdP ให้ส่งคืนการยืนยันที่มีแอตทริบิวต์ username ในองค์ประกอบ saml:AttributeStatement ประเภทแอตทริบิวต์การยืนยันต้องเป็น xs:string (ไม่ควรพิมพ์เป็น xs:any)

    ตัวอย่างต่อไปนี้จะแสดงให้เห็นว่าประเภทแอตทริบิวต์ควรเป็นอย่างไร

    <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>

    ตามค่าเริ่มต้น Tableau Server จะอ่านแอตทริบิวต์ username ใน AuthNResponse ที่ส่งคืนจาก Idp อย่างไรก็ตาม IdP บางส่วนอาจส่งคืนแอตทริบิวต์อื่นที่มีจุดประสงค์เพื่อระบุผู้ใช้

    หากต้องการเปลี่ยนแอตทริบิวต์ SAML ที่ผ่านค่า username ให้เรียกใช้คำสั่ง TSM ต่อไปนี้

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

    ดู tsm authentication

  • การเป็นสมาชิกกลุ่มแบบไดนามิกโดยใช้การยืนยัน SAML:

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

    เมื่อกำหนดค่า ในระหว่างการตรวจสอบสิทธิ์ของผู้ใช้ IdP จะส่งการยืนยัน SAML ที่มีการอ้างสิทธิ์การเป็นสมาชิกกลุ่มที่กำหนดเองสองรายการ ได้แก่ กลุ่ม (https://tableau.com/groups) และชื่อกลุ่ม (เช่น “Group1” และ “Group2”) ที่จะยืนยันข้อมูลผู้ใช้ Tableau ตรวจสอบการยืนยันแล้วเปิดใช้งานสิทธิ์เข้าถึงกลุ่มและเนื้อหาที่สิทธิ์ขึ้นอยู่กับกลุ่มเหล่านั้น

    หากต้องการข้อมูลเพิ่มเติม โปรดดูการเป็นสมาชิกกลุ่มแบบไดนามิกโดยใช้การยืนยัน

    ตัวอย่างการตอบกลับ SAML XML

    <saml2p:Response
      xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
        .....
        .....
      <saml2:Assertion
        .....
        .....
        xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
        <saml2:AttributeStatement
      		xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
      		<saml2:Attribute
        		Name="https://tableau.com/groups"
    			NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
      			<saml2:AttributeValue
    				xmlns:xs="http://www.w3.org/2001/XMLSchema"
    				xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    				xsi:type="xs:string">Group1
    			</saml2:AttributeValue>
    			<saml2:AttributeValue
    				xmlns:xs="http://www.w3.org/2001/XMLSchema"
    				xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    				xsi:type="xs:string">Group2
    			</saml2:AttributeValue>
        	<saml2:Attribute>
        </saml2:AttributeStatement>
      </saml2:Assertion>
    </saml2p:Response>
ขอบคุณสำหรับข้อเสนอแนะของคุณส่งข้อเสนอแนะของคุณเรียบร้อยแล้ว ขอขอบคุณ