กําหนดค่า SSO ที่ใช้ Kerberos จากบริการของ Power BI ไปยังแหล่งข้อมูลภายในองค์กร

การเปิดใช้งาน SSO ทําให้รายงาน Power BI และแดชบอร์ดสามารถรีเฟรชข้อมูลจากแหล่งข้อมูลภายในองค์กรได้อย่างง่ายดาย ในขณะที่ยังเป็นไปตามสิทธิ์ระดับผู้ใช้ที่กําหนดค่าไว้ในแหล่งข้อมูลเหล่านั้น ใช้ การ มอบสิทธิ์แบบจํากัดของ Kerberos เพื่อเปิดใช้งานการเชื่อมต่อ SSO แบบไร้รอยต่อ

บทความนี้อธิบายถึงขั้นตอนที่คุณจําเป็นต้องดําเนินการเพื่อกําหนดค่า SSO ที่ใช้ Kerberos จากบริการของ Power BI ไปยังแหล่งข้อมูลภายในองค์กร

ข้อกำหนดเบื้องต้น

จะต้องกําหนดค่าหลายรายการ เพื่อให้การมอบหมายที่มีข้อจํากัดของ Kerberos ทํางานได้อย่างถูกต้อง ซึ่งรวมถึง *ชื่อบริการหลัก (SPN) และการตั้งค่าการมอบหมายบนบัญชีบริการ

หมายเหตุ

การใช้นามแฝง DNS กับ SSO ไม่ได้รับการสนับสนุน

เค้าร่างการกําหนดค่า

ขั้นตอนที่จําเป็นสําหรับการกําหนดค่าการลงชื่อเข้าระบบครั้งเดียวของเกตเวย์มีการระบุไว้ด้านล่าง

  1. ทําตามขั้นตอนทั้งหมดใน ส่วนที่ 1: การกําหนดค่าพื้นฐาน

  2. ขึ้นอยู่กับสภาพแวดล้อม Active Directory ของคุณและแหล่งข้อมูลที่ใช้ คุณอาจจําเป็นต้องกําหนดค่าบางอย่างหรือทั้งหมดที่อธิบายไว้ใน ส่วนที่ 2: การกําหนดค่าเฉพาะสภาพแวดล้อม

    สถานการณ์ที่เป็นไปได้ที่อาจจําเป็นต้องมีการกําหนดค่าเพิ่มเติมจะแสดงอยู่ด้านล่าง:

    สถานการณ์สมมติ ไปที่
    สภาพแวดล้อม Active Directory ของคุณทํางานหนักขึ้น เพิ่มบัญชีบริการเกตเวย์ไปยัง Windows Authorization และ Access Group
    บัญชีผู้ใช้บริการเกตเวย์และบัญชีผู้ใช้ที่เกตเวย์จะเลียนแบบอยู่ในโดเมนหรือฟอเรสต์ที่แยกกัน เพิ่มบัญชีบริการเกตเวย์ไปยัง Windows Authorization และ Access Group
    คุณไม่มีเชื่อมต่อ Microsoft Entra ที่มีการกําหนดค่าการซิงโครไนซ์บัญชีผู้ใช้ และ UPN ที่ใช้ใน Power BI สําหรับผู้ใช้ไม่ตรงกับ UPN ในสภาพแวดล้อม Active Directory ภายในเครื่องของคุณ ตั้งค่าพารามิเตอร์การกําหนดค่าการแมปผู้ใช้บนเครื่องเกตเวย์
    คุณวางแผนที่จะใช้แหล่งข้อมูล SAP HANA กับ SSO ทําตามขั้นตอนการกําหนดค่าเฉพาะแหล่งข้อมูล
    คุณวางแผนที่จะใช้แหล่งข้อมูล SAP BW กับ SSO ทําตามขั้นตอนการกําหนดค่าเฉพาะแหล่งข้อมูล
    คุณวางแผนที่จะใช้แหล่งข้อมูล Teradata กับ SSO ทําตามขั้นตอนการกําหนดค่าเฉพาะแหล่งข้อมูล
  3. ตรวจสอบการกําหนดค่าของคุณตามที่อธิบายไว้ใน ส่วนที่ 3: ตรวจสอบการกําหนดค่า เพื่อให้แน่ใจว่า SSO ได้รับการตั้งค่าอย่างถูกต้อง

ส่วนที่ 1: การกําหนดค่าพื้นฐาน

ขั้นตอนที่ 1: ติดตั้งและกําหนดค่าเกตเวย์ข้อมูลภายในองค์กร Microsoft

เกตเวย์ข้อมูลภายในองค์กรสนับสนุนการอัปเกรดแบบแทนที่ และการ แทนที่ การตั้งค่าของเกตเวย์ที่มีอยู่

