เชื่อมต่อกับ เซิร์ฟเวอร์รายงาน 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) ที่ถูกต้องเพื่อเปิดใช้งานการรับรองความถูกต้อง Kerberos ที่เหมาะสมให้เกิดขึ้น
- เซิร์ฟเวอร์ 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 บนมือถือ
คุณสามารถสร้างกลุ่มแอปพลิเคชันด้วยขั้นตอนต่อไปนี้
ภายในแอปการจัดการ AD FS ให้ คลิกขวาที่ กลุ่ม แอปพลิเคชัน และเลือก เพิ่มกลุ่มแอปพลิเคชัน...
ภายในเพิ่มตัวช่วยสร้างกลุ่มแอปพลิเคชัน ใส่ ชื่อ สําหรับกลุ่มแอปพลิเคชันและเลือก แอปพลิเคชันดั้งเดิมที่เข้าถึง API เว็บ
เลือก ถัดไป
ใส่ ชื่อ สําหรับแอปพลิเคชันที่คุณกําลังเพิ่ม
ในขณะ ID ไคลเอ็นต์ของคุณจะถูกสร้างโดยอัตโนมัติ ใส่ใน 484d54fc-b481-4eee-9505-0258a1913020 สําหรับทั้ง iOS และ Android
คุณต้องการเพิ่ม 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เลือก ถัดไป
ใส่ URL สําหรับเซิร์ฟเวอร์รายงานของคุณ URL เป็น URL ภายนอกที่จะเข้าชมพร็อกซีแอปพลิเคชันเว็บของคุณ ซึ่งควรอยู่ในรูปแบบต่อไปนี้
หมายเหตุ
URL นี้เป็นตัวพิมพ์ใหญ่-เล็ก!
https://<report server url>/reports
เลือก ถัดไป
เลือก นโยบาย การควบคุมการเข้าถึง ที่เหมาะกับความต้องการขององค์กรของคุณ
เลือก ถัดไป
เลือก ถัดไป
เลือก ถัดไป
เลือก ปิด
เมื่อเสร็จสมบูรณ์ คุณควรเห็นคุณสมบัติของกลุ่มแอปพลิเคชันของคุณที่มีลักษณะคล้ายกับต่อไปนี้
ตอนนี้เรียกใช้คําสั่ง 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
ในการกําหนดค่าการมอบหมายที่มีข้อจํากัด คุณต้องทําตามขั้นตอนต่อไปนี้
บนเครื่องที่มีเครื่องมือ Active Directory ติดตั้งอยู่ ให้เปิดใช้ผู้ใช้และคอมพิวเตอร์ Active Directory
ค้นหาบัญชีเครื่องสําหรับเซิร์ฟเวอร์ WAP ของคุณ ตามค่าเริ่มต้น บัญชีผู้ใช้ดังกล่าวจะอยู่ในคอนเทนเนอร์ของคอมพิวเตอร์
คลิกขวาที่เซิร์ฟเวอร์ WAP และไปที่ คุณสมบัติ
เลือก แท็บ การรับ มอบสิทธิ์
เลือก เชื่อถือคอมพิวเตอร์เครื่องนี้สําหรับการมอบหมายบริการที่ระบุเท่านั้น แล้วเลือก ใช้โพรโทคอลการรับรองความถูกต้องใด ๆ
ซึ่งเป็นการตั้งค่าการมอบหมายที่มีข้อจํากัดสําหรับบัญชีผู้ใช้ภายในเครื่องของเซิร์ฟเวอร์ WAP จากนั้นเราจําเป็นต้องระบุบริการที่เครื่องนี้ได้รับอนุญาตให้มอบหมาย
เลือก เพิ่ม... ภายใต้กล่องบริการ
เลือก ผู้ใช้หรือคอมพิวเตอร์...
ใส่บัญชีบริการที่คุณกําลังใช้สําหรับ Reporting Services บัญชีนี้คือบัญชีที่คุณเพิ่ม SPN เข้าไปภายในการกําหนดค่า Reporting Services
เลือก SPN สําหรับ Reporting Services จากนั้นเลือก ตกลง
หมายเหตุ
คุณอาจเห็นเพียง NetBIOS SPN ซึ่งแท้จริงแล้วจะเลือกทั้ง NetBIOS และ FQDN SPNs ถ้ามีอยู่ทั้งสองรายการ
ผลลัพธ์ควรมีลักษณะคล้ายกับรายการต่อไปนี้เมื่อมีการเลือกกล่องกาเครื่องหมายขยาย
เลือก ตกลง
เพิ่มแอปพลิเคชัน 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 ของคุณ ใส่ข้อมูลประจําตัวที่ถูกต้องสําหรับโดเมนของคุณ
หลังจากที่คุณเลือก ลงชื่อเข้าใช้ คุณจะเห็นองค์ประกอบจากเซิร์ฟเวอร์ Reporting Services ของคุณ
การรับรองความถูกต้องแบบหลายปัจจัย
คุณสามารถเปิดใช้งานการรับรองความถูกต้องแบบหลายปัจจัยเพื่อเปิดใช้งานความปลอดภัยเพิ่มเติมสําหรับสภาพแวดล้อมของคุณ เมื่อต้องการเรียนรู้เพิ่มเติม ดูกําหนดค่าการรับรองความถูกต้องแบบหลายปัจจัยของ Microsoft Entra เป็นผู้ให้บริการการรับรองความถูกต้องด้วย AD FS
การแก้ไขปัญหา
คุณได้รับข้อผิดพลาด "ไม่สามารถลงชื่อเข้าใช้เซิร์ฟเวอร์ SSRS"
คุณสามารถตั้งค่า Fiddler เพื่อทําหน้าที่เป็นพร็อกซีสําหรับอุปกรณ์เคลื่อนที่ของคุณเพื่อดูว่าการร้องขอไปได้ไกลเพียงใด เพื่อเปิดใช้งานพร็อกซี Fiddler สําหรับอุปกรณ์โทรศัพท์ของคุณ คุณต้องตั้งค่า CertMaker สําหรับ iOS และ Android บนเครื่องที่เรียกใช้ Fiddler Add-on จาก Telerik สําหรับ Fiddler
ถ้าการลงชื่อเข้าใช้สําเร็จเรียบร้อยเมื่อใช้ Fiddler คุณอาจมีใบรับรองที่ออกพร้อมกับแอปพลิเคชัน WAP หรือเซิร์ฟเวอร์ AD FS
เนื้อหาที่เกี่ยวข้อง
- ลงทะเบียนชื่อบริการหลัก (SPN) สําหรับเซิร์ฟเวอร์รายงาน
- ปรับเปลี่ยนแฟ้มการกําหนดค่า Reporting Services
- กําหนดค่าการรับรองความถูกต้องของ Windows บนเซิร์ฟเวอร์รายงาน
- บริการการเข้าใช้งานเว็บรวมของ Active Directory
- พร็อกซีแอปพลิเคชันเว็บใน Windows Server
- การเผยแพร่แอปพลิเคชันโดยใช้การรับรองความถูกต้องล่วงหน้า AD FS
- กําหนดค่าการรับรองความถูกต้องแบบหลายปัจจัยของ Microsoft Entra เป็นผู้ให้บริการการรับรองความถูกต้องโดยใช้ AD FS
มีคำถามเพิ่มเติมหรือไม่? ลองใช้ชุมชน Power BI