Dijeli putem


Vodič za provjeru autentičnosti za Power Apps Test Engine (pretpregled)

Napomena

Značajke pretpregleda nisu namijenjene u proizvodne svrhe i mogu imati ograničene funkcije. Te su značajke dostupne prije službenog izdavanja da bi se klijentima omogućio prijevremeni pristup i slanje povratnih informacija.

Ovaj vodič pruža detaljne upute za postavljanje provjere autentičnosti u Test Engineu. Brzi pregled mogućnosti provjere autentičnosti potražite u odjeljku Provjera autentičnosti u testnom modulu.

Početak provjere autentičnosti

Test Engine podržava dvije metode provjere autentičnosti za web-bazirane testove za aplikacije radnog područja i aplikacije utemeljene na modelu:

  • StorageState - zadano, jednostavno postavljanje za individualni razvoj (za web-bazirano radno područje i testove aplikacija utemeljenih na modelu)
  • Dataverse - Timski pristup za dijeljenje testnih korisnika i CI/CD-a (za web-bazirano platno i testove aplikacija utemeljenih na modelu)

Autentifikacija se drugačije obrađuje za PowerFx pružatelja usluga i izravne Dataverse testove. Ovi testovi dobivaju pristupne tokene izravno iz vaše prijavljene Azure CLI sesije pomoću az naredbi za dobivanje tokena za pristup resursima. Provjerite jeste li prijavljeni prije az login --allow-no-subscriptions pokretanja ovih vrsta testova.

Brzo postavljanje: provjera autentičnosti StorageState

Provjera autentičnosti StorageState najjednostavniji je način za početak. Koristi Windows Data Protection API za sigurno pohranjivanje tokena za provjeru autentičnosti na vašem lokalnom računalu.

1. korak: pokrenite test sa zadanom provjerom autentičnosti

Pokrenite sljedeću naredbu PowerShell zamjenjujući parametre koji počinju s your.

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

Napomena

Parametar pac test run--user-auth ne koristi se u ovom primjeru jer je StorageState zadani davatelj usluga. Možete ga uključiti ako želite.

2. korak: dovršite interaktivnu prijavu

Unesite vjerodajnice testnog korisničkog računa

  1. Prozor preglednika otvara se automatski
  2. Prijavite se sa svojim testnim korisničkim računom
  3. Ako se to od vas zatraži, odobrite MFA i upite za pristanak
  4. Odaberite "Ostanite prijavljeni" kada se to od vas zatraži

Vaša je provjera autentičnosti sada spremljena.

  • Test Engine sigurno pohranjuje vašu autentifikaciju
  • Buduća probna izvođenja koriste spremljeno stanje bez potrebe za prijavom
  • Tokeni se automatski osvježavaju kada je to potrebno

Postavljanje tima: Dataverse provjera autentičnosti

Dataverse provjera autentičnosti savršena je za timove i CI/CD cjevovode. Sigurno pohranjuje autentificirana stanja Dataverse korisnika, šifrirana X.509 certifikatima.

Korak 1: Preuzmite i uvezite rješenje Test Engine

  1. Preuzmite Power Platform rješenje sa. https://aka.ms/TestEngineAuth
  2. Prijavite se u sustav Power Apps.
  3. Odaberite ciljno okruženje.
  4. Idite na Rješenja i odaberite Uvoz rješenja .
  5. Slijedite čarobnjak da biste prenijeli i instalirali rješenje Test Engine.

Korak 2: Stvaranje certifikata za šifriranje

Za samopotpisani certifikat (samo razvoj) pokrenite ovu sljedeću PowerShell skriptu:

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

Za proizvodnju koristite certifikat ustanove za izdavanje certifikata tvrtke.

3. korak: postavite testnog korisnika

Poduzmite sljedeće korake da biste postavili testnog korisnika:

  1. Otvorite terminal i odjavite se iz postojećih sesija:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Prijavite se pomoću Azure CLI-ja (potrebno za Dataverse provjeru autentičnosti):

    az login --allow-no-subscriptions
    
  3. Postavite naziv certifikata kao varijablu okruženja PowerShell pod nazivom DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Pokrenite test s provjerom Dataverse autentičnosti:

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

    Napomena

    Za razliku od StorageState, u ovom slučaju morate koristiti --user-auth parametar s vrijednošću Dataverse.

  5. Dovršite interaktivnu prijavu kada se to od vas zatraži.

Postavljanje upravitelja usluge (za CI/CD)

Za automatizirano testiranje u CI/CD kanalima možete koristiti upravitelje usluge umjesto interaktivnih korisničkih računa.

Korak 1: Napravite registraciju prijave u ID-u Microsoft Entra

