Бөлісу құралы:


Power Apps Тест механизмі үшін аутентификация нұсқаулығы (алдын ала қарау)

Ескертпе

Алдын ала қарау мүмкіндіктері өндірісті пайдалану үшін арналмаған және функционалдық шектеулі болуы мүмкін. Бұл мүмкіндіктер ресми жарияланудан бұрын қолжетімді, сондықтан тұтынушылар ерте қатынаса алады және кері байланыс бере алады.

Бұл нұсқаулық сынақ механизмінде аутентификацияны орнату бойынша қадамдық нұсқауларды береді. Аутентификация опцияларын жылдам шолу үшін Тест механизміндегі аутентификацияны қараңыз.

Аутентификацияны бастау

Test Engine кенеп пен үлгіге негізделген қолданбаларға арналған веб-негізделген сынақтар үшін екі аутентификация әдісін қолдайды:

  • StorageState - Әдепкі, жеке әзірлеуге оңай орнату (веб-негізіндегі кенеп және модельге негізделген қолданба сынақтары үшін)
  • Dataverse - Сынақ пайдаланушылары мен CI/CD бөлісуге арналған командалық тәсіл (веб негізіндегі кенеп және модельге негізделген қолданба сынақтары үшін)

Аутентификация PowerFx провайдері мен тікелей Dataverse сынаулары үшін басқаша өңделеді. Бұл сынақтар ресурсқа қатынасу таңбалауыштарын алу үшін az пәрмендерін пайдаланып кірген Azure CLI сеансынан тікелей қатынас белгілерін алады. Осы сынақ түрлерін іске қоспас бұрын az login --allow-no-subscriptions жүйеге кіргеніңізге көз жеткізіңіз.

Жылдам орнату: StorageState аутентификациясы

StorageState аутентификациясы - бастаудың ең қарапайым жолы. Ол жергілікті компьютерде аутентификация таңбалауыштарын қауіпсіз сақтау үшін Windows Data Protection API пайдаланады.

1-қадам: Әдепкі аутентификациямен сынақты іске қосыңыз

yourдеп басталатын параметрлерді ауыстыратын келесі PowerShell пәрменін іске қосыңыз.

pac test run `
   --provider canvas `
   --test-plan-file your-test-plan.yaml `
   --tenant your-tenant-id `
   --environment-id your-environment-id

Ескертпе

pac test run--user-auth параметрі бұл мысалда пайдаланылмаған, себебі әдепкі провайдер StorageState болып табылады. Қаласаңыз, оны қосуға болады.

2-қадам: интерактивті жүйеге кіруді аяқтаңыз

Сынақ пайдаланушы тіркелгісінің тіркелгі деректерін енгізіңіз

  1. Браузер терезесі автоматты түрде ашылады
  2. сынақ пайдаланушы тіркелгісімен кіріңіз
  3. Сұралса, СІМ және келісім сұрауларын бекітіңіз
  4. Сұралған кезде «Жүйеге кіруді жалғастыру» опциясын таңдаңыз

Аутентификацияңыз енді сақталды.

  • Test Engine аутентификацияңызды қауіпсіз сақтайды
  • Болашақ сынақтар жүйеге кіруді қажет етпестен сақталған күйді пайдаланады
  • Токендер қажет болғанда автоматты түрде жаңартылады

Топты орнату: Dataverse аутентификация

Dataverse аутентификация командалар мен CI/CD құбырлары үшін өте қолайлы. Ол X.509 сертификаттарымен шифрланған Dataverse ішінде аутентификацияланған пайдаланушы күйлерін қауіпсіз сақтайды.

1-қадам: Test Engine шешімін жүктеп алыңыз және импорттаңыз

  1. Power Platform шешімді https://aka.ms/TestEngineAuth ішінен жүктеп алыңыз.
  2. Power Apps жүйесіне кіріңіз.
  3. Мақсатты ортаңызды таңдаңыз.
  4. Шешімдер тармағына өтіп, Шешімді импорттау таңдаңыз.
  5. 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-қадам: Сынақ пайдаланушысын орнатыңыз

Сынақ пайдаланушысын орнату үшін келесі қадамдарды орындаңыз:

  1. Терминалды ашыңыз және бар сеанстардан шығыңыз:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Azure CLI арқылы жүйеге кіріңіз ( Dataverse аутентификация үшін қажет):

    az login --allow-no-subscriptions
    
  3. Куәлік атауын PowerShell ортасының айнымалысы аталған DataProtectionCertificateName ретінде орнатыңыз:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Тестті 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 мәнімен пайдалану керек.

  5. Сұралған кезде интерактивті жүйеге кіруді аяқтаңыз.