ขั้นตอนที่ 2: รับสิทธิ์ผู้ดูแลระบบโดเมนเพื่อกําหนดค่า SPN (SetSPN) และการตั้งค่าการมอบหมายที่มีข้อจํากัดของ Kerberos

เมื่อต้องการกําหนดค่าการตั้งค่าการมอบสิทธิ์ SPN และ Kerberos ผู้ดูแลระบบโดเมนควรหลีกเลี่ยงการให้สิทธิ์กับบุคคลที่ไม่มีสิทธิ์ผู้ดูแลระบบโดเมน ในส่วนต่อไปนี้ เราจะอธิบายขั้นตอนการกําหนดค่าที่แนะนําในรายละเอียดเพิ่มเติม

ขั้นตอนที่ 3: กําหนดค่าบัญชีผู้ใช้บริการเกตเวย์

ตัวเลือก A ด้านล่างนี้คือการกําหนดค่าที่จําเป็น เว้นแต่ว่าคุณมีทั้ง Microsoft Entra เชื่อมต่อกําหนดค่าและบัญชีผู้ใช้จะถูกซิงโครไนซ์ ในกรณีดังกล่าว ขอแนะนําให้ใช้ตัวเลือก B

ตัวเลือก A: เรียกใช้บริการ Windows ของเกตเวย์ด้วยบัญชีโดเมนด้วย SPN

ในการติดตั้งแบบมาตรฐาน เกตเวย์จะทํางานด้วยบัญชีบริการภายในเครื่อง NT Service\PBIEgwService

Machine-local service account

เมื่อต้องการเปิดใช้งานการมอบสิทธิ์แบบจํากัดของ Kerberos เกตเวย์ต้องทํางานเป็นบัญชีโดเมน เว้นแต่ว่าอินสแตนซ์ Microsoft Entra ของคุณได้ซิงโครไนซ์กับอินสแตนซ์ Active Directory ภายในเครื่องของคุณแล้ว (โดยใช้ Microsoft Entra DirSync/เชื่อมต่อ) เมื่อต้องการสลับไปยังบัญชีโดเมน ให้ดู เปลี่ยนบัญชีบริการเกตเวย์

กําหนดค่า SPN สําหรับบัญชีบริการเกตเวย์

ขั้นแรก ตรวจสอบว่ามีการสร้าง SPN สําหรับบัญชีโดเมนที่จะใช้เป็นบัญชีของบริการเกตเวย์ไว้แล้วหรือไม่:

  1. ในฐานะผู้ดูแลระบบโดเมน ให้เรียกใช้สแน็ปอินผู้ใช้และคอมพิวเตอร์ Active Directory Microsoft Management Console (MMC)

  2. ในบานหน้าต่างด้านซ้าย ให้คลิกขวาที่ชื่อโดเมน เลือก ค้นหา จากนั้นป้อนชื่อบัญชีของบัญชีบริการเกตเวย์

  3. ในผลลัพธ์การค้นหา คลิกขวาบนบัญชีบริการเกตเวย์ แล้วเลือก คุณสมบัติ

  4. ถ้าเห็นแท็บการรับมอบสิทธิ์ ในกล่องโต้ตอบคุณสมบัติ แสดงว่า SPN ได้ถูกสร้างขึ้นแล้ว และคุณสามารถข้ามไปยังกําหนดค่าการมอบหมายที่มีข้อจํากัดของ Kerberos ได้

  5. ถ้าไม่มี แท็บการรับ มอบสิทธิ์บน กล่องโต้ตอบคุณสมบัติ คุณสามารถสร้าง SPN บนบัญชีผู้ใช้นั้นด้วยตนเองเพื่อเปิดการใช้งาน ใช้เครื่องมือ setspn ที่มาพร้อมกับ Windows (คุณจําเป็นต้องมีสิทธิ์ผู้ดูแลระบบโดเมนเพื่อสร้าง SPN)

    ตัวอย่างเช่น สมมติว่าบัญชีผู้ใช้บริการเกตเวย์คือ Contoso\GatewaySvc และบริการเกตเวย์กําลังทํางานบนเครื่องที่ชื่อว่า MyGatewayMachine หากต้องการตั้งค่า SPN สําหรับบัญชีบริการเกตเวย์ ให้เรียกใช้คําสั่งต่อไปนี้:

    setspn -S gateway/MyGatewayMachine Contoso\GatewaySvc

    คุณยังสามารถตั้งค่า SPN โดยใช้สแน็ปอิน ผู้ใช้และคอมพิวเตอร์ Active Directory MMC ได้

ตัวเลือก B: กําหนดค่าคอมพิวเตอร์สําหรับ Microsoft Entra เชื่อมต่อ

