หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
บริการหลักเปิดใช้งานการรับรองความถูกต้องแบบไม่โต้ตอบและผ่านโปรแกรมไปยัง Fabric API สําหรับ GraphQL ซึ่งแตกต่างจากผู้ใช้หลักที่ต้องการให้บุคคลอื่นลงชื่อเข้าใช้แบบโต้ตอบ บริการหลักใช้ข้อมูลประจําตัวของแอปพลิเคชัน (รหัสไคลเอ็นต์และข้อมูลลับ) เพื่อรับรองความถูกต้องโดยอัตโนมัติ ทําให้เหมาะสําหรับบริการแบ็กเอนด์ เวิร์กโฟลว์อัตโนมัติ ไปป์ไลน์ CI/CD และแอปพลิเคชันใดๆ ที่ทํางานโดยไม่มีการโต้ตอบกับผู้ใช้
คู่มือนี้จะแนะนําคุณตลอดการสร้างการลงทะเบียนแอป Microsoft Entra กําหนดค่าเป็นบริการหลัก และให้สิทธิ์การเข้าถึง Fabric GraphQL API ของคุณ คุณจะได้เรียนรู้วิธีรับข้อมูลประจําตัวที่จําเป็นสําหรับการตรวจสอบสิทธิ์และทดสอบการตั้งค่าของคุณด้วยโค้ดตัวอย่าง
เคล็ดลับ
ต้องการดูการทํางานของบริการหลักหรือไม่? หลังจากเสร็จสิ้นการตั้งค่านี้ ให้ลองใช้บทช่วยสอน เชื่อมต่อ AI Agents กับ Fabric API สําหรับ GraphQL กับเซิร์ฟเวอร์ Model Context Protocol (MCP) ในเครื่อง สาธิตวิธีใช้การรับรองความถูกต้องของบริการหลักเพื่อเปิดใช้งานตัวแทน AI เช่น GitHub Copilot เพื่อสืบค้นข้อมูล Fabric ของคุณโดยใช้ภาษาธรรมชาติ
ใครใช้บริการหลัก
การรับรองความถูกต้องของบริการหลักได้รับการออกแบบมาสําหรับ:
- วิศวกรข้อมูลที่ สร้างกระบวนการ ETL อัตโนมัติและการดําเนินการข้อมูลตามกําหนดเวลาที่เข้าถึงเลคเฮาส์และคลังสินค้าของ Fabric
- นักพัฒนาแบ็กเอนด์ที่ สร้างแอปพลิเคชันแบบเซิร์ฟเวอร์ต่อเซิร์ฟเวอร์ที่ใช้ข้อมูล Fabric โดยทางโปรแกรม
- ผู้ดูแลระบบพื้นที่ทํางานแบบ Fabric ที่ตั้งค่าบริการแบบอัตโนมัติและกระบวนการเบื้องหลังสําหรับการเข้าถึงข้อมูล
- วิศวกร DevOps ที่ใช้ไปป์ไลน์ CI/CD ที่โต้ตอบกับแหล่งข้อมูล Fabric
- นักพัฒนาการผสานรวม ที่สร้างเวิร์กโฟลว์อัตโนมัติที่ต้องมีการเข้าถึงข้อมูล Fabric แบบไม่โต้ตอบ
Note
สําหรับแอปพลิเคชันแบบโต้ตอบที่ใช้หลักของผู้ใช้ (เช่น React หรือเว็บแอป) โปรดดู เชื่อมต่อแอปพลิเคชันกับ Fabric API สําหรับ GraphQL แทน คู่มือนี้มุ่งเน้นไปที่การรับรองความถูกต้องของบริการหลัก (ไม่โต้ตอบ)
ข้อกําหนดเบื้องต้น
ก่อนตั้งค่าการรับรองความถูกต้องของบริการหลัก ให้แน่ใจว่าคุณมี:
- พื้นที่ทํางาน Microsoft Fabric ที่มีสิทธิ์ของผู้ดูแลระบบ
- API ที่มีอยู่สําหรับ GraphQL ในพื้นที่ทํางานของคุณ ดู สร้าง API สําหรับ GraphQL ใน Fabric และเพิ่มข้อมูล
- สิทธิ์ในการสร้างการลงทะเบียนแอปใน Microsoft Entra ID
- การเข้าถึงของผู้ดูแลระบบผู้เช่าเพื่อเปิดใช้งานการตั้งค่าบริการหลักใน Fabric (หรือขอให้ผู้ดูแลระบบของคุณเปิดใช้งานสิ่งนี้)
ขั้นตอนที่ 1: สร้างการลงทะเบียนแอป Microsoft Entra
ทําตามคําแนะนําฉบับสมบูรณ์ที่ ลงทะเบียนแอป Microsoft Entra และสร้างบริการหลัก เพื่อสร้างการลงทะเบียนแอปของคุณ
ประเด็นสําคัญสําหรับบริการหลัก:
- ข้าม URI การเปลี่ยนเส้นทางและแพลตฟอร์มการรับรองความถูกต้อง (จําเป็นสําหรับแอปแบบโต้ตอบเท่านั้น)
- ข้าม สิทธิ์และขอบเขตของ API (บริการหลักไม่ใช้สิทธิ์ที่ได้รับมอบหมาย)
- สร้าง ข้อมูลลับของไคลเอ็นต์ภายใต้ใบรับรอง และความลับที่มี ระยะเวลาหมดอายุที่เหมาะสม
สําคัญ
บันทึกค่าทั้งสามนี้ระหว่างการตั้งค่า:
- รหัสผู้เช่า: พบใน Microsoft Entra ID ภายใต้รหัสผู้เช่าภาพรวม>
- รหัสไคลเอ็นต์: พบในการลงทะเบียนแอปของคุณภายใต้ภาพ รวม>รหัสแอปพลิเคชัน (ไคลเอ็นต์)
- ข้อมูลลับของไคลเอ็นต์: ค่าข้อมูลลับที่แสดงเมื่อคุณสร้างข้อมูลลับของไคลเอ็นต์ใหม่ คัดลอกทันที โดยจะแสดงเพียงครั้งเดียว
ขั้นตอนที่ 2: เปิดใช้งานบริการหลักในการตั้งค่าผู้เช่าแฟบริค
ผู้ดูแลระบบผู้เช่า Fabric ต้องเปิดใช้งานการใช้งานบริการหลัก:
- ในพอร์ทัลแฟบริก ไปที่การตั้งค่าผู้เช่าพอร์ทัล>ผู้ดูแลระบบ
- ภายใต้การตั้งค่านักพัฒนา ให้เปิดใช้งานบริการหลักสามารถใช้ Fabric API ได้
- เลือก ใช้
การตั้งค่านี้ทําให้การลงทะเบียนแอปของคุณปรากฏใน Fabric สําหรับการกําหนดสิทธิ์ สําหรับข้อมูลเพิ่มเติม โปรดดู การสนับสนุนข้อมูลประจําตัว
ขั้นตอนที่ 3: ให้สิทธิ์ใน Fabric
บริการหลักของคุณต้องการการเข้าถึงสองระดับ:
ตัวเลือก A: สิทธิ์ API แต่ละรายการ (แนะนําสําหรับการผลิต)
- ในพอร์ทัล Fabric ให้เปิดพื้นที่ทํางานที่มี GraphQL API ของคุณ
- เลือกจุดไข่ปลา (...) ถัดจากรายการ API ของคุณ
- เลือก จัดการสิทธิ์
- เลือก เพิ่มผู้ใช้
- ค้นหาและเลือกชื่อการลงทะเบียนแอปของคุณ
- เลือก เรียกใช้แบบสอบถามและการกลายพันธุ์ (ให้สิทธิ์ดําเนินการ)
- เลือก Grant
นอกจากนี้ ตรวจสอบให้แน่ใจว่าบริการหลักมีสิทธิ์อ่าน/เขียนที่เหมาะสมกับแหล่งข้อมูลต้นแบบ (Lakehouse, Data Warehouse หรือฐานข้อมูล SQL)
ตัวเลือก B: บทบาทพื้นที่ทํางาน (ง่ายกว่าสําหรับการพัฒนา/ทดสอบ)
เพิ่มการลงทะเบียนแอปของคุณเป็นสมาชิกพื้นที่ทํางานด้วยบทบาท ผู้สนับสนุน สิ่งนี้ให้สิทธิ์การเข้าถึงทั้ง GraphQL API และแหล่งข้อมูลทั้งหมดในพื้นที่ทํางาน
- ในพอร์ทัล Fabric ให้เปิดพื้นที่ทํางานของคุณ
- เลือก จัดการการเข้าถึง
- เลือก เพิ่มบุคคลหรือกลุ่ม
- ค้นหาชื่อการลงทะเบียนแอป
- เลือกบทบาท ผู้สนับสนุน
- เลือก เพิ่ม
Note
คุณไม่ได้กําหนดบทบาท Azure ให้กับการลงทะเบียนแอปของคุณใน Microsoft Entra ID สําหรับสถานการณ์นี้ สิทธิ์ทั้งหมดได้รับการจัดการภายใน Fabric ผ่านสิทธิ์ API หรือบทบาทพื้นที่ทํางาน
ทดสอบการรับรองความถูกต้องของบริการหลักของคุณ
เมื่อกําหนดค่าแล้ว ให้ทดสอบบริการหลักของคุณโดยดึงโทเค็นเพื่อการเข้าถึงและเรียกใช้ GraphQL API ของคุณ
รับโทเค็นเพื่อการเข้าถึงด้วย Node.js
ติดตั้ง @azure/identity แพ็คเกจ:
npm install @azure/identity
สร้างไฟล์เพื่อดึงโทเค็นเพื่อการเข้าถึงของคุณ:
const { ClientSecretCredential } = require('@azure/identity');
// Define your Microsoft Entra ID credentials
const tenantId = "<YOUR_TENANT_ID>";
const clientId = "<YOUR_CLIENT_ID>";
const clientSecret = "<YOUR_CLIENT_SECRET>"; // Service principal secret value
const scope = "https://api.fabric.microsoft.com/.default"; // The scope of the token to access Fabric
// Create a credential object with service principal details
const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
// Function to retrieve the token
async function getToken() {
try {
// Get the token for the specified scope
const tokenResponse = await credential.getToken(scope);
console.log("Access Token:", tokenResponse.token);
} catch (err) {
console.error("Error retrieving token:", err.message);
}
}
บันทึกไฟล์และเรียกใช้:
node getToken.js
การดําเนินการนี้จะดึงโทเค็นการเข้าถึงจาก Microsoft Entra ID
เรียก GraphQL API ของคุณด้วย PowerShell
ใช้โทเค็นเพื่อสืบค้น GraphQL API ของคุณ:
$headers = @{
Authorization = "Bearer <YOUR_TOKEN>"
'Content-Type' = 'application/json'
}
$body = @{
query = @"
<YOUR_GRAPHQL_QUERY>
"@
}
# Make the POST request to the GraphQL API
$response = Invoke-RestMethod -Uri "<YOUR_GRAPHQL_API_ENDPOINT>" -Method POST -Headers $headers -Body ($body | ConvertTo-Json)
# Output the response
$response | ConvertTo-Json -Depth 10
เรียก GraphQL API ของคุณด้วย cURL
ใช้ cURL เพื่อสืบค้น API ของคุณ:
curl -X POST <YOUR_GRAPHQL_API_ENDPOINT> \
-H "Authorization: <YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"query": "<YOUR_GRAPHQL_QUERY(in a single line)>"}'
ตัวอย่าง Node.js ที่สมบูรณ์ (โทเค็น + การเรียก API)
ติดตั้งการพึ่งพา:
npm install @azure/identity axios
สร้างตัวอย่างที่สมบูรณ์ซึ่งดึงโทเค็นและเรียกใช้ API ของคุณ:
const { ClientSecretCredential } = require('@azure/identity');
const axios = require('axios');
// Microsoft Entra ID credentials
const tenantId = "<YOUR_TENANT_ID>";
const clientId = "<YOUR_CLIENT_ID>";
const clientSecret = "<YOUR_CLIENT_SECRET>"; // Service principal secret value
// GraphQL API details
const graphqlApiUrl = "YOUR_GRAPHQL_API_ENDPOINT>";
const scope = "https://api.fabric.microsoft.com/.default"; // The scope to request the token for
// The GraphQL query
const graphqlQuery = {
query: `
<YOUR_GRAPHQL_QUERY>
`
};
// Function to retrieve a token and call the GraphQL API
async function fetchGraphQLData() {
try {
// Step 1: Retrieve token using the ClientSecretCredential
const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const tokenResponse = await credential.getToken(scope);
const accessToken = tokenResponse.token;
console.log("Access token retrieved!");
// Step 2: Use the token to make a POST request to the GraphQL API
const response = await axios.post(
graphqlApiUrl,
graphqlQuery,
{
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
}
}
);
// Step 3: Output the GraphQL response data
console.log("GraphQL API response:", JSON.stringify(response.data));
} catch (err) {
console.error("Error:", err.message);
}
}
// Execute the function
fetchGraphQLData();
บันทึกและเรียกใช้:
node callGraphQL.js
การแก้ไขปัญหา
การลงทะเบียนแอปไม่ปรากฏใน Fabric
- ตรวจสอบว่า บริการหลักสามารถใช้ Fabric API ได้เปิดใช้งานในการตั้งค่าผู้เช่า
- รอสักครู่หลังจากเปิดใช้งานการตั้งค่าเพื่อให้การเปลี่ยนแปลงเผยแพร่
ข้อผิดพลาดในการรับรองความถูกต้อง
- ยืนยันว่ารหัสผู้เช่า รหัสไคลเอ็นต์ และข้อมูลลับไคลเอ็นต์ของคุณถูกต้อง
- ตรวจสอบว่าข้อมูลลับของไคลเอ็นต์ยังไม่หมดอายุ
- ตรวจสอบให้แน่ใจว่าคุณกําลังใช้ขอบเขต
https://api.fabric.microsoft.com/.default
ข้อผิดพลาดในการอนุญาต
- ตรวจสอบว่าบริการหลักมีสิทธิ์ดําเนินการบน GraphQL API
- ตรวจสอบว่าบริการหลักมีสิทธิ์อ่าน/เขียนแหล่งข้อมูลต้นแบบ
- ยืนยันบทบาทพื้นที่ทํางานเป็นผู้สนับสนุนหรือสูงกว่าหากใช้สิทธิ์ระดับพื้นที่ทํางาน