กำหนดค่า Tableau Server สำหรับ OpenID Connect

หัวข้อนี้จะอธิบายวิธีกำหนดค่า Tableau Server ให้ใช้ OpenID Connect (OIDC) สำหรับการลงชื่อเพียงครั้งเดียว (SSO) ซึ่งเป็นขั้นตอนหนึ่งในกระบวนการที่มีหลายขั้นตอน หัวข้อต่อไปนี้จะให้ข้อมูลเกี่ยวกับการกำหนดค่าและการใช้ OIDC ร่วมกับ Tableau Server

  1. ภาพรวม OpenID Connect

  2. กำหนดค่าผู้ให้บริการข้อมูลประจำตัวสำหรับ OpenID Connect

  3. กำหนดค่า Tableau Server สำหรับ OpenID Connect (คุณอยู่ที่นี่)

  4. การเข้าสู่ระบบ Tableau Server โดยใช้ OpenID Connect

หมายเหตุ:

  1. เปิด TSM ในเบราว์เซอร์:

    https://<tsm-computer-name>:8850. หากต้องการข้อมูลเพิ่มเติม โปรดดูเข้าสู่ระบบ Tableau Services Manager Web UI

  2. ในแท็บการกำหนดค่า ให้เลือกข้อมูลเข้าสู่ระบบของผู้ใช้และการเข้าถึง > วิธีการตรวจสอบสิทธิ

  3. ใต้วิธีการตรวจสอบสิทธิ์ ให้เลือก OpenID Connect ในเมนูดรอปดาวน์

  4. ใต้ OpenID Connect ให้เลือกเปิดใช้การตรวจสอบสิทธิ์ OpenID สำหรับเซิร์ฟเวอร์

  5. ป้อนข้อมูลการกำหนดค่า OpenID สำหรับองค์กรของคุณ

    รูปภาพของการกําหนดค่า OpenID Connect ใน TSM

    หมายเหตุ:

    • สำหรับขั้นตอนที่ 3: หากผู้ให้บริการของคุณใช้ไฟล์การกำหนดค่าที่โฮสต์อยู่บนเครื่องคอมพิวเตอร์ (แทนที่จะเป็นไฟล์ที่โฮสต์บน URL สาธารณะ) คุณสามารถระบุไฟล์โดยใช้คำสั่ง tsm authentication openid <คำสั่ง> ใช้ตัวเลือก --metadata-file <file_path> เพื่อระบุไฟล์การกำหนดค่า IdP ภายใน

    • สําหรับขั้นตอนที่ 4: ตั้งแต่ Tableau Server 2025.3 เป็นต้นไป คุณสามารถเปิดใช้งานการออกจากระบบเพียงครั้งเดียว (SLO) และระบุ URL เพื่อเปลี่ยนเส้นทางผู้ใช้ของคุณหลังจากออกจากระบบได้

    • สําหรับขั้นตอนที่ 5: ตั้งแต่ Tableau Server 2026.2 เป็นต้นไป คุณสามารถเปิดใช้งานแอตทริบิวต์ผู้ใช้และฟังก์ชันของผู้ใช้โดยเป็นส่วนหนึ่งของเวิร์กโฟลว์การตรวจสอบสิทธิ์ OIDC หากต้องการข้อมูลเพิ่มเติม โปรดดู แอตทริบิวต์ผู้ใช้ในการอ้างสิทธิ์ OIDC

  6. คลิกบันทึกการเปลี่ยนแปลงที่รอดำเนินการ หลังจากที่คุณได้ป้อนข้อมูลการกำหนดค่าแล้ว

  7. คลิกการเปลี่ยนแปลงที่รอดำเนินการที่ด้านบนของหน้า:

    แถบเครื่องมือ Tableau Server Manager แสดงให้เห็นว่ามีการเปลี่ยนแปลงที่รอดำเนินการอยู่

  8. คลิกปรับใช้การเปลี่ยนแปลงและรีสตาร์ท

