แชร์ผ่าน


เชื่อมต่อกับ เซิร์ฟเวอร์รายงาน Power BI และ SSRS จากแอปพลิเคชันสําหรับอุปกรณ์เคลื่อนที่ Power BI

บทความนี้อธิบายถึงวิธีการกําหนดค่าสภาพแวดล้อมของคุณเพื่อสนับสนุนการรับรองความถูกต้อง OAuth ด้วยแอป Power BI สําหรับอุปกรณ์เคลื่อนที่ เพื่อเชื่อมต่อกับ เซิร์ฟเวอร์รายงาน Power BI และ SQL Server Reporting Services 2016 หรือใหม่กว่า

ข้อกำหนด

Windows Server จําเป็นสําหรับเซิร์ฟเวอร์ Web พร็อกซีแอปพลิเคชัน (WAP) และ บริการการเข้าใช้งานเว็บรวมของ Active Directory (AD FS) คุณไม่จําเป็นต้องมีโดเมนระดับการทํางานของ Windows

เพื่อให้ผู้ใช้สามารถเพิ่มการเชื่อมต่อเซิร์ฟเวอร์รายงานไปยังแอป Power BI สําหรับอุปกรณ์เคลื่อนที่ได้ คุณต้องอนุญาตให้พวกเขาเข้าถึงโฟลเดอร์หลักของเซิร์ฟเวอร์รายงาน

หมายเหตุ

ตั้งแต่วันที่ 1 มีนาคม 2025 แอป Power BI บนมือถือจะไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์รายงานโดยใช้โพรโทคอล OAuth ผ่าน AD FS ที่กําหนดค่าบน Windows Server 2016 ได้อีกต่อไป ลูกค้าที่ใช้ OAuth ด้วย AD FS ที่กําหนดค่าบน Windows Server 2016 และ Web พร็อกซีแอปพลิเคชัน (WAP) จะต้องอัปเกรดเซิร์ฟเวอร์ AD FS เป็น Windows Server 2019 หรือใหม่กว่า หรือใช้พร็อกซีแอปพลิเคชัน Microsoft Entra หลังจากอัปเกรด Windows Server ผู้ใช้แอป Power BI บนมือถืออาจต้องลงชื่อเข้าใช้เซิร์ฟเวอร์รายงานอีกครั้ง

การอัปเกรดนี้จําเป็นต้องมีการเปลี่ยนแปลงในไลบรารีการรับรองความถูกต้องที่ใช้โดยแอปสําหรับอุปกรณ์เคลื่อนที่ การเปลี่ยนแปลงนี้จะไม่ส่งผลต่อการสนับสนุนของ Microsoft สําหรับ AD FS บน Windows Server 2016 แต่จะมีผลต่อความสามารถของแอป Power BI บนมือถือเท่านั้นที่จะเชื่อมต่อกับแอป

การกําหนดค่า Domain Name Services (DNS)

URL สาธารณะคือ URL ที่แอป Power BI สําหรับอุปกรณ์เคลื่อนที่จะเชื่อมต่อ ตัวอย่างเช่น อาจมีลักษณะคล้ายกับต่อไปนี้

https://reports.contoso.com

ระเบียน DNS สําหรับรายงานของคุณเชื่อมต่อกับที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ Web พร็อกซีแอปพลิเคชัน (WAP) คุณยังจําเป็นต้องกําหนดค่าระเบียน DNS สาธารณะสําหรับเซิร์ฟเวอร์ AD FS ของคุณ ตัวอย่างเช่น คุณอาจกําหนดค่าเซิร์ฟเวอร์ AD FS ด้วย URL ต่อไปนี้

https://fs.contoso.com

ระเบียน DNS สําหรับ fs ของคุณไปยังที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ Web พร็อกซีแอปพลิเคชัน (WAP) เนื่องจากมีการเผยแพร่เป็นส่วนหนึ่งของแอปพลิเคชัน WAP

ใบรับรอง

