แชร์ผ่าน


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

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

ข้อกําหนด

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

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

โน้ต

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

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

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

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

https://reports.contoso.com

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

https://fs.contoso.com

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

ใบ รับรอง

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

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

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

  • มี ชื่อบริการหลัก (SPN) ที่ถูกต้องเพื่อเปิดใช้งานการรับรองความถูกต้อง Kerberos ที่เหมาะสมให้เกิดขึ้น
  • เซิร์ฟเวอร์ Reporting Services เปิดใช้งานสําหรับการเจรจาการรับรองความถูกต้อง
  • ผู้ใช้มีสิทธิ์เข้าถึงโฟลเดอร์หลักของเซิร์ฟเวอร์รายงาน

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

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

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

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

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

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

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

การกําหนดค่า Active Directory Federation Services (AD FS)

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

สําคัญ

ในวันที่ 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. ในขณะที่ Client 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 ภายนอกที่จะเข้าชม Web Application Proxy ของคุณ ซึ่งควรอยู่ในรูปแบบต่อไปนี้

    โน้ต

    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 Application Proxy (WAP)

คุณต้องเปิดใช้งานบทบาท Windows ของ Web Application Proxy (Role) บนเซิร์ฟเวอร์ในสภาพแวดล้อมของคุณ ซึ่งต้องอยู่บนเซิร์ฟเวอร์ Windows สําหรับข้อมูลเพิ่มเติม โปรดดู Web Application Proxy ใน 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 จากนั้นเราจําเป็นต้องระบุบริการที่เครื่องนี้ได้รับอนุญาตให้มอบหมาย

  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 "AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00" -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

สกรีนช็อตที่แสดง ID ที่คุณต้องการจากแอปพลิเคชัน WAP

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

Set-WebApplicationProxyApplication -id 00aa00aa-bb11-cc22-dd33-44ee44ee44ee -BackendServerAuthenticationMode IntegratedWindowsAuthentication

สกรีนช็อตที่แสดงวิธีการตั้งค่าโหมดการรับรองความถูกต้องเซิร์ฟเวอร์ Backend โดยใช้ ID ของแอปพลิเคชัน WAP

เชื่อมต่อกับแอป Power BI สําหรับอุปกรณ์เคลื่อนที่

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

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

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

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

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

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

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

แก้ไข ปัญหา

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

ข้อผิดพลาด "ไม่สามารถเข้าสู่ระบบเซิร์ฟเวอร์ SSRS"

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

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