ขั้นตอนในส่วนนี้จะอธิบายวิธีใช้อินเทอร์เฟซบรรทัดคำสั่ง TSM เพื่อกำหนดค่า OpenID Connect คุณยังสามารถใช้ไฟล์การกำหนดค่าเพื่อการกำหนดค่าเริ่มต้นของ OpenID Connect ดูเอนทิตี openIDSettings

  1. ใช้คำสั่ง configure ของ tsm authentication openid <คำสั่ง> เพื่อตั้งค่าตัวเลือกที่กำหนดดังต่อไปนี้:

    • --client-id <id>: ระบุ ID ไคลเอ็นต์ของผู้ให้บริการที่ IdP ของคุณกำหนดให้กับแอปพลิเคชันของคุณ ตัวอย่างเช่น “xxxkjwdlnaoiloadjkwha"

    • --client-secret <secret>: ระบุข้อมูลลับของไคลเอ็นต์ของผู้ให้บริการ นี่คือโทเค็นที่ Tableau ใช้เพื่อตรวจสอบความถูกต้องของการตอบกลับจาก IdP ค่านี้เป็นข้อมูลลับและควรเก็บไว้อย่างปลอดภัย ตัวอย่างเช่น “xxxhfkjaw72123="

    • --config-url <url> หรือ --metadata-file <file_path>: ระบุตำแหน่งของไฟล์ json การกำหนดค่าของผู้ให้บริการ หากผู้ให้บริการโฮสต์ไฟล์การสำรวจ JSON สาธารณะ ให้ใช้ --config-url หรือให้ระบุเส้นทางบนคอมพิวเตอร์ในระบบและชื่อไฟล์ของ --metadata-file แทน

    • --return-url <url>: URL ของเซิร์ฟเวอร์ของคุณ โดยทั่วไปจะเป็นชื่อสาธารณะของเซิร์ฟเวอร์ของคุณ เช่น "http://example.tableau.com"

    ยกตัวอย่างเช่น เรียกใช้คำสั่ง:

    tsm authentication openid configure --client-id “xxxkjwdlnaoiloadjkwha" --client-secret “xxxhfkjaw72123=" --config-url "https://example.com/openid-configuration" --return-url "http://tableau.example.com"

    หมายเหตุ: 

  2. พิมพ์คำสั่งต่อไปนี้เพื่อเปิดใช้งาน Opem ID Connect:

    tsm authentication openid enable

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

    หากการเปลี่ยนแปลงที่รอดำเนินการจำเป็นต้องรีสตาร์ทเซิร์ฟเวอร์ คำสั่ง pending-changes apply จะแสดงข้อความแจ้งเพื่อแจ้งให้คุณทราบว่าจะรีสตาร์ท โดยข้อความแจ้งนี้จะปรากฏขึ้นแม้ว่าเซิร์ฟเวอร์จะหยุดทำงาน แต่ในกรณีนี้จะไม่มีการรีสตาร์ท คุณสามารถระงับข้อความแจ้งได้โดยใช้ตัวเลือก --ignore-prompt แต่การดำเนินการนี้จะไม่เปลี่ยนลักษณะการรีสตาร์ท หากการเปลี่ยนแปลงไม่จำเป็นต้องใช้การรีสตาร์ท ระบบจะปรับใช้การเปลี่ยนแปลงนั้นโดยไม่มีข้อความแจ้ง หากต้องการข้อมูลเพิ่มเติม โปรดดู tsm pending-changes apply

กำหนดค่า OpenID ให้ทำงานกับพร็อกซีส่งต่อ

ตามค่าเริ่มต้น Tableau Server จะละเว้นการตั้งค่าพร็อกซี และส่งคำขอ OpenID ทั้งหมดไปยัง IdP โดยตรง

เริ่มต้นตั้งแต่ Tableau Server เวอร์ชัน 2021.2.2 เป็นต้นไป หากมีการกำหนดค่า Tableau ให้ใช้พร็อกซีส่งต่อเพื่อเชื่อมต่ออินเทอร์เน็ต คุณอาจกำหนดค่า Tableau Server ให้ใช้โฮสต์พร็อกซีและการตั้งค่าพอร์ตเพื่อติดต่อ OpenID IdP

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

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

การกำหนดค่าพร็อกซีระบบบน Windows

หากองค์กรของคุณกำหนดค่าพร็อกซีส่งต่อบนคอมพิวเตอร์ Windows แต่ละเครื่อง ให้ใช้วิธีนี้เพื่อใช้การกำหนดค่าพร็อกซีระบบสำหรับ OpenID บน Tableau Server เรียกใช้คำสั่งต่อไปนี้:

tsm configuration set -k tomcat.useSystemProxies -v true
tsm pending-changes apply

