แชร์ผ่าน


ภาพรวมการรับรองความถูกต้อง (ตัวอย่าง)

ปริมาณงาน 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 ของคุณ