Dalintis per


Tikrinimo variklio autentifikavimo vadovas Power Apps (peržiūra)

Pastaba.

Peržiūros funkcijos nėra skirtos naudoti gamybai ir gali būti apribotas jų funkcionalumas. Šias funkcijas galima naudoti prieš oficialų išleidimą, kad klientai galėtų gauti ankstyvą prieigą ir pateikti atsiliepimų.

Šiame vadove pateikiamos nuoseklios instrukcijos, kaip nustatyti autentifikavimą bandomajame variklyje. Trumpą autentifikavimo parinkčių apžvalgą rasite Autentifikavimas bandomajame modulyje.

Darbo su autentifikavimu pradžia

"Test Engine" palaiko du autentifikavimo metodus, skirtus internetiniams drobės ir modelio valdomų programų bandymams:

  • StorageState - Numatytoji, lengva sąranka individualiam kūrimui (žiniatinklio drobės ir modeliu pagrįstų programų testavimui)
  • Dataverse - Komandinis požiūris į dalijimąsi bandomaisiais naudotojais ir CI / CD (žiniatinklio drobėms ir modeliu pagrįstiems programų testams)

"PowerFx" teikėjo ir tiesioginių Dataverse testų autentifikavimas atliekamas skirtingai. Šie testai gauna prieigos atpažinimo ženklus tiesiai iš jūsų prisijungusio "Azure CLI" seanso, naudodami az komandas, kad gautumėte išteklių prieigos žetonus. Prieš atlikdami tokio tipo bandymus įsitikinkite, kad esate prisijungę az login --allow-no-subscriptions .

Greitas nustatymas: StorageState autentifikavimas

StorageState autentifikavimas yra paprasčiausias būdas pradėti. Jis naudoja "Windows" duomenų apsaugos API, kad saugiai saugotų autentifikavimo žetonus jūsų vietiniame kompiuteryje.

1 veiksmas: paleiskite bandymą naudodami numatytąjį autentifikavimą

Vykdykite šią "PowerShell" komandą, pakeisdami parametrus, pradedant nuo your.

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

Pastaba.

Pac bandymo vykdymo--user-auth parametras šiame pavyzdyje nenaudojamas, nes numatytasis teikėjas yra StorageState. Jei norite, galite jį įtraukti.

2 veiksmas: užbaikite interaktyvų prisijungimą

Bandomojo vartotojo abonemento kredencialų įvedimas

  1. Automatiškai atidaromas naršyklės langas
  2. Prisijunkite naudodami savo bandomąją vartotojo paskyrą
  3. Jei būsite paraginti, patvirtinkite MFA ir sutikimo raginimus
  4. Kai būsite paraginti, pasirinkite "Likite prisijungę"

Jūsų autentifikavimas dabar išsaugotas.

  • Bandomasis variklis saugiai saugo jūsų autentifikavimą
  • Būsimi bandomieji važiavimai naudoja įrašytą būseną nereikalaudami prisijungimo
  • Žetonai atnaujinami automatiškai, kai reikia

Komandos sąranka: Dataverse autentifikavimas

Dataverse autentifikavimas puikiai tinka komandoms ir CI / CD vamzdynams. Jis saugiai saugo autentifikuotas vartotojo būsenas Dataverse, užšifruotas X.509 sertifikatais.

1 veiksmas: atsisiųskite ir importuokite "Test Engine" sprendimą

  1. Power Platform Atsisiųskite sprendimą iš https://aka.ms/TestEngineAuth.
  2. Prisijunkite prie Power Apps.
  3. Pasirinkite tikslinę aplinką.
  4. Eikite į Sprendimai ir pasirinkite Importuoti sprendimą.
  5. Vadovaudamiesi vedliu įkelkite ir įdiekite "Test Engine" sprendimą.

2 veiksmas: sukurkite šifravimo sertifikatą

Jei naudojate asmeniškai pasirašytą sertifikatą (tik kūrimo versija), paleiskite šį "PowerShell" scenarijų:

$Params = @{
  DnsName = @("testengine", "testengine")
  CertStoreLocation = "Cert:\CurrentUser\My"
  NotAfter = (Get-Date).AddMonths(6)
  KeyAlgorithm = "RSA"
  KeyLength = 2048
}
New-SelfSignedCertificate @Params

Gamybai naudokite savo įmonės sertifikatų institucijos sertifikatą.

3 veiksmas: nustatykite bandomąjį naudotoją

Norėdami nustatyti bandomąjį naudotoją, atlikite toliau nurodytus veiksmus.

  1. Atidarykite terminalą ir atsijunkite nuo visų esamų seansų:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Prisijunkite naudodami "Azure CLI" Dataverse (būtina autentifikavimui):

    az login --allow-no-subscriptions
    
  3. Nustatykite sertifikato pavadinimą kaip "PowerShell" aplinkos kintamąjį pavadinimu DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Atlikite testą su Dataverse autentifikavimu:

    pac test run `
       --provider canvas `
       --user-auth Dataverse `
       --auth Certstore `
       --test-plan-file testplan.yaml `
       --tenant your-tenant-id `
       --environment-id your-environment-id
    

    Pastaba.

    Skirtingai nuo "StorageState", šiuo atveju turite naudoti parametrą --user-auth , kurio vertė yra Dataverse.

  5. Kai būsite paraginti, užbaikite interaktyvų prisijungimą.

Aptarnavimo vykdytojų nustatymas (CI / CD)

Automatiniam CI / CD srautų testavimui galite naudoti paslaugų vykdytojus, o ne interaktyvius vartotojų abonementus.

