กำหนดค่า 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

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

แอตทริบิวต์ผู้ใช้คือเมตาดาต้าของผู้ใช้ที่กําหนดโดยองค์กรของคุณ แอตทริบิวต์ผู้ใช้สามารถใช้เพื่อกําหนดการเข้าถึงในรูปแบบการให้สิทธิ์การควบคุมการเข้าถึงตามแอตทริบิวต์ทั่วไป (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 จากภูมิภาคตะวันตกจะเห็นข้อมูลเฉพาะในภูมิภาคของตน

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

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

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

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