คุณต้องกําหนดค่าใบรับรองสําหรับทั้งแอปพลิเคชัน WAP และเซิร์ฟเวอร์ AD FS ใบรับรองเหล่านี้ทั้งสองต้องเป็นส่วนหนึ่งของผู้มีสิทธิ์ออกใบรับรองที่ถูกต้องที่อุปกรณ์เคลื่อนที่ของคุณรู้จัก

การกําหนดค่า Reporting Services

ไม่มีอะไรมากที่ต้องกําหนดค่าทางด้าน Reporting Services คุณเพียงแค่ต้องตรวจสอบให้แน่ใจว่า:

ชื่อบริการหลัก (SPN)

SPN เป็นตัวระบุเฉพาะสําหรับบริการที่ใช้การรับรองความถูกต้อง Kerberos คุณจําเป็นต้องตรวจสอบให้แน่ใจว่า คุณมี SPN HTTP ที่เหมาะสมสําหรับเซิร์ฟเวอร์รายงานของคุณ

สําหรับข้อมูลเกี่ยวกับวิธีการกําหนดค่าชื่อบริการหลัก (SPN) ที่เหมาะสมสําหรับเซิร์ฟเวอร์รายงานของคุณ ดู ลงทะเบียนชื่อบริการหลัก (SPN) สําหรับเซิร์ฟเวอร์รายงาน

การเปิดใช้งานการรับรองความถูกต้องในการเจรจา

เมื่อต้องการเปิดใช้งานเซิร์ฟเวอร์รายงานเพื่อใช้การรับรองความถูกต้อง Kerberos คุณจําเป็นต้องกําหนดค่าชนิดของการรับรองความถูกต้องของเซิร์ฟเวอร์รายงานให้เป็น RSWindowsNegotiate คุณสามารถทําได้ในไฟล์ rsreportserver.config

<AuthenticationTypes>  
    <RSWindowsNegotiate />  
    <RSWindowsKerberos />  
    <RSWindowsNTLM />  
</AuthenticationTypes>

สําหรับข้อมูลเพิ่มเติม ดู ปรับเปลี่ยนแฟ้ม การกําหนดค่า Reporting Services และ กําหนดค่าการรับรองความถูกต้องของ Windows บนเซิร์ฟเวอร์รายงาน

การกําหนดค่า บริการการเข้าใช้งานเว็บรวมของ Active Directory (AD FS)

คุณต้องกําหนดค่า AD FS บนเซิร์ฟเวอร์ Windows ภายในสภาพแวดล้อมของคุณ การกําหนดค่าสามารถทําได้ผ่านตัวจัดการเซิร์ฟเวอร์ และเลือกเพิ่มบทบาทและคุณลักษณะภายใต้จัดการ สําหรับข้อมูลเพิ่มเติม ให้ดู บริการการเข้าใช้งานเว็บรวมของ Active Directory

สำคัญ

ตั้งแต่วันที่ 1 มีนาคม 2025 แอป Power BI บนมือถือจะไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์รายงานผ่าน AD FS ที่กําหนดค่าบน Windows Server 2016 ได้อีกต่อไป ดูหมายเหตุที่จุดเริ่มต้นของบทความนี้

สร้างกลุ่มแอปพลิเคชัน

ภายในหน้าจอการจัดการ AD FS คุณต้องการสร้างกลุ่มแอปพลิเคชันสําหรับ Reporting Services ที่มีข้อมูลสําหรับแอป Power BI บนมือถือ