Dovršite sljedeće korake da biste stvorili registraciju aplikacije u ID-u Microsoft Entra .

  1. Prijavite se u centar za Microsoft Entra administratore
  2. Idite na Aplikacije>Registracije aplikacija
  3. Odaberite Nova registracija
  4. Unesite naziv (na primjer "Automatizacija testnog motora")
  5. Zadržite zadane opcije i odaberite Registriraj se
  6. Nakon stvaranja zabilježite ID aplikacije (klijenta) i ID direktorija (klijenta)

Korak 2: Konfigurirajte API dozvole za Dataverse

Dovršite sljedeće korake za konfiguriranje API dozvola Dataverse.

  1. U registraciji aplikacije idite na API dozvole
  2. Odaberite Dodaj dopuštenje
  3. Odabir API-ja koje koristi moja tvrtka ili ustanova
  4. Potražite i odaberite Dataverse
  5. Odaberite Delegirane dozvole
  6. Provjerite user_impersonation
  7. Odaberite Dodaj dozvole
  8. Odaberite Odobri pristanak administratora

3. korak: stvaranje tajne klijenta

Dovršite sljedeće korake da biste stvorili tajnu klijenta.

  1. Idite na Certifikati i tajne
  2. Odaberite Nova tajna klijenta
  3. Dodavanje opisa i odabir isteka
  4. Odmah kopirajte tajnu vrijednost (više je nećete moći vidjeti)

Korak 4: Dodajte korisnika aplikacije u Dataverse

Dovršite sljedeće korake da biste dodali korisnika Dataverse aplikacije.

  1. Otvorite centar za Power Platform administratore
  2. Odaberite svoje okruženje
  3. Idite na Postavke>Korisnici + dopuštenja>Korisnici aplikacije
  4. Odaberi + Novi korisnik aplikacije
  5. Potražite i odaberite svoju aplikaciju
  6. Dodijelite odgovarajuću poslovnu jedinicu i sigurnosne uloge (uključite ulogu "Korisnik testnog modula")
  7. Spremanje promjena

Korak 5: Konfigurirajte svoj CI/CD kanal

Dodajte ove varijable u svoj kanal:

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)

Jer Azure DevOps, sigurno ih pohranite u grupe varijabli s odgovarajućim dozvolama.

PowerFx i izravna Dataverse provjera autentičnosti testiranja

Za testove davatelja usluga PowerFx i izravne Dataverse testove provjera autentičnosti funkcionira drugačije nego za testove temeljene na webu.

Kako funkcionira PowerFx/Dataverse autentifikacija

  1. Test Engine koristi Azure CLI za dobivanje pristupnog tokena specifičnog za resurs
  2. Token se koristi za izravnu autentifikaciju pomoću Dataverse API-ja
  3. Nije uključena provjera autentičnosti putem preglednika ili weba

Postavljanje PowerFx-a/Dataverse provjere autentičnosti

  1. Provjerite je li Azure CLI instaliran i ažuran:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Prijavite se pomoću Azure CLI-ja:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Pokrenite svoj test s PowerFx davateljem usluga:

    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"
    

Rješavanje problema s provjerom autentičnosti

Ovaj odjeljak sadrži informacije o otklanjanju poteškoća s provjerom autentičnosti pomoću Test Engine.

Uobičajeni problemi sa stanjem pohrane

  • Problem: Upit za provjeru autentičnosti pojavljuje se pri svakom pokretanju.

    • Rješenje: Provjerite jeste li odabrali Ostanite prijavljeni tijekom prijave.
  • Problem: Cannot access secure storage pogreška.

    • Rješenje: Provjerite imate li odgovarajući pristup mapi korisničkog profila.

Uobičajeni problemi s provjerom autentičnosti Dataverse

  • Problem: Certificate not found pogreška.

    • Rješenje: Provjerite odgovara li naziv certifikata točno onome što se nalazi u spremištu certifikata.
  • Problem: Unable to connect to Dataverse pogreška.

    • Rješenje: Provjerite je li Azure CLI prijavljen. az login --allow-no-subscriptions
  • Problem: Access denied pogreška s upraviteljem usluge.

    • Rješenje: Provjerite ima li aplikacija ispravna dopuštenja i Dataverse odgovarajuće sigurnosne uloge.

Uobičajeni problemi s PowerFx-om/Dataverse autentifikacijom

  • Problem: Unable to obtain access token pogreška

    • Rješenje: Provjerite jeste li prijavljeni pomoću Azure CLI-ja pomoću az account get-access-token
  • Problem: Access denied do Dataverse

    • Rješenje: Provjerite ima li prijavljeni korisnik odgovarajuće dozvole u Dataverse okruženju
  • Problem: istek tokena tijekom dugih probnih vožnji

    • Rješenje: upotrijebite upravitelja usluge s duljim istekom tokena ili rukujte ponovnom provjerom autentičnosti u testnim koracima

Sigurnosna arhitektura provjere autentičnosti
Testirajte aplikacije radnog područja
Testirajte aplikacije utemeljene na modelu
Testna Dataverse proširenja