ถ้ามีการกําหนดค่าเชื่อมต่อ Microsoft Entra และบัญชีผู้ใช้ซิงโครไนซ์ บริการเกตเวย์ก็ไม่จําเป็นต้องดําเนินการค้นหาใน Microsoft Entra ในเครื่องที่รันไทม์ แต่คุณสามารถใช้ SID ของบริการภายในเครื่องสําหรับบริการเกตเวย์เพื่อทําการกําหนดค่าที่จําเป็นทั้งหมดใน Microsoft Entra ID ให้เสร็จสมบูรณ์ ขั้นตอนการกําหนดค่า การมอบสิทธิ์แบบจํากัดของ Kerberos ที่ระบุไว้ในบทความนี้เหมือนกับการกําหนดค่าที่จําเป็นในบริบท Microsoft Entra โดยจะถูกนําไปใช้กับออบเจ็กต์คอมพิวเตอร์ของเกตเวย์ (ตามที่ได้ระบุโดย SID ของบริการภายในเครื่อง) ใน Microsoft Entra ID แทนบัญชีโดเมน SID ของบริการภายในเครื่องสําหรับ NT SERVICE/PBIEgwService มีดังนี้:

S-1-5-80-1835761534-3291552707-3889884660-1303793167-3990676079

เมื่อต้องสร้าง SPN สําหรับ SID นี้กับคอมพิวเตอร์ Power BI Gateway คุณจะต้องเรียกใช้คําสั่งต่อไปนี้จากพร้อมท์คําสั่งการดูแลระบบ (แทนที่ <COMPUTERNAME> ด้วยชื่อของคอมพิวเตอร์ Power BI Gateway):

SetSPN -s HTTP/S-1-5-80-1835761534-3291552707-3889884660-1303793167-3990676079 <COMPUTERNAME>

หมายเหตุ

คุณอาจจําเป็นต้องเพิ่มบัญชีบริการเกตเวย์ NT SERVICE\PBIEgwService ไปยังกลุ่มผู้ดูแลระบบภายในบนเครื่องเกตเวย์ แล้วเริ่มบริการเกตเวย์ใน แอปเกตเวย์ใหม่ทั้งนี้ขึ้นอยู่กับการตั้งค่าความปลอดภัยภายในของคุณ

ขั้นตอนที่ 4: กําหนดค่าการมอบหมายที่มีข้อจํากัดของ Kerberos

คุณสามารถกําหนดค่าการตั้งค่าการมอบสิทธิ์สําหรับทั้งการมอบสิทธิ์แบบจํากัดของ Kerberos ตามมาตรฐานหรือการมอบสิทธิ์แบบจํากัดของ Kerberos ตามทรัพยากร สําหรับข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างสองวิธีในการรับมอบสิทธิ์ ให้ดู ภาพรวมการมอบหมายที่มีข้อจํากัดของ Kerberos

จําเป็นต้องมีบัญชีบริการต่อไปนี้:

  • บัญชีบริการเกตเวย์: ผู้ใช้บริการที่แสดงเกตเวย์ใน Active Directory ที่มีการกําหนดค่า SPN ในขั้นตอนที่ 3
  • บัญชีบริการแหล่งข้อมูล: ผู้ใช้บริการที่แสดงแหล่งข้อมูลใน Active Directory ที่มี SPN แมปไปยังแหล่งข้อมูล

หมายเหตุ

บัญชีบริการเกตเวย์และแหล่งข้อมูลต้องแยกต่างหาก บัญชีบริการเดียวกันไม่สามารถใช้เพื่อแสดงทั้งเกตเวย์และแหล่งข้อมูล

ให้ดําเนินการในส่วนใดส่วนหนึ่งต่อไปนี้ โดยขึ้นอยู่กับวิธีที่คุณต้องการใช้ ไม่ต้องทําให้เสร็จทั้งสองส่วน:

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

ตัวเลือก A: การมอบหมายที่มีข้อจํากัดของ Kerberos มาตรฐาน

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

เราจําเป็นต้องกําหนดค่าการมอบสิทธิ์แบบจํากัดของ Kerberos ด้วยการเปลี่ยนโพรโทคอล สําหรับการรับมอบสิทธิ์แบบจํากัด คุณต้องมีความชัดเจนว่าบริการใดที่คุณอนุญาตให้เกตเวย์นําเสนอข้อมูลประจําตัวที่ได้รับมอบสิทธิ์ ตัวอย่างเช่น เฉพาะ SQL Server หรือเซิร์ฟเวอร์ SAP HANA ของคุณเท่านั้นที่ยอมรับการเรียกรับสิทธิ์จากบัญชีบริการเกตเวย์