คุณสามารถสร้างกลุ่มแอปพลิเคชันด้วยขั้นตอนต่อไปนี้

  1. ภายในแอปการจัดการ AD FS ให้ คลิกขวาที่ กลุ่ม แอปพลิเคชัน และเลือก เพิ่มกลุ่มแอปพลิเคชัน...

    AD FS เพิ่มแอปพลิเคชัน

  2. ภายในเพิ่มตัวช่วยสร้างกลุ่มแอปพลิเคชัน ใส่ ชื่อ สําหรับกลุ่มแอปพลิเคชันและเลือก แอปพลิเคชันดั้งเดิมที่เข้าถึง API เว็บ

    ตัวช่วยสร้างกลุ่มแอปพลิเคชัน AD FS 01

  3. เลือก ถัดไป

  4. ใส่ ชื่อ สําหรับแอปพลิเคชันที่คุณกําลังเพิ่ม

  5. ในขณะ ID ไคลเอ็นต์ของคุณจะถูกสร้างโดยอัตโนมัติ ใส่ใน 484d54fc-b481-4eee-9505-0258a1913020 สําหรับทั้ง iOS และ Android

  6. คุณต้องการเพิ่ม URL เปลี่ยนเส้นทางต่อไปนี้:

    รายการสําหรับ Power BI บนมือถือ – iOS:
    msauth://code/mspbi-adal://com.microsoft.powerbimobile
    msauth://code/mspbi-adalms://com.microsoft.powerbimobilems
    mspbi-adal://com.microsoft.powerbimobile
    mspbi-adalms://com.microsoft.powerbimobilems

    ต้องใช้ขั้นตอนต่อไปนี้เท่านั้นสําหรับแอป Android:
    urn:ietf:wg:oauth:2.0:oob

    ตัวช่วยสร้างกลุ่มแอปพลิเคชัน AD FS 02

  7. เลือก ถัดไป

  8. ใส่ URL สําหรับเซิร์ฟเวอร์รายงานของคุณ URL เป็น URL ภายนอกที่จะเข้าชมพร็อกซีแอปพลิเคชันเว็บของคุณ ซึ่งควรอยู่ในรูปแบบต่อไปนี้

    หมายเหตุ

    URL นี้เป็นตัวพิมพ์ใหญ่-เล็ก!

    https://<report server url>/reports

    ตัวช่วยสร้างกลุ่มแอปพลิเคชัน AD FS 03

  9. เลือก ถัดไป

  10. เลือก นโยบาย การควบคุมการเข้าถึง ที่เหมาะกับความต้องการขององค์กรของคุณ

    ตัวช่วยสร้างกลุ่มแอปพลิเคชัน AD FS 04

  11. เลือก ถัดไป

  12. เลือก ถัดไป

  13. เลือก ถัดไป

  14. เลือก ปิด

เมื่อเสร็จสมบูรณ์ คุณควรเห็นคุณสมบัติของกลุ่มแอปพลิเคชันของคุณที่มีลักษณะคล้ายกับต่อไปนี้

ตัวช่วยสร้างกลุ่มแอปพลิเคชัน AD FS

ตอนนี้เรียกใช้คําสั่ง PowerShell ต่อไปนี้บนเซิร์ฟเวอร์ AD FS เพื่อให้แน่ใจว่าการรีเฟรชโทเค็นได้รับการสนับสนุน

Set-AdfsApplicationPermission -TargetClientRoleIdentifier '484d54fc-b481-4eee-9505-0258a1913020' -AddScope 'openid'

การกําหนดค่า Web พร็อกซีแอปพลิเคชัน (WAP)

คุณต้องการเปิดใช้งานบทบาท Windows สําหรับพร็อกซีแอปพลิเคชันเว็บ (บทบาท) บนเซิร์ฟเวอร์ในสภาพแวดล้อมของคุณ ซึ่งต้องอยู่บนเซิร์ฟเวอร์ Windows สําหรับข้อมูลเพิ่มเติม ดูพร็อกซีแอปพลิเคชันเว็บใน Windows Server และเผยแพร่แอปพลิเคชันโดยใช้การรับรองความถูกต้องล่วงหน้า AD FS

การกําหนดค่าการมอบหมายที่มีข้อจํากัด

