ข้อกำหนดสำหรับการใช้ OpenID Connect

หัวข้อนี้อธิบายข้อกำหนดการใช้งาน OpenID Connect ร่วมกับ Tableau Server

หมายเหตุ: คำสั่งกำหนดค่าการตรวจสอบสิทธิ์ TSM ใช้เฉพาะกับการตรวจสอบสิทธิ์ OIDC ที่กำหนดค่าใน TSM ระหว่างการตั้งค่า Tableau Server หากต้องการเปลี่ยนแปลงการกำหนดค่าการตรวจสอบสิทธิ์ OIDC สำหรับพูลข้อมูลประจำตัว คุณสามารถใช้ปลายทางอัปเดตการกำหนดค่าการตรวจสอบสิทธิ์(ลิงก์จะเปิดในหน้าต่างใหม่)โดยใช้ Tableau REST OpenAPI

สรุปข้อกำหนด

  • บัญชี IdP

  • ที่เก็บข้อมูลประจำตัวในเครื่อง

  • การอ้างสิทธิ์ IdP - การแมปผู้ใช้

  • บริบทการตรวจสอบสิทธิ์

บัญชี IdP

คุณต้องเข้าถึงผู้ให้บริการข้อมูลประจำตัว (IdP) ที่รองรับโปรโตคอล OpenID Connect (OIDC) คุณต้องมีบัญชีของ IdP ผู้ให้บริการข้อมูลประจำตัวหลายๆ เจ้าล้วนรองรับ OpenID Connect โปรโตคอล OIDC เป็นมาตรฐานที่เปิดกว้างและยืดหยุ่น ดังนั้นการปรับใช้มาตรฐานจึงไม่เหมือนกันทั้งหมด เมื่อคุณกำหนดค่า Tableau Server สำหรับ OIDC ให้ใช้ร่วมกับ IdP ของคุณ

การปรับใช้ Google IdP ได้ผ่านการทดสอบกับ Tableau Server มาอย่างครอบคลุมทุกแง่มุมและเป็น IdP ต้นแบบสำหรับการกำหนดค่าที่บันทึกไว้ในหัวข้อนี้

ที่เก็บข้อมูลประจำตัวในเครื่อง

หากต้องการใช้ OpenID Connect ใน Tableau Server ข้อใดข้อหนึ่งต่อไปนี้จะต้องเป็นจริง

  • หากกำหนดค่า OIDC ใน TSM ระหว่างการตั้งค่า Tableau Server อยู่ Tableau Server ต้องได้รับการกำหนดค่าให้ใช้ที่เก็บข้อมูลประจำตัวภายใน เซิร์ฟเวอร์ต้องได้รับการกำหนดค่าเพื่อให้คุณสร้างผู้ใช้บน Tableau Server ได้อย่างชัดเจน แทนการนำเข้าผู้ใช้จากไดเรกทอรีภายนอก เช่น Active Directory OpenID ไม่รองรับการจัดการผู้ใช้ด้วยที่เก็บข้อมูลประจำตัวภายนอก
  • หากกำหนดค่า OIDC โดยใช้พูลข้อมูลประจำตัว(ลิงก์จะเปิดในหน้าต่างใหม่) OIDC สามารถกำหนดค่าได้ด้วย 1) ที่เก็บข้อมูลประจำตัวภายใน หรือ 2) AD หรือ LDAP เป็นที่เก็บข้อมูลประจำตัวที่กำหนดค่าใน TSM ระหว่างการตั้งค่า Tableau Server

การอ้างสิทธิ์ IdP - การแมปผู้ใช้

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

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

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

ค่าเริ่มต้น: การใช้อีเมลอ้างสิทธิ์ในการแมปผู้ใช้

ชื่อผู้ใช้ของผู้ใช้ใน Tableau Server ต้องตรงกับการอ้างสิทธิ์ email ในโทเค็น ID ของ IdP ตามค่าเริ่มต้น ดังนั้นคุณจึงต้องใช้ที่อยู่อีเมล (ซึ่งเรียกอีกอย่างว่า UPN) เป็นชื่อผู้ใช้ใน Tableau Server ในการกำหนดค่าเริ่มต้น หากคุณใช้ Google เป็น IdP ชื่อผู้ใช้ใน Tableau Server ต้องเป็นที่อยู่อีเมล ของผู้ใช้ (alice@gmail.com) การใช้ที่อยู่อีเมลที่สมบูรณ์จะช่วยรับประกันว่าชื่อผู้ใช้ใน Tableau Server จะไม่ซ้ำกัน ถึงแม้ผู้ใช้สองรายจะมีอีเมลเดียวกันแต่อยู่บนโฮสต์อีเมลที่แตกต่างกันก็ตาม

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

การละเว้นชื่อโดเมน

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

สำคัญ:เราไม่แนะนำให้ละเว้นชื่อโดเมนของผู้ใช้โดยปราศจากมาตรการป้องกันต่างๆ โดยเฉพาะการตรวจสอบชื่อผู้ใช้ว่าไม่ซ้ำกันทั่วทั้งโดเมนที่กำหนดซึ่งคุณสร้างใน IdP ของคุณ

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

หากต้องการกำหนดค่า Tableau Server ให้ละเว้นชื่อโดเมนในชื่อผู้ใช้จาก IdP ให้ตั้งค่า tsm authentication openid configure --ignore-domain เป็น true หากต้องการข้อมูลเพิ่มเติม โปรดดู tsm authentication openid <คำสั่ง>

เมื่อเปลี่ยนตัวเลือก tsm authentication openid configure --ignore-domain เป็นละเว้นโดเมนในชื่อผู้ใช้ ชื่อผู้ใช้ทุกรายใน Tableau Server จะต้องมีชื่อโดเมน

การใช้การอ้างสิทธิ์ที่กำหนดเองในการแมปผู้ใช้

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

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

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

การอ้างสิทธิ์ IdP ที่คุณใช้ต้องแมปกับชื่อผู้ใช้ Tableau Server ที่สอดคล้องกันได้อย่างพอดี ในตัวอย่างด้านล่างนี้ ชื่อผู้ใช้คือ kwilliams

หากต้องการเปลี่ยนการอ้างสิทธิ์ IdP ที่ใช้สำหรับแมปข้อมูลประจำตัวใน Tableau Server ให้ใช้คำสั่ง tsm authentication openid map-claims --user-name หากต้องการข้อมูลเพิ่มเติม โปรดดู tsm authentication openid <คำสั่ง>

การเปลี่ยนการอ้างสิทธิ์ sub

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

หากต้องการระบุการอ้างสิทธิ์ IdP ที่แตกต่างกันสำหรับการอ้างสิทธิ์ย่อยตามค่าเริ่มต้น ให้ใช้คำสั่ง tsm authentication openid map-claims --id หากต้องการข้อมูลเพิ่มเติม โปรดดู tsm authentication openid <คำสั่ง>

ซึ่ง arbitraryClaim คือชื่อของการอ้างสิทธิ์ IdP ที่คุณต้องการใช้แทนการอ้างสิทธิ์ sub

บริบทการตรวจสอบสิทธิ์

หาก IdP ของ OpenID Connect ของคุณต้องการบริบทการตรวจสอบสิทธิ์ที่เฉพาะเจาะจง คุณสามารถระบุรายการของค่า ACR ที่สำคัญตามสมัครใจได้ด้วยคีย์การกำหนดค่า vizportal.openid.essential_acr_values และ vizportal.openid.voluntary_acr_values หากต้องการข้อมูลเพิ่มเติม โปรดดูตัวเลือกการกำหนดค่า tsm ที่ตั้งค่าไว้

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