แชร์ผ่าน


การตั้งค่าการรับรองความถูกต้อง

ในบทความนี้ เรียนรู้วิธีการทํางานกับการรับรองความถูกต้องใน Microsoft Fabric

เมื่อต้องการรับรองความถูกต้องของปริมาณงานแบบกําหนดเองใน Fabric ก่อนอื่นคุณต้องตั้งค่าส่วนประกอบสามส่วน:

หมายเหตุ

ในการกําหนดค่าการตั้งค่าการรับรองความถูกต้องที่อธิบายไว้ในบทความนี้ คุณต้องมีบทบาทผู้ดูแลระบบส่วนกลาง

การเตรียมใช้งานที่เก็บข้อมูล Azure

ตัวอย่างการรับรองความถูกต้องที่ใช้ในบทความนี้สาธิตวิธีการจัดเก็บข้อมูลและอ่านข้อมูลจากสถาปัตยกรรมของเลคเฮ้าส์ ซึ่งจําเป็นต้องสร้างโทเค็นสําหรับบริการที่เก็บข้อมูล Azure ในโฟลว์ในนามของ (OBO) หากต้องการสร้างโทเค็น คุณต้องยินยอมให้ใช้ Azure Storage กับแอปพลิเคชันของคุณ หากต้องการยินยอม Azure Storage ต้องเตรียมใช้งานในผู้เช่าก่อน

เพื่อตรวจสอบว่า Azure Storage ถูกเตรียมใช้งานในผู้เช่าแล้ว:

  1. ลงชื่อเข้าใช้ พอร์ทัล Azure

  2. ไปยังแอปพลิเคชัน Microsoft Entra ID>สําหรับองค์กร

  3. ในตัวกรองการค้นหา เลือก ประเภทแอปพลิเคชัน = แอปพลิเคชันทั้งหมด ID แอปพลิเคชันเริ่มต้นด้วยe406a681-f3d4-42a8-90b6-c2b029497af1

    สกรีนช็อตที่แสดงการเตรียมใช้งาน Azure Storage ในพอร์ทัล Azure

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

หากต้องการเตรียมใช้งานที่เก็บข้อมูล Azure ให้เปิด Windows PowerShell ในฐานะผู้ดูแลระบบและเรียกใช้สคริปต์ต่อไปนี้:

Install-Module az  
Import-Module az  
Connect-AzureAD  
New-AzureADServicePrincipal -AppId e406a681-f3d4-42a8-90b6-c2b029497af1

กําหนดค่าแอปพลิเคชันของคุณใน Microsoft Entra ID ด้วยตนเอง