ส่วนนี้ถือว่า คุณได้กําหนดค่า SPN สําหรับแหล่งข้อมูลพื้นฐานของคุณ (เช่น SQL Server, SAP HANA, SAP BW Teradata หรือ Spark) หากต้องการเรียนรู้วิธีการกําหนดค่า SPN ของเซิร์ฟเวอร์แหล่งข้อมูลเหล่านั้น โปรดดูเอกสารทางเทคนิคสําหรับเซิร์ฟเวอร์ฐานข้อมูลที่เกี่ยวข้องและดูส่วน SPN ใดที่แอปของคุณจําเป็นต้องใช้ ใน บล็อกโพสต์รายการ ตรวจสอบ Kerberos ของฉัน

ในขั้นตอนต่อไปนี้ เราสมมติว่าสภาพแวดล้อมในองค์กรที่มีสองเครื่องในโดเมนเดียวกัน: เครื่องเกตเวย์และเซิร์ฟเวอร์ฐานข้อมูลที่เรียกใช้ SQL Server ที่ได้รับการกําหนดค่าสําหรับ SSO ที่ใช้ Kerberos อยู่แล้ว ขั้นตอนสามารถนํามาใช้ได้กับแหล่งข้อมูลที่ได้รับการสนับสนุนอีกหนึ่งรายการ ตราบใดที่มีการกําหนดค่าแหล่งข้อมูลสําหรับการลงชื่อเข้าใช้แบบครั้งเดียวที่ใช้ Kerberos สําหรับตัวอย่างนี้ เราจะใช้การตั้งค่าต่อไปนี้:

  • โดเมน Active Directory (Netbios): Contoso
  • ชื่อเครื่องเกตเวย์: MyGatewayMachine
  • บัญชีบริการเกตเวย์: Contoso\GatewaySvc
  • ชื่อเครื่องแหล่งข้อมูล SQL Server: TestSQLServer
  • บัญชีบริการแหล่งข้อมูล SQL Server: Contoso\SQLService

ต่อไปนี้คือวิธีการกําหนดค่าการตั้งค่าการมอบสิทธิ์:

  1. ให้เปิดสแนปอิน ผู้ใช้และคอมพิวเตอร์ Active Directory MMC ด้วยสิทธิ์ผู้ดูแลระบบโดเมน

  2. คลิกขวาที่บัญชีบริการเกตเวย์ (Contoso\GatewaySvc) แล้วเลือก คุณสมบัติ

  3. เลือก แท็บ การรับ มอบสิทธิ์

  4. เลือกเชื่อถือคอมพิวเตอร์เครื่องนี้สําหรับการมอบหมายบริการที่ระบุเท่านั้น>ใช้โพรโทคอลการรับรองความถูกต้องใด ๆ

  5. ภายใต้บริการที่บัญชีผู้ใช้นี้สามารถใช้ข้อมูลประจําตัวที่ได้รับมอบหมาย เลือกเพิ่ม

  6. ในกล่องโต้ตอบใหม่ เลือกผู้ใช้หรือคอมพิวเตอร์

  7. ป้อนบัญชีบริการสําหรับแหล่งข้อมูล จากนั้นเลือก ตกลง

    ตัวอย่างเช่น แหล่งข้อมูล SQL Server สามารถมีบัญชีบริการเช่น Contoso\SQLService ควรตั้งค่า SPN ที่เหมาะสมสําหรับแหล่งข้อมูลในบัญชีนี้แล้ว

  8. เลือก SPN ที่คุณสร้างขึ้นสําหรับเซิร์ฟเวอร์ฐานข้อมูล

    ในตัวอย่างของเรา SPN จะเริ่มต้นด้วย MSSQLSvc ถ้าคุณเพิ่มทั้ง FQDN และ NetBIOS SPN สําหรับบริการฐานข้อมูลของคุณ ให้เลือกทั้งสองอย่าง คุณอาจเห็นเพียงหนึ่งรายการเท่านั้น

  9. เลือก ตกลง

    ตอนนี้คุณควรเห็น SPN ในรายการของบริการซึ่งบัญชีบริการเกตเวย์สามารถแสดงข้อมูลประจําตัวที่ได้รับมอบหมายได้

    Gateway Connector Properties dialog box

  10. เมื่อต้องการดําเนินกระบวนการตั้งค่าต่อไป ดําเนินการต่อเพื่อ อนุญาตให้ใช้สิทธิ์ของนโยบายภายในของบัญชีบริการเกตเวย์บนเครื่องเกตเวย์

ตัวเลือก B: การมอบหมายที่มีข้อจํากัดของ Kerberos ตามทรัพยากร

คุณใช้ การ มอบสิทธิ์แบบจํากัดของ Kerberos ตามทรัพยากรเพื่อเปิดใช้งานการเชื่อมต่อการลงชื่อเข้าใช้แบบครั้งเดียวสําหรับ Windows Server 2012 และเวอร์ชันที่ใหม่กว่า การมอบสิทธิ์ประเภทนี้จะอนุญาตให้บริการส่วนหน้าและส่วนหลังอยู่ในโดเมนที่ต่างกัน เพื่อให้สามารถใช้งานได้ โดเมนบริการปลายสุดจําเป็นต้องเชื่อถือโดเมนบริการส่วนหน้า

