เชื่อมต่อกับเซิร์ฟเวอร์รายงาน 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 สําหรับอุปกรณ์เคลื่อนที่
คุณสามารถสร้างกลุ่มแอปพลิเคชันด้วยขั้นตอนต่อไปนี้
ภายในแอปการจัดการ AD FS ให้คลิกขวา กลุ่มแอปพลิเคชัน และเลือก เพิ่มกลุ่มแอปพลิเคชัน...
แอปพลิเคชัน
ภายในเพิ่มตัวช่วยสร้างกลุ่มแอปพลิเคชัน ใส่ชื่อ สําหรับกลุ่มแอปพลิเคชันและเลือก แอปพลิเคชันดั้งเดิมที่เข้าถึงAPI เว็บ
ตัวช่วยสร้างกลุ่มแอปพลิเคชัน
เลือก ถัดไป
ใส่ชื่อ สําหรับแอปพลิเคชันที่คุณกําลังเพิ่ม
ในขณะที่ Client 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 ภายนอกที่จะเข้าชม Web Application Proxy ของคุณ ซึ่งควรอยู่ในรูปแบบต่อไปนี้
โน้ต
URL นี้เป็นตัวพิมพ์ใหญ่-เล็ก!
https://<report server url>/reports
ตัวช่วยสร้างกลุ่มแอปพลิเคชัน
เลือก ถัดไป
เลือก นโยบายการควบคุมการเข้าถึง ที่เหมาะกับความต้องการขององค์กรของคุณ
เลือก ถัดไป
เลือก ถัดไป
เลือก ถัดไป
เลือก ปิด
เมื่อเสร็จสมบูรณ์ คุณควรเห็นคุณสมบัติของกลุ่มแอปพลิเคชันของคุณที่มีลักษณะคล้ายกับต่อไปนี้
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
ในการกําหนดค่าการมอบหมายที่มีข้อจํากัด คุณต้องทําตามขั้นตอนต่อไปนี้
บนเครื่องที่มีเครื่องมือ 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 "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
เรียกใช้คําสั่งต่อไปนี้เพื่อตั้งค่า BackendServerAuthenticationMode โดยใช้ ID ของแอปพลิเคชัน WAP
Set-WebApplicationProxyApplication -id 00aa00aa-bb11-cc22-dd33-44ee44ee44ee -BackendServerAuthenticationMode IntegratedWindowsAuthentication
เชื่อมต่อกับแอป 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
เนื้อหาที่เกี่ยวข้อง
- ลงทะเบียนชื่อบริการหลัก (SPN) สําหรับ เซิร์ฟเวอร์รายงาน
- ปรับเปลี่ยน แฟ้มการกําหนดค่า Reporting Services
- กําหนดค่าการรับรองความถูกต้องของ Windows บนเซิร์ฟเวอร์รายงาน
- Active Directory Federation Services
- Web Application Proxy ใน Windows Server
- เผยแพร่แอปพลิเคชันโดยใช้ การรับรองความถูกต้องล่วงหน้า AD FS
-
กําหนดค่าการรับรองความถูกต้องแบบหลายปัจจัยของ Microsoft Entra ในฐานะผู้ให้บริการการรับรองความถูกต้องโดยใช้ AD FS
มีคําถามเพิ่มเติมหรือไม่ ลองใช้ ชุมชน Power BI