ในการรับรองความถูกต้องปริมาณงาน แอปพลิเคชันปริมาณงานต้องลงทะเบียนใน Microsoft Entra ID ถ้าคุณไม่มีแอปพลิเคชันที่ลงทะเบียนไว้ ให้ สร้างแอปพลิเคชันใหม่ จากนั้นทําตามขั้นตอนต่อไปนี้

  1. นําการกําหนดค่าต่อไปนี้ไปใช้กับแอปพลิเคชันของคุณ:

    1. ทําให้แอปพลิเคชันเป็นแอปแบบหลายผู้เช่า
    2. สําหรับแอปพลิเคชัน dev ให้กําหนดค่า URI เปลี่ยนเส้นทางเป็น http://localhost:60006/close ด้วยแพลตฟอร์มแอปพลิเคชันแบบหน้าเดียว (SPA) การกําหนดค่านี้จําเป็นสําหรับการสนับสนุนความยินยอมของ Microsoft คุณสามารถเพิ่มการเปลี่ยนเส้นทาง URI อื่นๆ ได้

    หมายเหตุ

    • URI เปลี่ยนเส้นทางควรเป็น URI ที่เพียงแค่ปิดหน้าเมื่อคุณไปที่หน้านั้น มีการกําหนดค่า URI http://localhost:60006/close ในตัวอย่าง frontend แล้ว คุณสามารถแก้ไข URI เปลี่ยนเส้นทางได้ใน Frontend/src/index.ts ถ้าคุณเปลี่ยน URI ตรวจสอบให้แน่ใจว่าตรงกับ URI ที่กําหนดค่าไว้สําหรับแอปพลิเคชันของคุณ
    • คุณสามารถกําหนดค่า URI เปลี่ยนเส้นทางได้หลังจากที่คุณสร้างแอปพลิเคชัน หากต้องการเปลี่ยนการตั้งค่า URI เปลี่ยนเส้นทาง ให้ไปที่ จัดการการรับรองความถูกต้อง>
    • URL ที่เปลี่ยนเส้นทางต้องส่งกลับหน้า HTML ที่เรียกใช้ไปยัง JavaScript windows.close()เท่านั้น

    สกรีนช็อตของ UI การลงทะเบียนแอปพลิเคชัน

  2. เปลี่ยน URI ID แอปพลิเคชันสําหรับแอปพลิเคชันของคุณ ไปที่ จัดการ>เปิดเผย API และแก้ไขค่าสําหรับ Application ID URI สําหรับแอปของคุณ

    สําหรับสถานการณ์โหมดนักพัฒนา URI ID แอปพลิเคชันควรเริ่มต้นด้วย api://localdevinstance/<Workload publisher's tenant ID in lowercase (the tenant ID of the user used in Fabric to run the sample)>/<Name of your workload> และพาธย่อยทางเลือกที่จุดสิ้นสุดที่เริ่มต้นด้วย / (ดูตัวอย่างในภายหลังในส่วนนี้)

    พารามิเตอร์ URI สําหรับ ID แอปพลิเคชัน:

    • ชื่อปริมาณงานต้องตรงตามที่ระบุในรายการ
    • ID URI ไม่สามารถลงท้ายด้วยเครื่องหมายทับ (/) ได้
    • ส่วนท้ายของ ID URI สามารถมีพาธย่อยที่เลือกได้ที่ระบุโดยสตริงที่มีสูงสุด 36 อักขระ ซึ่งสามารถประกอบด้วยตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ตัวเลข และเส้นประภาษาอังกฤษเท่านั้น

    เคล็ดลับ

    รับความช่วยเหลือใน การค้นหา ID ผู้เช่า Microsoft Entra ของคุณ

    ตัวอย่างเช่น ถ้ารหัสผู้เช่าของผู้เผยแพร่คือ aaaabbbb-0000-cccc-1111-dddd2222eeee และชื่อปริมาณงานคือ Fabric.WorkloadSampleจากนั้น:

    • URI ต่อไปนี้ถูกต้อง :

      • api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample
      • api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/abc
    • URI ต่อไปนี้ไม่ถูกต้อง :

      • api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/af/
      • api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/af/a
      • URI ID ใด ๆ ที่ไม่ได้เริ่มต้นด้วย api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample

เพิ่มขอบเขตสําหรับ CRUD API และงาน

เมื่อต้องการทํางานกับ API สร้าง อ่าน อัปเดต และลบ (CRUD) สําหรับรายการปริมาณงาน และเพื่อดําเนินการอื่น ๆ ด้วยงาน เพิ่มขอบเขต นอกจากนี้ เพิ่มแอปพลิเคชัน Fabric เฉพาะสองตัวในแอปพลิเคชันที่มีการรับรองความถูกต้องล่วงหน้าสําหรับขอบเขตนั้นเพื่อระบุว่า API ของคุณ (ขอบเขตที่คุณสร้างขึ้น) เชื่อถือ Fabric

วิธีการเพิ่มขอบเขต:

  1. ภายใต้ เปิด API เลือก เพิ่มขอบเขต ตั้งชื่อขอบเขต FabricWorkloadControl และใส่รายละเอียดที่จําเป็น

  2. ภายใต้ แอปพลิเคชันไคลเอ็นต์ที่ได้รับอนุญาต เลือก เพิ่มแอปพลิเคชันไคลเอ็นต์ เพิ่ม d2450708-699c-41e3-8077-b0c8341509aa (ไคลเอ็นต์ Fabric สําหรับแอปพลิเคชันปริมาณงาน) และเลือกขอบเขตของคุณ