ในขั้นตอนต่อไปนี้ เราสมมติว่าสภาพแวดล้อมในองค์กรที่มีสองเครื่องในโดเมนที่ต่างกัน: เครื่องเกตเวย์และเซิร์ฟเวอร์ฐานข้อมูลที่เรียกใช้ SQL Server ที่ได้รับการกําหนดค่าสําหรับ SSO ที่ใช้ Kerberos อยู่แล้ว ขั้นตอนเหล่านี้สามารถนํามาใช้ได้กับแหล่งข้อมูลใดแหล่งข้อมูลหนึ่งที่ได้รับการสนับสนุนอื่น ๆ ตราบใดที่มีการกําหนดค่าแหล่งข้อมูลสําหรับการลงชื่อเข้าใช้แบบครั้งเดียวที่ใช้ Kerberos สําหรับตัวอย่างนี้ เราจะใช้การตั้งค่าต่อไปนี้:

  • ระบบโดเมนส่วนหน้าของ Active Directory (Netbios): ContosoFrontEnd
  • ระบบโดเมนส่วนหลังของ Active Directory (Netbios): ContosoBackEnd
  • ชื่อเครื่องเกตเวย์: MyGatewayMachine
  • บัญชีบริการเกตเวย์: ContosoFrontEnd\GatewaySvc
  • ชื่อเครื่องแหล่งข้อมูล SQL Server: TestSQLServer
  • บัญชีบริการแหล่งข้อมูล SQL Server: ContosoBackEnd\SQLService

ทําตามขั้นตอนการกําหนดค่าต่อไปนี้:

  1. ใช้สแนปอิน ผู้ใช้และคอมพิวเตอร์ Active Directory MMC บนตัวควบคุมโดเมนสําหรับโดเมน ContosoFrontEnd และตรวจสอบว่าไม่มีการปรับใช้การตั้งค่าการมอบหมายสําหรับบัญชีบริการเกตเวย์

    Gateway connector properties

  2. ใช้ผู้ใช้และคอมพิวเตอร์ Active Directory บนตัวควบคุมโดเมนสําหรับโดเมน ContosoBackEnd และตรวจสอบว่าไม่มีการปรับใช้การตั้งค่าการมอบหมายสําหรับบัญชีบริการปลายสุด

    SQL service properties

  3. ในแท็บ ตัวแก้ไขแอตทริบิวต์ ของคุณสมบัติบัญชี ให้ตรวจสอบว่าไม่มีการตั้งค่าแอตทริบิวต์ msDS-AllowedToActOnBehalfOfOtherIdentity

    SQL service attributes

  4. ในผู้ใช้และคอมพิวเตอร์ Active Directory ให้สร้างกลุ่มบนตัวควบคุมโดเมนสําหรับโดเมน ContosoBackEnd เพิ่มบัญชีบริการเกตเวย์ GatewaySvc ไปยังกลุ่ม ResourceDelGroup

    เมื่อต้องการเพิ่มผู้ใช้จากโดเมนที่เชื่อถือได้ Group properties

  5. เปิดพร้อมท์คําสั่งและเรียกใช้คําสั่งต่อไปนี้ในตัวควบคุมโดเมนสําหรับ โดเมน ContosoBackEnd เพื่ออัปเดต แอตทริบิวต์ msDS-AllowedToActOnBehalfOfOtherIdentity ของบัญชีบริการปลายสุด:

    $c = Get-ADGroup ResourceDelGroup
    Set-ADUser SQLService -PrincipalsAllowedToDelegateToAccount $c
    
  6. ในผู้ใช้และคอมพิวเตอร์ Active Directory ให้ตรวจสอบว่าการอัปเดตจะแสดงอยู่ในแท็บ ตัวแก้ไขแอตทริบิวต์ ในคุณสมบัติสําหรับบัญชีบริการปลายสุด

ขั้นตอนที่ 5: เปิดใช้งานการเข้ารหัส AES บนบัญชีบริการ

ใช้การตั้งค่าต่อไปนี้กับบัญชีบริการเกตเวย์และ บัญชีบริการแหล่งข้อมูลทั้งหมดที่ เกตเวย์สามารถมอบหมายสิทธิ์ได้:

หมายเหตุ

