หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
หมายเหตุ
คุณลักษณะการแสดงตัวอย่างไม่ได้มีไว้สำหรับการนำไปใช้งานจริง และอาจมีการจำกัดฟังก์ชันการทำงาน คุณลักษณะเหล่านี้สามารถใช้ได้ก่อนการเปิดตัวอย่างเป็นทางการ เพื่อให้ลูกค้าสามารถเข้าใช้งานได้ก่อนเวลาและให้ข้อคิดเห็น
คู่มือนี้ให้คำแนะนำทีละขั้นตอนสำหรับการตั้งค่าการตรวจสอบสิทธิ์ใน Test Engine หากต้องการดูภาพรวมอย่างรวดเร็วของตัวเลือกการตรวจสอบสิทธิ์ โปรดดูที่ การตรวจสอบสิทธิ์ในเครื่องมือทดสอบ
การเริ่มต้นใช้งานการตรวจสอบสิทธิ์
Test Engine รองรับวิธีการตรวจสอบสิทธิ์สองวิธีสำหรับการทดสอบบนเว็บสำหรับแอปพลิเคชันแบบแคนวาสและแบบโมเดล:
- StorageState - การตั้งค่าเริ่มต้นที่ง่ายสำหรับการพัฒนารายบุคคล (สำหรับการทดสอบแอปแบบแคนวาสบนเว็บและแบบขับเคลื่อนด้วยโมเดล)
- Dataverse - แนวทางแบบทีมสำหรับการแบ่งปันผู้ใช้ทดสอบและ CI/CD (สำหรับการทดสอบแอปแบบแคนวาสบนเว็บและแบบขับเคลื่อนด้วยโมเดล)
การตรวจสอบสิทธิ์จะได้รับการจัดการแตกต่างกันสำหรับผู้ให้บริการ PowerFx และการทดสอบโดยตรง Dataverse การทดสอบเหล่านี้จะได้รับโทเค็นการเข้าถึงโดยตรงจากเซสชัน Azure CLI ที่คุณเข้าสู่ระบบโดยใช้คำสั่ง az เพื่อรับโทเค็นการเข้าถึงทรัพยากร ตรวจสอบให้แน่ใจว่าคุณได้เข้าสู่ระบบด้วย az login --allow-no-subscriptions ก่อนที่จะรันการทดสอบประเภทนี้
การตั้งค่าด่วน: การตรวจสอบสิทธิ์ StorageState
การตรวจสอบสิทธิ์ StorageState เป็นวิธีที่ง่ายที่สุดในการเริ่มต้น ใช้ Windows Data Protection API เพื่อจัดเก็บโทเค็นการตรวจสอบสิทธิ์อย่างปลอดภัยบนเครื่องของคุณ
ขั้นตอนที่ 1: เรียกใช้การทดสอบของคุณด้วยการตรวจสอบสิทธิ์เริ่มต้น
เรียกใช้คำสั่ง PowerShell ต่อไปนี้โดยแทนที่พารามิเตอร์ที่เริ่มต้นด้วย your
pac test run `
--provider canvas `
--test-plan-file your-test-plan.yaml `
--tenant your-tenant-id `
--environment-id your-environment-id
หมายเหตุ
พารามิเตอร์ การรันการทดสอบ pac--user-auth ไม่ถูกใช้ในตัวอย่างนี้ เนื่องจากผู้ให้บริการเริ่มต้นคือ StorageState คุณสามารถรวมไว้ได้หากคุณต้องการ
ขั้นตอนที่ 2: กรอกข้อมูลการลงชื่อเข้าใช้แบบโต้ตอบ
ป้อนข้อมูลประจำตัวบัญชีผู้ใช้ทดสอบของคุณ
- หน้าต่างเบราว์เซอร์จะเปิดโดยอัตโนมัติ
- เข้าสู่ระบบด้วยบัญชีผู้ใช้ทดสอบของคุณ
- หากได้รับแจ้ง ให้อนุมัติ MFA และแจ้งเตือนความยินยอม
- เลือก "อยู่ในระบบต่อไป" เมื่อได้รับแจ้ง
การยืนยันตัวตนของคุณได้รับการบันทึกแล้ว
- Test Engine จัดเก็บการตรวจสอบสิทธิ์ของคุณอย่างปลอดภัย
- การทดสอบในอนาคตจะใช้สถานะที่บันทึกไว้โดยไม่ต้องลงชื่อเข้าใช้
- โทเค็นจะรีเฟรชโดยอัตโนมัติเมื่อจำเป็น
การตั้งค่าทีม: Dataverse การตรวจสอบสิทธิ์
Dataverse การตรวจสอบสิทธิ์เหมาะอย่างยิ่งสำหรับทีมงานและขั้นตอน CI/CD จัดเก็บสถานะผู้ใช้ที่ผ่านการตรวจสอบรับรองอย่างปลอดภัยใน Dataverse เข้ารหัสด้วยใบรับรอง X.509
ขั้นตอนที่ 1: ดาวน์โหลดและนำเข้าโซลูชัน Test Engine
- ดาวน์โหลด Power Platform โซลูชันจาก https://aka.ms/TestEngineAuth
- ลงชื่อเข้าใช้ Power Apps
- เลือกสภาพแวดล้อมเป้าหมายของคุณ
- ไปที่ โซลูชัน และเลือก นำเข้าโซลูชัน
- ทำตามตัวช่วยเพื่ออัปโหลดและติดตั้งโซลูชัน Test Engine
ขั้นตอนที่ 2: สร้างใบรับรองสำหรับการเข้ารหัส
สำหรับใบรับรองที่ลงนามด้วยตนเอง (เฉพาะการพัฒนา) ให้เรียกใช้สคริปต์ PowerShell ต่อไปนี้:
$Params = @{
DnsName = @("testengine", "testengine")
CertStoreLocation = "Cert:\CurrentUser\My"
NotAfter = (Get-Date).AddMonths(6)
KeyAlgorithm = "RSA"
KeyLength = 2048
}
New-SelfSignedCertificate @Params
สำหรับการผลิต ให้ใช้ใบรับรองจากผู้มีอำนาจออกใบรับรองขององค์กรของคุณ
ขั้นตอนที่ 3: ตั้งค่าผู้ใช้ทดสอบของคุณ
ดำเนินการตามขั้นตอนต่อไปนี้เพื่อตั้งค่าผู้ใช้ทดสอบของคุณ:
เปิดเทอร์มินัลของคุณและออกจากเซสชันที่มีอยู่ทั้งหมด:
# Clear Power Platform CLI credentials pac auth clear # Clear Azure CLI credentials az logoutเข้าสู่ระบบด้วย Azure CLI (จำเป็นสำหรับการตรวจสอบสิทธิ์): Dataverse
az login --allow-no-subscriptionsตั้งชื่อใบรับรองของคุณเป็น ตัวแปรสภาพแวดล้อม PowerShell named
DataProtectionCertificateName:$env:DataProtectionCertificateName = "CN=testengine"เรียกใช้การทดสอบของคุณด้วย Dataverse การตรวจสอบสิทธิ์:
pac test run ` --provider canvas ` --user-auth Dataverse ` --auth Certstore ` --test-plan-file testplan.yaml ` --tenant your-tenant-id ` --environment-id your-environment-idหมายเหตุ
ไม่เหมือน StorageState ในกรณีนี้ คุณต้องใช้พารามิเตอร์
--user-authที่มีค่าเป็นDataverseกรอกแบบฟอร์มลงชื่อเข้าใช้แบบโต้ตอบเมื่อได้รับแจ้ง
การตั้งค่าหลักการบริการ (สำหรับ CI/CD)
สำหรับการทดสอบอัตโนมัติใน CI/CD pipeline คุณสามารถใช้หลักการบริการแทนบัญชีผู้ใช้แบบโต้ตอบได้
ขั้นตอนที่ 1: สร้างการลงทะเบียนแอปพลิเคชันใน Microsoft Entra ID
ดำเนินการตามขั้นตอนต่อไปนี้เพื่อสร้างการลงทะเบียนแอปพลิเคชันใน Microsoft Entra ID
- เข้าสู่ระบบ Microsoft Entra ศูนย์ผู้ดูแลระบบ
- ไปที่ แอปพลิเคชัน>การลงทะเบียนแอป
- เลือก ลงทะเบียนใหม่
- ป้อนชื่อ (ตัวอย่างเช่น "Test Engine Automation")
- คงตัวเลือกเริ่มต้นไว้และเลือก ลงทะเบียน
- หลังจากสร้างแล้ว ให้จดบันทึก ID แอปพลิเคชัน (ไคลเอนต์) และ ID ไดเรกทอรี (ผู้เช่า)
ขั้นตอนที่ 2: กำหนดค่าการอนุญาต API สำหรับ Dataverse
ดำเนินการตามขั้นตอนต่อไปนี้เพื่อกำหนดค่าสิทธิ์การใช้งาน API Dataverse
- ในการลงทะเบียนแอปพลิเคชันของคุณ ให้ไปที่ การอนุญาต API
- เลือก เพิ่มสิทธิ์
- เลือก API ที่องค์กรของฉันใช้
- ค้นหาและเลือก Dataverse
- เลือก สิทธิ์ที่มอบหมาย
- ตรวจสอบ การเลียนแบบผู้ใช้
- เลือก เพิ่มสิทธิ์
- เลือก ให้ความยินยอมแก่ผู้ดูแลระบบ
ขั้นตอนที่ 3: สร้างความลับของไคลเอนต์
ดำเนินการตามขั้นตอนต่อไปนี้เพื่อสร้างความลับของไคลเอนต์
- ไปที่ ใบรับรองและความลับ
- เลือก ความลับไคลเอนต์ใหม่
- เพิ่มคำอธิบายและเลือกวันหมดอายุ
- คัดลอกความลับ ค่า ทันที (คุณจะไม่สามารถดูมันอีกครั้งได้)
ขั้นตอนที่ 4: เพิ่มผู้ใช้แอปพลิเคชันลงใน Dataverse
ดำเนินการตามขั้นตอนต่อไปนี้เพื่อเพิ่มผู้ใช้แอปพลิเคชันลงใน Dataverse
- เปิด Power Platform ศูนย์ผู้ดูแลระบบ
- เลือกสภาพแวดล้อมของคุณ
- ไปที่ การตั้งค่า>ผู้ใช้ + สิทธิ์>ผู้ใช้แอปพลิเคชัน
- เลือก + ผู้ใช้แอปใหม่
- ค้นหาและเลือกแอปพลิเคชันของคุณ
- กำหนดบทบาทหน่วยธุรกิจและความปลอดภัยที่เหมาะสม (รวมถึงบทบาท "ผู้ใช้เครื่องมือทดสอบ")
- บันทึกการเปลี่ยนแปลง
ขั้นตอนที่ 5: กำหนดค่าไปป์ไลน์ CI/CD ของคุณ
เพิ่มตัวแปรเหล่านี้ลงในไปป์ไลน์ของคุณ:
AZURE_CLIENT_ID: (your application ID)
AZURE_CLIENT_SECRET: (your client secret)
AZURE_TENANT_ID: (your tenant ID)
DataProtectionCertificateValue: (base64 encoded certificate)
ENVIRONMENT_URL: (your Dataverse environment URL)
สำหรับ Azure DevOps ให้จัดเก็บข้อมูลเหล่านี้อย่างปลอดภัยใน กลุ่มตัวแปร โดยมีสิทธิ์อนุญาตที่เหมาะสม
PowerFx และการตรวจสอบสิทธิ์การทดสอบโดยตรง Dataverse
สำหรับการทดสอบผู้ให้บริการ PowerFx และการทดสอบโดยตรง การตรวจสอบสิทธิ์จะทำงานแตกต่างจากการทดสอบบนเว็บ Dataverse
การทำงานของการตรวจสอบสิทธิ์ PowerFx/Dataverse
- Test Engine ใช้ Azure CLI เพื่อรับโทเค็นการเข้าถึงเฉพาะทรัพยากร
- โทเค็นนี้ใช้เพื่อตรวจสอบสิทธิ์โดยตรงกับ Dataverse API
- ไม่จำเป็นต้องมีการตรวจสอบผ่านเบราว์เซอร์หรือเว็บ
การตั้งค่า PowerFx/Dataverse การตรวจสอบสิทธิ์
ตรวจสอบให้แน่ใจว่าได้ติดตั้ง Azure CLI และอัปเดตเป็นเวอร์ชันล่าสุดแล้ว:
winget install -e --id Microsoft.AzureCLI # Or update it if already installed az upgradeเข้าสู่ระบบด้วย Azure CLI:
# The --allow-no-subscriptions flag is important as you may not have Azure subscriptions az login --allow-no-subscriptionsดำเนินการทดสอบของคุณกับผู้ให้บริการ PowerFx:
pac test run ` --provider powerfx ` --test-plan-file testplan.yaml ` --tenant your-tenant-id ` --environment-id your-environment-id ` --domain "https://your-environment.crm.dynamics.com"
การแก้ไขปัญหาการตรวจสอบสิทธิ์
ส่วนนี้ประกอบด้วยข้อมูลเกี่ยวกับการแก้ไขปัญหาการตรวจสอบสิทธิ์ด้วย Test Engine
ปัญหาทั่วไปเกี่ยวกับ StorageState
ปัญหา: ข้อความแจ้งเตือนการตรวจสอบสิทธิ์ปรากฏขึ้นทุกครั้งที่ทำงาน
- วิธีแก้ปัญหา: ตรวจสอบว่าคุณเลือก คงสถานะการเข้าสู่ระบบ ในระหว่างการเข้าสู่ระบบหรือไม่
ปัญหา:
Cannot access secure storageข้อผิดพลาด- โซลูชัน: ตรวจสอบให้แน่ใจว่าคุณมีสิทธิ์เข้าถึงโฟลเดอร์โปรไฟล์ผู้ใช้ของคุณอย่างเหมาะสม
ปัญหาทั่วไปเกี่ยวกับการตรวจสอบสิทธิ์ Dataverse
ปัญหา:
Certificate not foundข้อผิดพลาด- โซลูชัน: ตรวจสอบว่าชื่อใบรับรองตรงกับสิ่งที่อยู่ในที่เก็บใบรับรองของคุณ
ปัญหา:
Unable to connect to Dataverseข้อผิดพลาด-
โซลูชัน: ตรวจสอบว่า Azure CLI ได้เข้าสู่ระบบด้วย
az login --allow-no-subscriptions
-
โซลูชัน: ตรวจสอบว่า Azure CLI ได้เข้าสู่ระบบด้วย
ปัญหา:
Access deniedข้อผิดพลาดกับผู้รับผิดชอบบริการ- โซลูชัน: ตรวจสอบว่าแอปมีสิทธิ์ที่ถูกต้องใน Dataverse และมีบทบาทความปลอดภัยที่เหมาะสม
ปัญหาทั่วไปเกี่ยวกับ PowerFx/การตรวจสอบสิทธิ์Dataverse
ปัญหา:
Unable to obtain access tokenข้อผิดพลาด-
โซลูชัน: ตรวจสอบว่าคุณได้เข้าสู่ระบบด้วย Azure CLI โดยใช้
az account get-access-token
-
โซลูชัน: ตรวจสอบว่าคุณได้เข้าสู่ระบบด้วย Azure CLI โดยใช้
ปัญหา:
Access deniedถึง Dataverse- โซลูชัน: ตรวจสอบให้แน่ใจว่าผู้ใช้ที่เข้าสู่ระบบของคุณมีสิทธิ์ที่เหมาะสมในสภาพแวดล้อม Dataverse
ปัญหา: โทเค็นหมดอายุระหว่างการทดสอบระยะยาว
- โซลูชัน: ใช้หลักการบริการที่มีวันหมดอายุโทเค็นที่ยาวนานขึ้นหรือจัดการการตรวจสอบสิทธิ์ซ้ำในขั้นตอนการทดสอบ
บทความที่เกี่ยวข้อง
สถาปัตยกรรมความปลอดภัยในการรับรองความถูกต้อง
ทดสอบแอปพลิเคชันแคนวาส
ทดสอบแอปพลิเคชันที่ขับเคลื่อนด้วยโมเดล
ทดสอบส่วนขยาย Dataverse