เพื่อการเปลี่ยนจากการรับรองความถูกต้องของ OAuth เป็นการรับรองความถูกต้องของ Windows เราจําเป็นต้องใช้การมอบหมายที่มีข้อจํากัดด้วยการเปลี่ยนโพรโทคอล นี่คือส่วนหนึ่งของการกําหนดค่า Kerberos เราได้กําหนด SPN ของ Reporting Services SPN ภายในการกําหนดค่า Reporting Services แล้ว

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

ในการกําหนดค่าการมอบหมายที่มีข้อจํากัด คุณต้องทําตามขั้นตอนต่อไปนี้

  1. บนเครื่องที่มีเครื่องมือ Active Directory ติดตั้งอยู่ ให้เปิดใช้ผู้ใช้และคอมพิวเตอร์ Active Directory

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

  3. คลิกขวาที่เซิร์ฟเวอร์ WAP และไปที่ คุณสมบัติ

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

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

    WAP Constrained

    ซึ่งเป็นการตั้งค่าการมอบหมายที่มีข้อจํากัดสําหรับบัญชีผู้ใช้ภายในเครื่องของเซิร์ฟเวอร์ WAP จากนั้นเราจําเป็นต้องระบุบริการที่เครื่องนี้ได้รับอนุญาตให้มอบหมาย

  6. เลือก เพิ่ม... ภายใต้กล่องบริการ

    WAP Constrained 02

  7. เลือก ผู้ใช้หรือคอมพิวเตอร์...

  8. ใส่บัญชีบริการที่คุณกําลังใช้สําหรับ Reporting Services บัญชีนี้คือบัญชีที่คุณเพิ่ม SPN เข้าไปภายในการกําหนดค่า Reporting Services

  9. เลือก SPN สําหรับ Reporting Services จากนั้นเลือก ตกลง

    หมายเหตุ

    คุณอาจเห็นเพียง NetBIOS SPN ซึ่งแท้จริงแล้วจะเลือกทั้ง NetBIOS และ FQDN SPNs ถ้ามีอยู่ทั้งสองรายการ

    WAP Constrained 03

  10. ผลลัพธ์ควรมีลักษณะคล้ายกับรายการต่อไปนี้เมื่อมีการเลือกกล่องกาเครื่องหมายขยาย

    WAP Constrained 04

  11. เลือก ตกลง

เพิ่มแอปพลิเคชัน WAP

ในขณะที่คุณสามารถเผยแพร่แอปพลิเคชันภายในคอนโซลการจัดการการเข้าถึงรายงาน เราจะต้องสร้างแอปพลิเคชันผ่านทาง PowerShell นี่คือคําสั่งเพื่อเพิ่มแอปพลิเคชัน

Add-WebApplicationProxyApplication -Name "Contoso Reports" -ExternalPreauthentication ADFS -ExternalUrl https://reports.contoso.com/ -ExternalCertificateThumbprint "0ff79c75a725e6f67e3e2db55bdb103efc9acb12" -BackendServerUrl https://ContosoSSRS/ -ADFSRelyingPartyName "Reporting Services - Web API" -BackendServerAuthenticationSPN "http/ContosoSSRS.contoso.com" -UseOAuthAuthentication
พารามิเตอร์ ข้อคิดเห็น
ADFSRelyingPartyName ชื่อ API เว็บที่คุณสร้างขึ้นเป็นส่วนหนึ่งของกลุ่มแอปพลิเคชันภายใน AD FS
ExternalCertificateThumbprint ใบรับรองที่จะใช้สําหรับผู้ใช้ภายนอก เป็นสิ่งสําคัญว่าใบรับรองนั้นถูกต้องบนอุปกรณ์เคลื่อนที่และมาจากผู้ออกใบรับรองที่เชื่อถือได้
BackendServerUrl URL ไปยังเซิร์ฟเวอร์รายงานจากเซิร์ฟเวอร์ WAP ถ้าเซิร์ฟเวอร์ WAP อยู่ใน DMZ คุณอาจจําเป็นต้องใช้ชื่อโดเมนแบบเต็ม ตรวจสอบให้แน่ใจว่าคุณสามารถเข้าชม URL นี้จากเว็บเบราว์เซอร์บนเซิร์ฟเวอร์ WAP
BackendServerAuthenticationSPN SPN ที่คุณสร้างขึ้นเป็นส่วนหนึ่งของการกําหนดค่า Reporting Services