ถ้ามี enctypes ที่มีอยู่ซึ่งกําหนดไว้ในบัญชีบริการ ให้ปรึกษาผู้ดูแลระบบ Active Directory ของคุณ เนื่องจากขั้นตอนด้านล่างนี้จะเขียนทับค่า enctypes ที่มีอยู่และอาจทําลายไคลเอ็นต์

  1. ให้เปิดสแนปอิน ผู้ใช้และคอมพิวเตอร์ Active Directory MMC ด้วยสิทธิ์ผู้ดูแลระบบโดเมน

  2. คลิกขวาที่บัญชีบริการเกตเวย์/แหล่งข้อมูล และเลือก คุณสมบัติ

  3. เลือกแท็บ บัญชี

  4. ภายใต้ ตัวเลือกบัญชี ให้เปิดใช้งานอย่างน้อยหนึ่ง (หรือทั้งสอง) ตัวเลือกต่อไปนี้ โปรดทราบว่าจําเป็นต้องเปิดใช้งานตัวเลือกเดียวกันสําหรับบัญชีบริการทั้งหมด

    • บัญชีนี้สนับสนุนการเข้ารหัสลับ Kerberos AES 128 บิต
    • บัญชีนี้สนับสนุนการเข้ารหัสลับ Kerberos AES 256 บิต

หมายเหตุ

ถ้าคุณไม่แน่ใจว่าจะใช้โครงร่างการเข้ารหัสลับแบบใด โปรดปรึกษาผู้ดูแลระบบ Active Directory ของคุณ

ขั้นตอนที่ 6: ให้การอนุญาตสิทธิ์ของนโยบายภายในของบัญชีบริการเกตเวย์บนเครื่องเกตเวย์

สุดท้าย บนเครื่องที่มีบริการเกตเวย์ทํางาน (MyGatewayMachine ในตัวอย่างของเรา) ให้สิทธิ์ในการเลียนแบบไคลเอ็นต์หลังจากการรับรองความถูกต้องแก่บัญชีบริการเกตเวย์ และทําหน้าที่เป็นส่วนหนึ่งของระบบปฏิบัติการ (SeTcbPrivilege) ดําเนินการกําหนดค่านี้ด้วยตัวแก้ไขนโยบายกลุ่มภายใน (gpedit.msc)

  1. บนเครื่องเกตเวย์ ให้เรียกใช้ gpedit.msc

  2. ไปที่ การกําหนดค่า>คอมพิวเตอร์ของนโยบาย>คอมพิวเตอร์ภายใน Windows การตั้งค่า>ความปลอดภัย การตั้งค่า>การกําหนดสิทธิ์ของผู้ใช้นโยบาย>ภายในเครื่อง

    Local Computer Policy folder structure

  3. ภายใต้ การกําหนดสิทธิ์ของผู้ใช้ จากรายการของนโยบาย ให้เลือก เลียนแบบไคลเอ็นต์หลังจากการรับรองความถูกต้อง

    Impersonate a client policy

  4. คลิกขวาที่นโยบาย เปิด คุณสมบัติ จากนั้นดูรายการบัญชี

    รายการต้องมีบัญชีบริการเกตเวย์ (Contoso\GatewaySvc หรือ ContosoFrontEnd\GatewaySvc ทั้งนี้ขึ้นอยู่กับประเภทของการมอบหมายที่มีข้อจํากัด)

  5. ภายใต้ การกําหนดสิทธิ์ของผู้ใช้ ให้เลือก ทําหน้าที่เป็นส่วนหนึ่งของระบบปฏิบัติการ (SeTcbPrivilege) จากรายการของนโยบาย ตรวจสอบให้แน่ใจว่าบัญชีบริการเกตเวย์รวมอยู่ในรายการของบัญชี

  6. รีสตาร์ทกระบวนการ บริการเกตเวย์ ข้อมูลภายในองค์กร

ขั้นตอนที่ 7: บัญชี Windows สามารถเข้าถึงเครื่องเกตเวย์ได้

SSO ใช้การรับรองความถูกต้องของ Windows ดังนั้นตรวจสอบให้แน่ใจว่าบัญชีผู้ใช้ Windows สามารถเข้าถึงเครื่องเกตเวย์ได้ ถ้าไม่แน่ใจ ให้เพิ่ม NT-AUTHORITY\Authenticated Users (S-1-5-11) ไปยังกลุ่ม "ผู้ใช้" ภายในเครื่อง

ส่วนที่ 2: การกําหนดค่าเฉพาะสภาพแวดล้อม

เพิ่มบัญชีบริการเกตเวย์ไปยัง Windows Authorization และ Access Group

ดําเนินการในส่วนนี้ให้เสร็จสมบูรณ์หากมี สถานการณ์ใดๆ ต่อไปนี้เกิดขึ้น:

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

คุณยังสามารถเพิ่มบัญชีผู้ใช้บริการเกตเวย์ไปยัง Windows Authorization และ Access Group ในสถานการณ์ที่โดเมนและฟอเรสต์ไม่ได้ทํางานหนักมาก (ไม่บังคับ)

สําหรับข้อมูลเพิ่มเติม ดู การอนุญาตของ Windows และกลุ่มการเข้าถึง