Қызмет жетекшілерін орнату (CI/CD үшін)

CI/CD құбырларында автоматтандырылған тестілеу үшін интерактивті пайдаланушы тіркелгілерінің орнына қызмет жетекшілерін пайдалануға болады.

1-қадам: Microsoft Entra ID ішінде қолданбаны тіркеуді жасаңыз

Қолданбаны тіркеуді Microsoft Entra ID ішінде жасау үшін келесі қадамдарды орындаңыз.

  1. Microsoft Entra басқару орталығына кіріңіз
  2. Қолданбалар>Қолданбаларды тіркеу тармағына өтіңіз
  3. Жаңа тіркеуді таңдаңыз
  4. Атын енгізіңіз (мысалы, «Тест қозғалтқышының автоматизациясы»)
  5. Әдепкі опцияларды сақтап, Тіркеу опциясын таңдаңыз
  6. Жасалғаннан кейін Қолданба (клиент) идентификаторы және Каталог (жалға алушы) идентификаторына назар аударыңыз

2-қадам: API рұқсаттарын конфигурациялаңыз Dataverse

API рұқсаттарын конфигурациялау үшін келесі қадамдарды орындаңыз Dataverse.

  1. Қолданбаны тіркеуде API рұқсаттары бөліміне өтіңіз
  2. Рұқсат қосу опциясын таңдаңыз
  3. Менің ұйымым пайдаланатын API таңдаңыз
  4. Іздеу және таңдау Dataverse
  5. Өкілетті рұқсаттарды таңдаңыз
  6. пайдаланушы_еліктеуін тексеріңіз
  7. Рұқсаттарды қосу опциясын таңдаңыз
  8. Әкімші келісімін беру опциясын таңдаңыз

3-қадам: Клиент құпиясын жасаңыз

Клиент құпиясын жасау үшін келесі қадамдарды орындаңыз.

  1. Сертификаттар & құпиялар
  2. Жаңа клиент құпиясын таңдаңыз
  3. Сипаттама қосып, жарамдылық мерзімін таңдаңыз
  4. Құпияны Мәнді бірден көшіріңіз (оны қайта көре алмайсыз)

4-қадам: қолданба пайдаланушысын қосыңыз Dataverse

Қолданба пайдаланушысын Dataverse қосу үшін келесі қадамдарды орындаңыз.

  1. Power Platform Басқару орталығын ашыңыз
  2. Ортаны таңдау
  3. Параметрлер>Пайдаланушылар + рұқсаттар>Қолданба пайдаланушылары бөліміне өтіңіз
  4. + Жаңа қолданба пайдаланушысын таңдаңыз
  5. Қолданбаңызды іздеңіз және таңдаңыз
  6. Сәйкес бизнес бірлігін және қауіпсіздік рөлдерін тағайындау («Тест механизмінің пайдаланушысы» рөлін қоса)
  7. Өзгерістерді сақтау

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 аутентификация қалай жұмыс істейді

  1. Сынақ жүйесі ресурсқа арнайы қатынас белгісін алу үшін Azure CLI пайдаланады
  2. Токен тікелей Dataverse API арқылы аутентификация үшін пайдаланылады
  3. Ешқандай браузер немесе веб-негізделген аутентификация тартылмайды

PowerFx/Dataverse аутентификацияны орнату

  1. Azure CLI орнатылған және жаңартылғанына көз жеткізіңіз:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Azure CLI арқылы жүйеге кіріңіз:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. 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 арқылы кіргенін тексеріңіз.
  • Мәселе: Access denied қызмет көрсетушімен қате.

    • Шешім: қолданбаның Dataverse де дұрыс рұқсаттары және сәйкес қауіпсіздік рөлдері бар екенін тексеріңіз.

PowerFx/Dataverse аутентификациясына қатысты жалпы мәселелер

  • Мәселе: Unable to obtain access token қате

    • Шешім: Azure CLI көмегімен жүйеге кіргеніңізді тексеріңіз az account get-access-token
  • Мәселе: Access denied қа Dataverse

    • Шешім: жүйеге кірген пайдаланушының Dataverse ортада сәйкес рұқсаттары бар екеніне көз жеткізіңіз
  • Мәселе: Ұзақ сынақтар кезінде таңбалауыштың жарамдылық мерзімі аяқталады

    • Шешім: таңбалауыштың жарамдылық мерзімі ұзағырақ қызмет көрсету принципін пайдаланыңыз немесе сынақ қадамдарында қайта аутентификацияны өңдеңіз

Аутентификация қауіпсіздік архитектурасы
Сынақ кенеп қосымшалары
Модельге негізделген қолданбаларды сынақтан өткізу
Тест Dataverse кеңейтімдері