เพิ่มขอบเขตสําหรับ API ของแผนข้อมูล

ขอบเขตอื่น ๆ จําเป็นต้องลงทะเบียนเพื่อแสดงกลุ่มของการดําเนินงานที่ API แผนข้อมูลแสดง

ในตัวอย่าง Backend เรามีสี่ตัวอย่าง คุณสามารถดูตัวอย่างใน Backend/src/ค่าคงที่/scopes.cs ได้

ขอบเขตคือ:

  • Item1.Read.All: สําหรับการอ่านรายการปริมาณงาน
  • Item1.ReadWrite.All: สําหรับการอ่าน/เขียนรายการปริมาณงาน
  • FabricLakehouse.Read.All: สําหรับการอ่านไฟล์ของเลคเฮ้าส์
  • FabricLakehouse.ReadWrite.All: สําหรับการอ่าน/เขียนไฟล์ของเลคเฮ้าส์

รับรองความถูกต้อง 871c010f-5e61-4fb1-83ac-98610a7e9110 ล่วงหน้า (แอปพลิเคชันไคลเอ็นต์ Fabric) สําหรับขอบเขตเหล่านี้

คุณสามารถค้นหารหัสแอปพลิเคชันของแอปเหล่านี้ได้ภายใต้ Microsoft Power BI และบริการ Power BI ใน รหัสแอปพลิเคชันของแอปพลิเคชัน Microsoft ที่ใช้กันทั่วไป

นี่คือลักษณะที่ ส่วน เปิดเผย API ควรมีลักษณะในแอปพลิเคชันของคุณ ในตัวอย่างนี้ ID URI คือapi://localdevinstance/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/Fabric.WorkloadSample

สกรีนช็อตที่แสดงว่าส่วน API ของคุณควรมีลักษณะอย่างไร

สร้างข้อมูลลับสําหรับแอปพลิเคชันของคุณ

ภายใต้ ใบรับรองลับ ให้เลือก แท็บ ความลับ และเพิ่มข้อมูลลับ ใส่ชื่อที่คุณต้องการใช้ แล้วบันทึก ใช้ข้อมูลลับนี้เมื่อคุณกําหนดค่า ตัวอย่าง Backend

ภาพหน้าจอของกล่องโต้ตอบสร้างข้อมูลลับ

เพิ่มการอ้างสิทธิ์ที่ไม่บังคับให้ใส่ idtyp

ภายใต้ การกําหนดค่าโทเค็น เลือก เพิ่มการอ้างสิทธิ์ทางเลือก สําหรับ ชนิดโทเค็น ให้เลือก การเข้าถึง จากนั้นเลือก idtyp

สกรีนช็อตที่แสดงการเพิ่ม idtyp การอ้างสิทธิ์

เพิ่มสิทธิ์ API

ภายใต้ สิทธิ์ API เพิ่มสิทธิ์ที่คุณต้องการสําหรับแอปพลิเคชันของคุณ สําหรับตัวอย่าง Backend ให้เพิ่ม Azure Storage user_impersonation (สําหรับ OneLake API) และ พื้นที่ทํางานของบริการของ Power BI.Read.all (สําหรับตัวควบคุมปริมาณงาน API):

สกรีนช็อตที่แสดงการเพิ่มสิทธิ์ API

เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับสิทธิ์ API ดูอัปเดตสิทธิ์ที่ร้องขอของแอปใน Microsoft Entra ID

ตั้งค่าแอปพลิเคชันของคุณเพื่อทํางานกับโทเค็นการรับรองความถูกต้อง v1