ในการดําเนินการขั้นตอนการกําหนดค่านี้ให้เสร็จสมบูรณ์สําหรับแต่ละโดเมนที่มีผู้ใช้ Active Directory ที่คุณต้องการให้บัญชีบริการเกตเวย์สามารถเลียนแบบได้:

  1. ลงชื่อเข้าใช้คอมพิวเตอร์ในโดเมน และเปิดใช้งานสแนปอิน ผู้ใช้และคอมพิวเตอร์ Active Directory MMC
  2. ค้นหากลุ่ม การอนุญาตของ Windows และการเข้าถึงกลุ่ม ซึ่งโดยทั่วไปแล้วจะพบได้ในคอนเทนเนอร์ บิวท์อิน
  3. ดับเบิลคลิกที่กลุ่มและคลิกที่แท็บ สมาชิก
  4. คลิก เพิ่ม และเปลี่ยนตําแหน่งที่ตั้งโดเมนไปยังโดเมนที่บัญชีผู้ใช้บริการเกตเวย์อยู่
  5. พิมพ์ชื่อบัญชีบริการเกตเวย์และคลิก ตรวจสอบชื่อ เพื่อตรวจสอบว่าบัญชีบริการเกตเวย์สามารถเข้าถึงได้
  6. คลิก ตกลง
  7. คลิกใช้
  8. รีสตาร์ทบริการเกตเวย์

ตั้งค่าพารามิเตอร์การกําหนดค่าการแมปผู้ใช้บนเครื่องเกตเวย์

ทําส่วนนี้ให้เสร็จสมบูรณ์ถ้า:

  • คุณไม่ได้กําหนดค่า Microsoft Entra เชื่อมต่อ ด้วยการซิงโครไนซ์บัญชีผู้ใช้ และ
  • UPN ที่ใช้ใน Power BI สําหรับผู้ใช้ไม่ตรงกับ UPN ในสภาพแวดล้อม Active Directory ภายในเครื่องของคุณ

ผู้ใช้ Active Directory แต่ละคนที่ถูกแมปด้วยวิธีนี้จะต้องมีสิทธิ์ SSO สําหรับแหล่งข้อมูลของคุณ

  1. เปิดไฟล์ Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dllการกําหนดค่าเกตเวย์หลัก ตามค่าเริ่มต้น แฟ้มนี้จะถูกเก็บไว้ที่C:\Program Files\On-premises data gateway

  2. ตั้งค่า ADUserNameLookupProperty เป็นแอตทริบิวต์ Active Directory ที่ไม่ได้ใช้งาน เราจะใช้ msDS-cloudExtensionAttribute1 ในขั้นตอนต่อไปนี้ แอตทริบิวต์นี้จะพร้อมใช้งานใน Windows Server 2012 และรุ่นที่ใหม่กว่าเท่านั้น

  3. ตั้งค่า ADUserNameReplacementProperty เป็น SAMAccountName จากนั้นบันทึกไฟล์การกําหนดค่า

    หมายเหตุ

    ในสถานการณ์แบบหลายโดเมน คุณอาจจําเป็นต้องตั้งค่า ADUserNameReplacementProperty เพื่อ userPrincipalName รักษาข้อมูลโดเมนของผู้ใช้ไว้

  4. จากแท็บ บริการ ของตัวจัดการงาน ให้คลิกขวาที่บริการเกตเวย์และเลือก รีสตาร์ท

    Screenshot of Task Manager Services tab

  5. สําหรับผู้ใช้แต่ละรายบริการของ Power BI ที่คุณต้องการเปิดใช้งาน Kerberos SSO ให้ตั้งค่าmsDS-cloudExtensionAttribute1คุณสมบัติ ของผู้ใช้ Active Directory ภายในเครื่อง (ด้วยสิทธิ์ SSO กับแหล่งข้อมูลของคุณ) เป็นชื่อผู้ใช้แบบเต็ม (UPN) ของผู้ใช้บริการของ Power BI ตัวอย่างเช่น ถ้าคุณลงชื่อเข้าใช้บริการของ Power BI เป็น test@contoso.com และคุณต้องการแมปผู้ใช้รายนี้ไปยังผู้ใช้ Active Directory ภายในเครื่องที่มีสิทธิ์ SSO ให้test@LOCALDOMAIN.COMพูดว่า ตั้งค่าแอตทริบิวต์test@contoso.comของผู้ใช้msDS-cloudExtensionAttribute1เป็น

    คุณสามารถตั้งค่าmsDS-cloudExtensionAttribute1คุณสมบัติ ด้วยสแน็ปอิน ผู้ใช้และคอมพิวเตอร์ Active Directory MMC ได้:

    1. ในฐานะผู้ดูแลระบบโดเมน เรียกใช้ ผู้ใช้และคอมพิวเตอร์ Active Directory

    2. คลิกขวาที่ชื่อโดเมน เลือก ค้นหา จากนั้นป้อนชื่อบัญชีของผู้ใช้ Active Directory ภายในเครื่องที่จะแมป

    3. เลือก แท็บ ตัวแก้ไข แอตทริบิวต์

      ค้นหา msDS-cloudExtensionAttribute1 คุณสมบัติ และดับเบิลคลิกที่คุณสมบัตินั้น ตั้งค่าให้กับชื่อผู้ใช้แบบเต็ม (UPN) ของผู้ใช้ที่คุณใช้ในการลงชื่อเข้าใช้บริการของ Power BI

    4. เลือก ตกลง

      String Attribute Editor window

    5. เลือก ใช้ ตรวจสอบว่ามีการตั้งค่าที่ถูกต้องใน คอลัมน์ Value หรือไม่