เซิร์ฟเวอร์พร็อกซีส่งต่อ

ใช้คำสั่ง เซตใน tsm configuration เพื่อทำการเปลี่ยนแปลง

  • สำหรับโฮสต์ของพร็อกซี HTTPS ให้ใช้คู่คีย์-ค่าต่อไปนี้:

    -k tomcat.https.proxyHost -v host.domain

    -k tomcat.https.proxyPort -v port_number

    ยกตัวอย่างเช่น หากเซิร์ฟเวอร์ของคุณอยู่ที่ https://proxy.example.lan:8443 ให้ใช้คำสั่งต่อไปนี้

    tsm configuration set -k tomcat.https.proxyHost -v proxy.example.lan
    tsm configuration set -k tomcat.https.proxyPort -v 8443
    tsm pending-changes apply
  • สำหรับโฮสต์ของพร็อกซี HTTP ให้ใช้คู่คีย์-ค่าต่อไปนี้:

    -k tomcat.http.proxyHost -v host.domain

    -k tomcat.http.proxyPort -v port_number

    หลังจากที่คุณกำหนดค่าคีย์เหล่านี้แล้ว ให้ใช้คำสั่ง tsm pending-changes apply

ปรับแต่งและควบคุมการเข้าถึงข้อมูลโดยใช้แอตทริบิวต์ผู้ใช้

แอตทริบิวต์ผู้ใช้คือเมตาดาต้าของผู้ใช้ที่กําหนดโดยองค์กรของคุณ แอตทริบิวต์ผู้ใช้สามารถใช้เพื่อกําหนดการเข้าถึงในรูปแบบการให้สิทธิ์การควบคุมการเข้าถึงตามแอตทริบิวต์ทั่วไป (ABAC) แอตทริบิวต์ผู้ใช้จะเป็นแง่มุมใดก็ได้ในโปรไฟล์ผู้ใช้ รวมถึงบทบาทงาน การเป็นสมาชิกแผนก ระดับการจัดการ ฯลฯ นอกจากนี้ยังอาจเชื่อมโยงกับบริบทของผู้ใช้รันไทม์ เช่น ตําแหน่งที่ผู้ใช้เข้าสู่ระบบหรือการตั้งค่าภาษาของผู้ใช้

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

  • การเข้าถึงข้อมูล: แอตทริบิวต์ผู้ใช้สามารถใช้เพื่อบังคับใช้นโยบายการรักษาความปลอดภัยของข้อมูลได้ วิธีการนี้ช่วยให้มั่นใจได้ว่าผู้ใช้สามารถดูได้เฉพาะข้อมูลที่ตนได้รับอนุญาตให้ดูเท่านั้น
  • การปรับให้เหมาะกับเฉพาะบุคคล: เมื่อส่งแอตทริบิวต์ผู้ใช้ เช่น ตําแหน่งและบทบาท เนื้อหาของคุณจะสามารถปรับแต่งให้แสดงเฉพาะข้อมูลที่เกี่ยวข้องกับผู้ใช้ที่เข้าถึงเนื้อหาดังกล่าว ซึ่งช่วยให้ผู้ใช้ค้นหาข้อมูลที่ต้องการได้ง่ายขึ้น

สรุปขั้นตอนในการส่งแอตทริบิวต์ผู้ใช้

กระบวนการเปิดใช้งานแอตทริบิวต์ผู้ใช้ในเวิร์กโฟลว์สามารถสรุปได้เป็นขั้นตอนต่อไปนี้:

  1. เปิดใช้งานการตั้งค่าแอตทริบิวต์ผู้ใช้
  2. ระบุแอตทริบิวต์ผู้ใช้ในการยืนยัน
  3. ตรวจสอบว่าผู้เขียนเนื้อหาระบุฟังก์ชันแอตทริบิวต์ผู้ใช้และตัวกรองที่เกี่ยวข้อง
  4. ตรวจสอบเนื้อหา

ขั้นตอนที่ 1: เปิดใช้งานการตั้งค่าแอตทริบิวต์ผู้ใช้