1 veiksmas: sukurkite programos registraciją Microsoft Entra ID

Atlikite šiuos veiksmus, kad sukurtumėte paraiškos registraciją Microsoft Entra ID.

  1. Prisijunkite prie Microsoft Entra administravimo centro
  2. Eikite į programų>registracijas
  3. Pasirinkite Nauja registracija
  4. Įveskite pavadinimą (pvz., "Variklio automatikos tikrinimas")
  5. Palikite numatytąsias parinktis ir pasirinkite Registruotis
  6. Sukūrę įsidėmėkite programos (kliento) ID ir katalogo (nuomotojo) ID

2 veiksmas: API teisių konfigūravimas Dataverse

Atlikite šiuos veiksmus, kad sukonfigūruotumėte API leidimus Dataverse.

  1. Registruodamiesi paraišką eikite į API leidimus
  2. Pasirinkite Pridėti leidimą
  3. API, kurias naudoja mano organizacija, pasirinkimas
  4. Ieškokite ir pasirinkite Dataverse
  5. Pasirinkite Įgaliotieji leidimai
  6. Patikrinkite user_impersonation
  7. Pasirinkite Pridėti leidimus
  8. Pasirinkite Suteikti administratoriaus sutikimą

3 veiksmas: sukurkite kliento slaptąjį raktą

Atlikite šiuos veiksmus, kad sukurtumėte kliento slaptąjį raktą.

  1. Eiti į Sertifikatai ir paslaptys
  2. Pasirinkite Naujas kliento slaptasis puslapis
  3. Pridėkite aprašą ir pasirinkite galiojimo pabaigą
  4. Nedelsdami nukopijuokite slaptą reikšmę (daugiau jos nematysite)

4 veiksmas: įtraukite programos vartotoją į Dataverse

Atlikite šiuos veiksmus, kad įtrauktumėte programos vartotoją į " Dataverse".

  1. Administravimo centro atidarymas Power Platform
  2. Pasirinkite savo aplinką
  3. Eikite į "Nustatymai">Vartotojai + leidimai>Programos vartotojai
  4. Pasirinkite + Naujas programos vartotojas
  5. Ieškokite ir pasirinkite savo programą
  6. Priskirkite atitinkamus verslo vieneto ir saugos vaidmenis (įskaitant vaidmenį "Bandomojo variklio vartotojas")
  7. Įrašyti keitimus

5 veiksmas: sukonfigūruokite CI / CD srautą

Įtraukite šiuos kintamuosius į savo srautą:

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 saugiai saugokite juos kintamųjų grupėse su atitinkamais leidimais.

"PowerFx" ir tiesioginis Dataverse bandymo autentifikavimas

"PowerFx" teikėjo testams ir tiesioginiams Dataverse bandymams autentifikavimas veikia kitaip nei žiniatinklio testams.

Kaip veikia "PowerFx" /Dataverse autentifikavimas

  1. Bandymo modulis naudoja "Azure CLI", kad gautų konkretaus ištekliaus prieigos atpažinimo ženklą
  2. Atpažinimo ženklas naudojamas autentifikuoti tiesiogiai naudojant Dataverse API
  3. Nenaudojama jokia naršyklė ar žiniatinklio autentifikavimas

"PowerFx" /Dataverse autentifikavimo nustatymas

  1. Įsitikinkite, kad "Azure CLI" yra įdiegtas ir atnaujintas:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Prisijunkite naudodami "Azure CLI":

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Atlikite testą su "PowerFx" teikėju:

    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"
    

Autentifikavimo trikčių šalinimas

Šiame skyriuje pateikiama informacija apie autentifikavimo naudojant bandomąjį modulį trikčių šalinimą.

Dažniausios "StorageState" problemos

  • Problema: autentifikavimo raginimas pasirodo kiekvieną kartą paleidžiant.

    • Sprendimas: patikrinkite, ar pasirinkote Likti prisijungus .
  • Problema: Cannot access secure storage klaida.

    • Sprendimas: įsitikinkite, kad turite tinkamą prieigą prie savo vartotojo profilio aplanko.

Dažniausios autentifikavimo problemos Dataverse

  • Problema: Certificate not found klaida.

    • Sprendimas: patikrinkite, ar sertifikato pavadinimas tiksliai atitinka tai, kas yra jūsų sertifikatų saugykloje.
  • Problema: Unable to connect to Dataverse klaida.

    • Sprendimas: patikrinkite, ar "Azure CLI" yra prisijungęs naudodamas az login --allow-no-subscriptions.
  • Problema: Access denied klaida su pagrindine tarnyba.

    • Sprendimas: patikrinkite, ar programa turi tinkamus leidimus Dataverse ir atitinkamus saugos vaidmenis.

Dažniausios "PowerFx" /Dataverse autentifikavimo problemos

  • Problema: Unable to obtain access token klaida

    • Sprendimas: patikrinkite, ar esate prisijungę naudodami "Azure CLI", naudodami az account get-access-token
  • Problema: Access denied į Dataverse

    • Sprendimas: įsitikinkite, Dataverse kad prisijungęs vartotojas turi tinkamas teises aplinkoje
  • Problema: žetono galiojimo laikas ilgų bandomųjų važiavimų metu

    • Sprendimas: naudokite pagrindinę tarnybą su ilgesniu prieigos rakto galiojimo laiku arba atlikite pakartotinį autentifikavimą atlikdami bandymo veiksmus

Autentifikavimo saugos architektūra
Bandomosios drobės programos
Bandomosios modeliu pagrįstos programos
Testo Dataverse plėtiniai