ตั้งค่าการรับรองความถูกต้องรวมสําหรับแอปพลิเคชัน WAP

หลังจากที่คุณเพิ่มแอปพลิเคชัน WAP คุณต้องตั้งค่า BackendServerAuthenticationMode เพื่อใช้ IntegratedWindowsAuthentication คุณต้องใช้ ID จากแอปพลิเคชัน WAP เพื่อตั้งค่า

Get-WebApplicationProxyApplication "Contoso Reports" | fl

เพิ่มกลุ่มแอปพลิเคชัน

เรียกใช้คําสั่งต่อไปนี้เพื่อตั้งค่า BackendServerAuthenticationMode โดยใช้ ID ของแอปพลิเคชัน WAP

Set-WebApplicationProxyApplication -id 30198C7F-DDE4-0D82-E654-D369A47B1EE5 -BackendServerAuthenticationMode IntegratedWindowsAuthentication

เพิ่มตัวช่วยสร้างกลุ่มแอปพลิเคชัน

เชื่อมต่อกับแอป Power BI บนมือถือ

ภายในแอป Power BI สําหรับอุปกรณ์เคลื่อนที่ คุณต้องเชื่อมต่อกับอินสแตนซ์ Reporting Services ของคุณ เมื่อต้องการทําเช่นนั้น ให้ ใส่ URL ภายนอกสําหรับแอปพลิเคชัน WAP ของคุณ

พิมพ์ที่อยู่เซิร์ฟเวอร์

เมื่อคุณเลือก เชื่อมต่อ คุณจะถูกนําไปยังหน้าการลงชื่อเข้าใช้ AD FS ของคุณ ใส่ข้อมูลประจําตัวที่ถูกต้องสําหรับโดเมนของคุณ

ลงชื่อเข้าใช้ AD FS

หลังจากที่คุณเลือก ลงชื่อเข้าใช้ คุณจะเห็นองค์ประกอบจากเซิร์ฟเวอร์ Reporting Services ของคุณ

การรับรองความถูกต้องแบบหลายปัจจัย

คุณสามารถเปิดใช้งานการรับรองความถูกต้องแบบหลายปัจจัยเพื่อเปิดใช้งานความปลอดภัยเพิ่มเติมสําหรับสภาพแวดล้อมของคุณ เมื่อต้องการเรียนรู้เพิ่มเติม ดูกําหนดค่าการรับรองความถูกต้องแบบหลายปัจจัยของ Microsoft Entra เป็นผู้ให้บริการการรับรองความถูกต้องด้วย AD FS

การแก้ไขปัญหา

คุณได้รับข้อผิดพลาด "ไม่สามารถลงชื่อเข้าใช้เซิร์ฟเวอร์ SSRS"

ข้อผิดพลาด

คุณสามารถตั้งค่า Fiddler เพื่อทําหน้าที่เป็นพร็อกซีสําหรับอุปกรณ์เคลื่อนที่ของคุณเพื่อดูว่าการร้องขอไปได้ไกลเพียงใด เพื่อเปิดใช้งานพร็อกซี Fiddler สําหรับอุปกรณ์โทรศัพท์ของคุณ คุณต้องตั้งค่า CertMaker สําหรับ iOS และ Android บนเครื่องที่เรียกใช้ Fiddler Add-on จาก Telerik สําหรับ Fiddler

ถ้าการลงชื่อเข้าใช้สําเร็จเรียบร้อยเมื่อใช้ Fiddler คุณอาจมีใบรับรองที่ออกพร้อมกับแอปพลิเคชัน WAP หรือเซิร์ฟเวอร์ AD FS