ใช้ OAuth เพื่อเชื่อมต่อกับเซิร์ฟเวอร์รายงาน Power BI และ SSRS
คุณสามารถใช้ OAuth เพื่อเชื่อมต่อกับเซิร์ฟเวอร์รายงาน Power BI และ Reporting Services เพื่อแสดงรายงานอุปกรณ์มือถือ หรือ KPI เรียนรู้วิธีการกำหนดค่าสภาพแวดล้อมของคุณ เพื่อสนับสนุนการรับรองความถูกต้อง OAuth ด้วยแอป Power BI สำหรับอุปกรณ์เคลื่อนที่ เพื่อเชื่อมต่อกับเซิร์ฟเวอร์รายงาน Power BI และ SQL Server Reporting Services 2016 หรือใหม่กว่า
หมายเหตุ
การดูรายงาน Power BI ที่โฮสต์อยู่ในเซิร์ฟเวอร์รายงานของ Power BI โดยใช้ WAP เพื่อตรวจสอบสิทธิ์ไม่ได้รับการสนับสนุนสำหรับแอป iOS และ Android ในขณะนี้
ข้อกำหนด
Windows Server 2016 เป็นที่ต้องการสำหรับเซิร์ฟเวอร์ Web Application Proxy (WAP) และ Active Directory Federation Services (ADFS) คุณไม่จำเป็นต้องมีโดเมนระดับการทำงาน Windows 2016
เพื่อให้ผู้ใช้สามารถเพิ่มการเชื่อมต่อเซิร์ฟเวอร์รายงานไปยังแอป Power BI บนอุปกรณ์เคลื่อนที่ของพวกเขา คุณต้องให้สิทธิ์การเข้าถึงโฟลเดอร์บ้านของเซิร์ฟเวอร์รายงาน
การกำหนดค่าบริการชื่อโดเมน (DNS)
แอป Power BI สำหรับอุปกรณ์เคลื่อนที่จะเชื่อมต่อกับ URL สาธารณะ ตัวอย่างเช่น อาจมีลักษณะคล้ายกับต่อไปนี้
https://reports.contoso.com
ระเบียน DNS สำหรับ รายงาน ของคุณเชื่อมต่อกับที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ Web Application Proxy (WAP) นอกจากนี้คุณจำเป็นต้องกำหนดค่าระเบียน DNS สาธารณะสำหรับเซิร์ฟเวอร์ ADFS ของคุณ ตัวอย่างเช่น คุณอาจกำหนดค่าเซิร์ฟเวอร์ ADFS ด้วย URL ต่อไปนี้
https://fs.contoso.com
ระเบียน DNS สำหรับ fs ของคุณเชื่อมต่อกับที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ Web Application Proxy (WAP) เนื่องจากมีการเผยแพร่เป็นส่วนหนึ่งของแอปพลิเคชัน WAP
ใบรับรอง
คุณต้องกำหนดค่าใบรับรองสำหรับทั้งแอปพลิเคชัน WAP และเซิร์ฟเวอร์ ADFS ใบรับรองเหล่านี้ทั้งสองต้องเป็นส่วนหนึ่งของหน่วยงานใบรับรองที่ถูกต้องที่อุปกรณ์เคลื่อนที่ของคุณรู้จัก
การกำหนดค่า 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 (ADFS)
คุณต้องกำหนดค่า ADFS บนเซิร์ฟเวอร์ Windows 2016 ภายในสภาพแวดล้อมของคุณ การกำหนดค่าสามารถทำได้ผ่านตัวจัดการเซิร์ฟเวอร์ และการเลือกเพิ่มบทบาทและคุณลักษณะซึ่งอยู่ด้านล่างจัดการ สำหรับข้อมูลเพิ่มเติม ดูActive Directory Federation Services
สร้างกลุ่มแอปพลิเคชัน
ภายในหน้าจอการจัดการ 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 ภายนอกที่จะเข้าชม Web Application Proxy ของคุณ ซึ่งควรอยู่ในรูปแบบต่อไปนี้
หมายเหตุ
URL นี้เป็นตัวพิมพ์ใหญ่-เล็ก
https://< report server url >/

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

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

การกำหนดค่า Web Application Proxy (WAP)
คุณต้องเปิดใช้งานบทบาท Windows ของ Web Application Proxy (ROLE) บนเซิร์ฟเวอร์ในสภาพแวดล้อมของคุณ ซึ่งต้องอยู่บนเซิร์ฟเวอร์ Windows 2016 สำหรับข้อมูลเพิ่มเติม ดู Web Application Proxy ใน Windows Server 2016 และเผยแพร่แอปพลิเคชันโดยใช้การรับรองความถูกต้องล่วงหน้า 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 เว็บที่คุณสร้างขึ้นเป็นส่วนหนึ่งของกลุ่มแอปพลิเคชันภายใน ADFS |
| 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 ของคุณ

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

หลังจากที่คุณเลือก ลงชื่อเข้าใช้ คุณจะเห็นองค์ประกอบจากเซิร์ฟเวอร์ Reporting Services ของคุณ
การรับรองตัวตนแบบหลายปัจจัย
คุณสามารถเปิดใช้งานการรับรองความถูกต้องแบบหลายปัจจัยเพื่อเปิดใช้งานความปลอดภัยเพิ่มเติมสำหรับสภาพแวดล้อมของคุณ เมื่อต้องการเรียนรู้เพิ่มเติม ดูกำหนดค่า AD FS 2016 และ Azure MFA
การแก้ไขปัญหา
คุณได้รับข้อผิดพลาดว่า “ไม่สามารถเข้าสู่ระบบเซิร์ฟเวอร์ SSRS”

คุณสามารถตั้งค่า Fiddler เพื่อทำหน้าที่เป็นพร็อกซีสำหรับอุปกรณ์เคลื่อนที่ของคุณเพื่อดูว่าการร้องขอไปได้ไกลเท่าใด เพื่อเปิดใช้งานพร็อกซี Fiddler สำหรับอุปกรณ์โทรศัพท์ของคุณ คุณต้องตั้งค่า CertMaker สำหรับ iOS และ Android บนเครื่องที่เรียกใช้ Fiddler Add-on จาก Telerik สำหรับ Fiddler
หากการลงชื่อเข้าใช้สำเร็จเรียบร้อยเมื่อใช้ Fiddler คุณอาจมีใบรับรองที่ออกพร้อมกับแอปพลิเคชัน WAP หรือเซิร์ฟเวอร์ ADFS
ขั้นตอนถัดไป
ลงทะเบียนชื่อบริการหลัก (SPN) สำหรับเซิร์ฟเวอร์รายงาน
ปรับเปลี่ยนแฟ้มการกำหนดค่า Reporting Services
กำหนดค่าการรับรองความถูกต้องของ Windows บนเซิร์ฟเวอร์รายงาน
Active Directory Federation Services
Web Application Proxy ใน Windows Server 2016
เผยแพร่แอปพลิเคชันโดยใช้การรับรองความถูกต้องล่วงหน้า AD FS
กำหนดค่า AD FS 2016 และ Azure MFA
มีคำถามเพิ่มเติมหรือไม่ ลองไปที่ชุมชน Power BI