ทําตามขั้นตอนการกําหนดค่าเฉพาะแหล่งข้อมูล

สําหรับแหล่งข้อมูล SAP HANA, SAP BW และ Teradata ต้องใช้การกําหนดค่าเพิ่มเติมเพื่อใช้กับ SSO ของเกตเวย์:

หมายเหตุ

แม้ว่าไลบรารี SNC อื่นอาจทํางานกับ BW SSO แต่ไม่ได้รับการรองรับจาก Microsoft อย่างเป็นทางการ

ส่วนที่ 3: ตรวจสอบการกําหนดค่า

ขั้นตอนที่ 1: กําหนดค่าแหล่งข้อมูลใน Power BI

หลังจากที่คุณทําตามขั้นตอนการกําหนดค่าทั้งหมดเสร็จสมบูรณ์แล้ว ให้ใช้หน้า จัดการเกตเวย์ ใน Power BI เพื่อกําหนดค่าแหล่งข้อมูลที่จะใช้สําหรับ SSO ถ้าคุณมีหลายเกตเวย์ ตรวจสอบให้แน่ใจว่าคุณเลือกเกตเวย์ที่กําหนดค่าไว้สําหรับ Kerberos SSO ภายใต้การตั้งค่าสําหรับแหล่งข้อมูล ตรวจสอบให้แน่ใจว่ามีการเลือกใช้ SSO ผ่าน Kerberos สําหรับคิวรี DirectQuery หรือใช้ SSO ผ่าน Kerberos สําหรับคิวรี DirectQuery และนําเข้า สําหรับรายงานที่ยึดตาม DirectQuery และใช้ SSO ผ่าน Kerberos สําหรับคิวรี DirectQuery และนําเข้า

 Screenshot of adding settings for single-sign on.

การตั้งค่า ใช้ SSO ผ่าน Kerberos สําหรับคิวรี DirectQuery และใช้ SSO ผ่าน Kerberos สําหรับคิวรี DirectQuery และนําเข้า มีลักษณะการทํางานที่แตกต่างกันสําหรับรายงานที่ยึดตาม DirectQuery และรายงานที่ยึดตามการนําเข้า

ใช้ SSO ผ่านทาง Kerberos สําหรับคิวรี DirectQuery:

  • สําหรับรายงานที่ยึดตาม DirectQuery ข้อมูลประจําตัว SSO ของผู้ใช้จะถูกใช้
  • สําหรับรายงานที่ยึดตามการนําเข้า ข้อมูลประจําตัว SSO ไม่ได้ถูกใช้ แต่มีการใช้ข้อมูลประจําตัวที่ป้อนในหน้าแหล่งข้อมูล

ใช้ SSO ผ่าน Kerberos สําหรับคิวรี DirectQuery และนําเข้า:

  • สําหรับรายงานที่ยึดตาม DirectQuery ข้อมูลประจําตัว SSO ของผู้ใช้จะถูกใช้
  • สําหรับรายงานที่ยึดตามการนําเข้า ข้อมูลประจําตัว SSO ของเจ้าของแบบจําลองความหมายจะถูกใช้โดยไม่คํานึงถึงผู้ใช้ที่ทริกเกอร์การนําเข้า

ขั้นตอนที่ 2: ทดสอบการลงชื่อเข้าระบบครั้งเดียว

ไปที่ ทดสอบการกําหนดค่า การลงชื่อเข้าระบบครั้งเดียว (SSO) เพื่อตรวจสอบว่าการกําหนดค่าของคุณได้รับการตั้งค่าอย่างถูกต้องและแก้ไขปัญหาทั่วไปอย่างรวดเร็ว

ขั้นตอนที่ 3: เรียกใช้รายงาน Power BI

เมื่อคุณเผยแพร่ ให้เลือกเกตเวย์ที่คุณกําหนดค่าไว้สําหรับ SSO ถ้าคุณมีหลายเกตเวย์

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับเกตเวย์ข้อมูลภายในองค์กรและ DirectQuery โปรดดูทรัพยากรต่อไปนี้: