OpenID Connect

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

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

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

ภาพรวมของการตรวจสอบสิทธิ์

ส่วนนี้จะอธิบายกระบวนการตรวจสอบสิทธิ์ของ OpenID Connect (OIDC) ร่วมกับ Tableau Server

แผนภาพที่แสดงการโต้ตอบระหว่าง Tableau Server, ไคลเอนต์ และ OpenID Connect

1. ผู้ใช้พยายามเข้าสู่ระบบ Tableau Server จากคอมพิวเตอร์ไคลเอ็นต์

2. Tableau Server จะเปลี่ยนเส้นทางคำขอสำหรับการตรวจสอบสิทธิ์ไปยังเกตเวย์ IdP

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

4. ระบบจะเปลี่ยนเส้นทางไคลเอ็นต์ไปที่ Tableau Server และแสดงรหัสการให้สิทธิ์

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

6. IdP จะส่งคืนโทเค็นการเข้าถึงและโทเค็น ID ไปที่ Tableau Server

  • การตรวจสอบโทเค็นเว็บ JSON (JWT): ตามค่าเริ่มต้น Tableau จะทำการตรวจสอบ IdP JWT ระหว่างการสำรวจ Tableau จะเรียกคีย์สาธารณะที่ jwks_uri ระบุในเอกสารสำรวจการกำหนดค่า IdP Tableau จะตรวจสอบโทเค็น ID เพื่อดูวันหมดอายุแล้วจึงยืนยันลายเซ็นเว็บ JSON (JWS), ผู้ออกใบรับรอง (IdP) และ ID ของไคลเอ็นต์ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับกระบวนการ JWT ได้ในเอกสาร OpenID, 10 ลายเซ็นและการเข้ารหัส(ลิงก์จะเปิดในหน้าต่างใหม่) และมาตรฐานที่เสนอของ IETF, โทเค็นเว็บ JSON(ลิงก์จะเปิดในหน้าต่างใหม่) เราขอแนะนำให้เปิดใช้งานการตรวจสอบ JWT เอาไว้ นอกจากว่า IdP ของคุณจะไม่รองรับ

  • โทเค็น ID คือชุดของคู่คีย์แอตทริบิวต์สำหรับผู้ใช้ คู่คีย์จะเรียกว่าการอ้างสิทธิ์ นี่คือตัวอย่างของการอ้างสิทธิ์ IdP สำหรับผู้ใช้

    "sub"                     : "7gYhRR3HiRRCaRcgvY50ubrtjGQBMJW4rXbpPFpg2cptHP62m2sqowM7G1LwjN5"
    "email"                   : "alice@example.com",
    "email_verified"          : true,
    "name"                    : "Alice Adams",
    "given_name"              : "Alice",
    "family_name"             : "Adams",
    "phone_number"            : "+359 (99) 100200305",
    "profile"                 : "https://tableau.com/users/alice"		

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

8. Tableau Serverอนุญาตให้สิทธิ์ผู้ใช้

วิธีที่ Tableau ทำงานกับ OpenID Connect

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

  • Tableau Server รองรับเฉพาะโฟลว์รหัสการให้สิทธิ์ OpenID ตามที่อธิบายไว้ในข้อมูลจำเพาะสุดท้ายของ OpenID Connect(ลิงก์จะเปิดในหน้าต่างใหม่)

  • Tableau Server ใช้การสำรวจหรือ URL ของผู้ให้บริการเพื่อดึงเมตาดาต้าของ OpenID หรือคุณสามารถโฮสต์เอกสารการสำรวจแบบคงที่ใน Tableau Server ได้ หากต้องการข้อมูลเพิ่มเติม โปรดดูกำหนดค่า Tableau Server สำหรับ OpenID Connect

  • Tableau Server รองรับการตรวจสอบสิทธิ์ไคลเอ็นต์ client_secret_basic และ client_secret_post.

  • Tableau Server คาดหวังค่า kid ในส่วนหัว JOSE ของแอตทริบิวต์ id_token ค่านี้ตรงกับหนึ่งในคีย์ที่พบในเอกสารเซต JWK ซึ่งมีการระบุ URI โดยค่า jwks_uri ในเอกสารเรียนรู้เพิ่มเติม OpenID จะต้องแสดงค่า kid แม้ว่าจะมีเพียงคีย์เดียวในเอกสารเซต JWK

  • Tableau Server รวมการรองรับ OpenID สำหรับพารามิเตอร์ x5c ของ JWK หรือสำหรับการใช้การรับรอง X.509

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

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