เพื่อวัตถุประสงค์ด้านความปลอดภัย แอตทริบิวต์ผู้ใช้จะได้รับการตรวจสอบในเวิร์กโฟลว์การตรวจสอบสิทธิ์เฉพาะเมื่อผู้ดูแลไซต์เปิดใช้งานการตั้งค่าแอตทริบิวต์ผู้ใช้เท่านั้น

  1. เปิด TSM ในเบราว์เซอร์:

    https://<tsm-computer-name>:8850. หากต้องการข้อมูลเพิ่มเติม โปรดดูเข้าสู่ระบบ Tableau Services Manager Web UI

  2. ในแท็บการกำหนดค่า ให้เลือกข้อมูลเข้าสู่ระบบของผู้ใช้และการเข้าถึง > วิธีการตรวจสอบสิทธิ

  3. ใต้วิธีการตรวจสอบสิทธิ ให้เลือก SAML ในเมนูดรอปดาวน์

  4. ในส่วนขั้นตอนที่ 8 ให้เลือกช่องทําเครื่องหมายเปิดใช้งานการรวบรวมแอตทริบิวต์ผู้ใช้ระหว่างการตรวจสอบสิทธิ์ SAML

  5. เมื่อเสร็จสิ้นให้ดำเนินการดังต่อไปนี้

    1. คลิกบันทึกการเปลี่ยนแปลงที่รอดำเนินการ

    2. คลิกปุ่มการเปลี่ยนแปลงที่รอดำเนินการที่ด้านบนของหน้า:

    3. คลิกปรับใช้การเปลี่ยนแปลงและรีสตาร์ท

ขั้นตอนที่ 2: ระบุแอตทริบิวต์ผู้ใช้ในการยืนยัน

ตรวจสอบว่าการยืนยันมีแอตทริบิวต์ผู้ใช้

หมายเหตุ: แอตทริบิวต์ในการตอบกลับ SAML จะจํากัดตัวอักษร 4096 ตัว ยกเว้นแอตทริบิวต์ scope หรือ scp หากแอตทริบิวต์ในการตอบกลับ รวมถึงแอตทริบิวต์ผู้ใช้เกินขีดจํากัดดังกล่าว Tableau จะลบแอตทริบิวต์และส่งอตทริบิวต์ ExtraAttributesRemoved แทน จากนั้นผู้เขียนเนื้อหาสามารถสร้างการคํานวณโดยใช้แอตทริบิวต์ ExtraAttributesRemoved เพื่อกําหนดวิธีแสดงเนื้อหาให้แก่ผู้ใช้เมื่อตรวจพบแอตทริบิวต์

ตัวอย่าง

สมมติว่าคุณมีพนักงานชื่อ Fred Suzuki ซึ่งเป็นผู้จัดการในภาคใต้ คุณต้องการให้แน่ใจว่าเมื่อ Fred ตรวจสอบรายงาน เขาจะสามารถดูข้อมูลได้เฉพาะสําหรับภาคใต้เท่านั้น ในสถานการณ์เช่นนี้ คุณอาจระบุแอตทริบิวต์ผู้ใช้ Region ในการตอบกลับ SAML ดังในตัวอย่างด้านล่าง

<saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
	<saml;Issuer">https://myidp.okta.com/saml</saml:Issuer">
   <saml;Subject">
	  <saml:NameId Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"fsuzuki@example.com</saml:NameID">
   <saml:AttributeStatement xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
  		<saml:Attribute Name="Region" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
  			<saml:AttributeValue">South</saml:AttributeValue">
    	</saml:Attribute">
   </saml:AttributeStatement">
</saml:Assertion">

ขั้นตอนที่ 3: ตรวจสอบว่าผู้เขียนเนื้อหาระบุฟังก์ชันแอตทริบิวต์

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

  • USERATTRIBUTE('attribute_name')
  • USERATTRIBUTEINCLUDES('attribute_name', 'expected_value')

ฟังก์ชันที่ผู้เขียนเนื้อหาใช้นั้นจะขึ้นอยู่กับว่า คุณคาดว่าแอตทริบิวต์ผู้ใช้จะส่งคืนค่าเดียวหรือหลายค่า หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันเหล่านี้และตัวอย่างของแต่ละฟังก์ชัน โปรดดูฟังก์ชันของผู้ใช้(ลิงก์จะเปิดในหน้าต่างใหม่)ในความช่วยเหลือของ Tableau

หมายเหตุ:

  • จะไม่สามารถดูตัวอย่างเนื้อหาด้วยฟังก์ชันเหล่านี้ได้เมื่อเขียนใน Tableau Desktop หรือ Tableau Cloud ฟังก์ชันนี้จะแสดงผลค่า NULL หรือ FALSE เพื่อให้แน่ใจว่าฟังก์ชันของผู้ใช้ทํางานตามที่คาดไว้ เราขอแนะนําให้ผู้เขียนตรวจสอบฟังก์ชันหลังจากเผยแพร่เนื้อหาแล้ว
  • เพื่อให้แน่ใจว่าเนื้อหาแสดงผลตามที่คาดไว้ ผู้เขียนเนื้อหาอาจพิจารณาระบุการคํานวณที่ใช้ ExtraAttributesRemoved ซึ่ง 1) ตรวจสอบแอตทริบิวต์นี้ และ 2) กําหนดว่าจะทําอย่างไรกับเนื้อหาหากเป็นเช่นนั้น เช่น แสดงข้อความ Tableau จะเพิ่มเฉพาะแอตทริบิวต์ ExtraAttributesRemoved และลบแอตทริบิวต์อื่นๆ ทั้งหมด (ยกเว้น scp หรือ scope) เมื่อแอตทริบิวต์ใน SAML XML มีตัวอักษรยาวเกิน 4096 ตัว ทั้งนี้เพื่อให้มั่นใจถึงประสิทธิภาพสูงสุดและเป็นไปตามข้อจํากัดในการจัดเก็บ

ตัวอย่าง

ต่อจากตัวอย่างที่แนะนําใน ขั้นตอนที่ 2: ระบุแอตทริบิวต์ผู้ใช้ในการยืนยัน ข้างต้น ในการส่งการยืนยันแอตทริบิวต์ผู้ใช้ "ภูมิภาค" ไปยังเวิร์กบุ๊กนั้น ผู้เขียนสามารถระบุ USERATTRIBUTEINCLUDES ได้ ตัวอย่างเช่น USERATTRIBUTEINCLUDES('Region', [Region]) โดยที่ “Region” เป็นแอตทริบิวต์ผู้ใช้และ [Region] เป็นคอลัมน์ในข้อมูล ผู้เขียนสามารถสร้างตารางที่มีข้อมูลผู้จัดการและยอดขายได้โดยใช้การคํานวณใหม่ เมื่อเพิ่มการคํานวณแล้ว เวิร์กบุ๊กจะส่งแสดงค่า “False” ตามที่คาดไว้

หากต้องการแสดงเฉพาะข้อมูลที่เกี่ยวข้องกับภาคใต้ในเวิร์กบุ๊กที่ฝังไว้ ผู้เขียนสามารถสร้างตัวกรองและปรับแต่งเพื่อให้แสดงค่าเมื่อภาคใต้เป็น “True” เมื่อใช้ตัวกรอง เวิร์กบุ๊กจะว่างเปล่าตามที่คาดไว้ เนื่องจากฟังก์ชันนี้แสดงค่า “False” และตัวกรองได้รับการปรับแต่งให้แสดงค่า “True” เท่านั้น

ขั้นตอนที่ 4: ตรวจสอบเนื้อหา

ตรวจสอบและยืนยันความถูกต้องของเนื้อหา

ตัวอย่าง

เพื่อสรุปตัวอย่างจาก ขั้นตอนที่ 3: ตรวจสอบว่าผู้เขียนเนื้อหาระบุฟังก์ชันแอตทริบิวต์ ด้านบน คุณจะเห็นว่าข้อมูลยอดขายในมุมมองได้รับการปรับแต่งให้เหมาะกับ Fred Suzuki เนื่องจากบริบทของผู้ใช้ของเขาคือภาคใต้

ผู้จัดการจากภูมิภาคต่างๆ ที่แสดงอยู่ในเวิร์กบุ๊กควรเห็นค่าที่เกี่ยวข้องกับภูมิภาคของตน ตัวอย่างเช่น Sawdie Pawthorne จากภูมิภาคตะวันตกจะเห็นข้อมูลเฉพาะในภูมิภาคของตน

ผู้จัดการจากภูมิภาคต่างๆ ที่ไม่ได้แสดงอยู่ในเวิร์กบุ๊ก จะเห็นเวิร์กบุ๊กเปล่า

ปัญหาและข้อจำกัดที่ทราบ

มีปัญหาและข้อจํากัดบางประการที่คุณควรพิจารณาเมื่อทํางานกับฟังก์ชันแอตทริบิวต์ผู้ใช้

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