ภาพรวมการรับรองความถูกต้อง (ตัวอย่าง)
ปริมาณงาน Fabric อาศัยการรวมกับ Microsoft Entra ID สําหรับการรับรองความถูกต้องและการรับรองความถูกต้อง
การโต้ตอบทั้งหมดระหว่างปริมาณงานและส่วนประกอบ Fabric หรือ Azure อื่น ๆ ต้องมาพร้อมกับการสนับสนุนการรับรองความถูกต้องที่เหมาะสมสําหรับคําขอที่ได้รับหรือส่ง โทเค็นที่ส่งออกจะต้องถูกสร้างขึ้นอย่างถูกต้องและโทเค็นที่ได้รับจะต้องได้รับการตรวจสอบอย่างถูกต้องเช่นกัน
ขอแนะนําให้คุณคุ้นเคยกับแพลตฟอร์มข้อมูลประจำตัวของ Microsoft ก่อนที่จะเริ่มทํางานกับปริมาณงาน Fabric นอกจากนี้ยังแนะนําให้ดําเนินการแพลตฟอร์มข้อมูลประจำตัวของ Microsoft แนวทางปฏิบัติและคําแนะนําที่ดีที่สุด
โฟลว์
จากส่วนหน้าของปริมาณงานไปจนถึง Back-end ของปริมาณงาน
ตัวอย่างของการสื่อสารดังกล่าวคือ DATA Plane API ใด ๆ การสื่อสารนี้จะทําด้วยโทเค็นเรื่อง (โทเค็นที่ได้รับมอบหมาย)
สําหรับข้อมูลเกี่ยวกับวิธีการรับโทเค็นในปริมาณงาน FE อ่านรับรองความถูกต้อง API นอกจากนี้ ตรวจสอบให้แน่ใจว่าคุณผ่านการตรวจสอบโทเค็นใน ภาพรวมการรับรองความถูกต้องและการรับรองความถูกต้อง Back-end
จาก Fabric Back-end ไปจนถึงปริมาณงาน back-end
ตัวอย่างของการสื่อสารดังกล่าวคือ สร้างรายการปริมาณงาน การสื่อสารนี้เสร็จสิ้นด้วยโทเค็น SubjectAndApp ซึ่งเป็นโทเค็นพิเศษที่มีโทเค็นแอปและโทเค็นชื่อเรื่องรวมกัน (ดู ภาพรวม การรับรองความถูกต้องและการรับรองความถูกต้อง Back end เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับโทเค็นนี้)
เพื่อให้การสื่อสารนี้ทํางานได้ ผู้ใช้ที่ใช้การสื่อสารนี้ต้องให้ความยินยอมกับแอปพลิเคชัน Microsoft Entra
จาก back-end ปริมาณงานไปยัง Fabric back-end
การดําเนินการนี้จะทําได้ด้วยโทเค็น SubjectAndApp สําหรับตัวควบคุมปริมาณงาน API (ตัวอย่างเช่น ResolveItemPermissions) หรือด้วยโทเค็นหัวเรื่อง (สําหรับ Fabric API อื่น ๆ)
จากส่วนหลังของปริมาณงานไปยังบริการภายนอก
ตัวอย่างของการสื่อสารดังกล่าวคือการเขียนไปยังไฟล์ของเลคเฮ้าส์ ซึ่งสามารถทําได้ด้วยโทเค็นหัวเรื่องหรือโทเค็นแอปทั้งนี้ขึ้นอยู่กับ API
ถ้าคุณวางแผนที่จะสื่อสารกับบริการโดยใช้โทเค็นหัวเรื่อง ตรวจสอบให้แน่ใจว่าคุณคุ้นเคยกับ โฟลว์ในนามของโฟลว์
โปรดดูที่ บทช่วยสอน การรับรองความถูกต้อง เพื่อตั้งค่าสภาพแวดล้อมของคุณให้ทํางานกับการรับรองความถูกต้อง
การรับรองความถูกต้อง JavaScript API
Fabric front-end มี JavaScript API สําหรับปริมาณงาน Fabric เพื่อรับโทเค็นสําหรับแอปพลิเคชันใน Microsoft Entra ID ก่อนที่จะทํางานกับการรับรองความถูกต้อง JavaScript API ตรวจสอบให้แน่ใจว่าคุณได้ไปที่คู่มือการรับรองความถูกต้อง JavaScript API
การยินยอม
หากต้องการทําความเข้าใจเกี่ยวกับสาเหตุที่จําเป็นต้องได้รับความยินยอม ให้ตรวจสอบความยินยอมของผู้ใช้และผู้ดูแลระบบใน Microsoft Entra ID
หมายเหตุ
ต้องใช้ความยินยอมสําหรับ CRUD/งานเพื่อทํางานและเพื่อรับโทเค็นทั่วผู้เช่า
การยินยอมทํางานอย่างไรในปริมาณงาน Fabric
ในการให้ความยินยอมสําหรับแอปพลิเคชันที่เฉพาะเจาะจง Fabric FE สร้างอินสแตนซ์ MSAL ที่กําหนดค่าด้วย ID แอปพลิเคชันของปริมาณงานและขอโทเค็นสําหรับขอบเขตที่ให้มา (เพิ่มเติม ScopesToConsent - ดู AcquireAccessTokenParams)
เมื่อขอโทเค็นที่มีแอปพลิเคชันปริมาณงานสําหรับขอบเขตเฉพาะ Microsoft Entra ID จะแสดงความยินยอมป็อปอัพในกรณีที่หายไป จากนั้นเปลี่ยนเส้นทางหน้าต่างป็อปอัพไปยัง URI เปลี่ยนเส้นทางที่กําหนดค่าไว้ในแอปพลิเคชัน
โดยทั่วไปแล้ว URI เปลี่ยนเส้นทางจะอยู่ในโดเมนเดียวกันกับหน้าที่ร้องขอโทเค็นเพื่อให้หน้าสามารถเข้าถึงป็อปอัพและปิด
ในกรณีของเรา จะไม่อยู่ในโดเมนเดียวกันเนื่องจาก Fabric กําลังร้องขอโทเค็นและเปลี่ยนเส้นทาง URI ของปริมาณงานไม่ได้อยู่ในโดเมน Fabric ดังนั้นเมื่อกล่องโต้ตอบความยินยอมเปิดขึ้น จําเป็นต้องปิดด้วยตนเองหลังจากเปลี่ยนเส้นทาง - เราจะไม่ใช้รหัสที่ส่งกลับใน redirectUri และดังนั้นเราจึงเพียงแค่ปิดกล่องโต้ตอบความยินยอมขึ้น (เมื่อ Microsoft Entra ID เปลี่ยนเส้นทางไปยัง URI เปลี่ยนเส้นทาง จะปิด)
คุณสามารถดูรหัส/การกําหนดค่าของ Uri เปลี่ยนเส้นทางได้ใน index.ts ไฟล์ ไฟล์นี้สามารถพบได้ใน Microsoft-Fabric-workload-sample ภายใต้โฟลเดอร์ front-end
นี่คือตัวอย่างป๊อปอัปความยินยอมสําหรับแอปของเรา "แอปปริมาณงานของฉัน" และการขึ้นต่อกัน (ที่เก็บข้อมูลและ Power BI) ที่เรากําหนดค่าเมื่อดําเนินการ ตั้งค่าการรับรองความถูกต้อง:
อีกวิธีหนึ่งในการให้ความยินยอมในผู้เช่าหลัก (เป็นทางเลือก)
โปรดดูเอกสารประกอบ JavaScript API สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการให้ความยินยอมในผู้เช่าหลักของแอปพลิเคชันโดยใช้ URL ต่อไปนี้ (ใส่ ID ผู้เช่าและ ID ไคลเอ็นต์):
https://login.microsoftonline.com/{tenantId}/adminconsent?client_id={clientId}
วิธีการทํางานกับโทเค็น
Front-end ของคุณควรขอโทเค็นworkloadClient.auth.acquireAccessToken({});
คุณสามารถใช้โทเค็นนี้เพื่อรับรองความถูกต้องกับส่วนหลังของคุณ
ถ้าคุณต้องการเข้าถึงทรัพยากรบางอย่าง ให้ส่งโทเค็นของคุณไปยัง back-end และลองแลกเปลี่ยนโดยใช้โฟลว์ OBO สําหรับทรัพยากรนั้น คุณยังสามารถใช้โทเค็นที่ได้รับจากตัวควบคุม API (CRUD/Jobs) และลองแลกเปลี่ยนสําหรับทรัพยากรนั้น
ถ้าการแลกเปลี่ยนล้มเหลวด้วยเหตุผลความยินยอม ให้แจ้งส่วนหน้าและการโทร workloadClient.auth.acquireAccessToken({additionalScopesToConsent:[resource]});
ของคุณและลองกระบวนการอีกครั้ง
หากการแลกเปลี่ยนล้มเหลวด้วยเหตุผล MFA ให้แจ้งส่วนหน้าของคุณพร้อมกับการอ้างสิทธิ์ที่ได้รับเมื่อพยายามแลกเปลี่ยนและโทรworkloadClient.auth.acquireAccessToken({claimsForConditionalAccessPolicy:claims});
ตัวอย่างเช่น ดูที่: ตัวอย่างการตอบสนองข้อผิดพลาด
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเผยแพร่ข้อผิดพลาดจากแบ็กเอนด์ปริมาณงานไปยังส่วนหน้าของปริมาณงาน โปรดดู คู่มือการติดต่อสื่อสารของปริมาณงาน
หมายเหตุ
โทเค็นที่คุณได้รับเมื่อรับโทเค็นในส่วนหน้าไม่เกี่ยวข้องกับ เพิ่มเติม ScopesToConsent ที่คุณส่งผ่าน ซึ่งหมายความว่าเมื่อผู้ใช้ยินยอม คุณสามารถใช้โทเค็นใด ๆ ที่คุณได้รับจาก workloadClient.auth.acquireAccessToken
สําหรับโฟลว์ OBO ของคุณ