ภายใต้รายชื่อแฟ้มตรวจสอบให้แน่ใจว่ามีaccessTokenAcceptedVersionการตั้งค่าอย่างใดอย่างหนึ่งเป็น null หรือ1

กําหนดค่าแอปพลิเคชันของคุณใน Microsoft Entra ID โดยใช้สคริปต์

สําหรับการตั้งค่าแอปพลิเคชันที่คล่องตัวใน Microsoft Entra ID คุณสามารถใช้สคริปต์ PowerShell อัตโนมัติ (ไม่บังคับ) ได้

  1. ติดตั้ง Azure CLI: หากต้องการเริ่มต้น ให้ติดตั้ง Azure CLI สําหรับ Windows
  2. ใช้สคริปต์ CreateDevAADApp.ps1: เรียกใช้ สคริปต์ CreateDevAADApp คุณจะได้รับพร้อมท์ให้ลงชื่อเข้าใช้โดยใช้ข้อมูลประจําตัวของบัญชีผู้ใช้ที่คุณต้องการสร้างแอปพลิเคชัน
  3. ใส่ข้อมูลที่จําเป็น: เมื่อได้รับพร้อมท์ ใส่ชื่อที่จะใช้สําหรับแอปพลิเคชันของคุณ ชื่อปริมาณงาน (ขึ้นต้นด้วย Org.) และรหัสผู้เช่าของคุณ

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

การใช้งานตัวอย่าง

ในการสร้างแอปพลิเคชันที่มีชื่อว่า myWorkloadApp ที่มีชื่อปริมาณงาน Org.Myworkload สําหรับผู้เช่าที่ระบุ ให้เรียกใช้คําสั่งต่อไปนี้ใน PowerShell:

powershell .\CreateDevAADApp.ps1 -applicationName "myWorkloadApp" -workloadName "Org.Myworkload" -tenantId "bbbbcccc-1111-dddd-2222-eeee3333ffff"

ตัวอย่างนี้สาธิตวิธีการใช้ สคริปต์ CreateDevAADApp.ps1 ด้วยอาร์กิวเมนต์บรรทัดคําสั่งเพื่อทําให้กระบวนการตั้งค่าแอปพลิเคชันเป็นแบบอัตโนมัติ รหัสผู้เช่าที่ระบุเป็นตัวอย่างเท่านั้น แทนที่รหัสผู้เช่าตัวอย่างด้วยรหัสผู้เช่าจริงของคุณ

กําหนดค่าปริมาณงานของคุณ (Backend)

  1. ในตัวอย่าง Backend ไปที่ ไฟล์ src/appsettings.json ใน ที่เก็บ และกําหนดค่าการตั้งค่า:

  2. กําหนดค่าไฟล์ workloadManifest.xml ในที่เก็บ ไปที่ไฟล์ src/Packages/manifest/files/WorkloadManifest.xml ภายใต้ AADAppกําหนดค่า AppId, redirectUriและ ResourceId (ID URI)

<AADApp>
    <AppId>YourApplicationId</AppId>
    <RedirectUri>YourRedirectUri</RedirectUri>
    <ResourceId>YourResourceId</ResourceId>
</AADApp>

กําหนดค่ารายการเฉพาะที่ของปริมาณงาน

หมายเหตุ

ขั้นตอนนี้ใช้ได้เฉพาะในสถานการณ์โหมดนักพัฒนาเท่านั้น

หลังจากกําหนดค่าแอปพลิเคชันแล้ว ให้อัปเดตการกําหนดค่าต่อไปนี้ใน ไฟล์การกําหนดค่า .env.dev ที่อยู่ใน โฟลเดอร์ Frontend:

"DEV_AAD_CONFIG_AUDIENCE": "", // The ID URI configured in your application for a developer scenario

"DEV_AAD_CONFIG_REDIRECT_URI": "http://localhost:60006/close", // Or the path you configured in index.ts

"DEV_AAD_CONFIG_APPID": "" // Your app ID

สกรีนช็อตที่แสดงการกําหนดค่าไฟล์ .env.dev