Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
Acest articol oferă o prezentare generală a configurării Microsoft Entra pentru apelarea API-ului Power Platform. Pentru a accesa resursele disponibile prin API-ul Power Platform, trebuie să obțineți un token de urs de la Microsoft Entra și să îl trimiteți ca antet împreună cu fiecare solicitare. În funcție de tipul de identitate pe care îl acceptați (utilizator versus principal de serviciu) există fluxuri diferite pentru a obține acest token de urs, așa cum este descris în acest articol.
Pentru a obține un simbol urs cu permisiunile corecte, parcurgeți pașii următori:
- Crearea unei înregistrări de aplicație în entitatea găzduită Microsoft Entra
- Configurare permisiuni API
- Configurarea URI-ului de platformă și redirecționare
- (Opțional) Configurarea certificatelor și secretelor
- Solicitați un token de acces
Pasul 1. Creați o înregistrare a aplicației în Microsoft Entra chiriașul dvs
- Mergi la portalul Azure.
- Selectați Microsoft Entra ID în partea de sus a paginii. Apoi selectați + Adăugați>înregistrarea aplicațiilor.
- Completați pagina Înregistrați o aplicație :
- Nume - dați aplicației un nume recunoscut, cum ar fi SDK-ul de administrare a platformei Power Platform.
- Tipuri de conturi acceptate - Selectați Doar entitatea găzduită unică - <numele> firmei dvs.
- URI-uri de redirecționare - Ignorați acest lucru pentru moment. O configurați la Pasul 3.
- Selectați Înregistrare pentru a crea aplicația. După ce se termină înregistrarea, notați ID-ul aplicației (client) și ID-ul directorului (entității găzduite) din pagina prezentare generală; aveți nevoie de ambele valori mai târziu.
De asemenea, puteți crea înregistrarea utilizând Azure CLI:
az login
az ad app create --display-name "Power Platform Admin SDK" --sign-in-audience AzureADMyOrg
Comanda returnează un obiect JSON.
appId Rețineți valoarea : această valoare este ID-ul dvs. de client.
Pasul 2. Configurarea permisiunilor API
În noua înregistrare a aplicației, accesați fila Gestionare - Permisiuni API . Sub secțiunea Configurare permisiuni , selectați Adăugare permisiune. În caseta de dialog, selectați filele API utilizate de organizația mea , apoi căutați API Power Platform. Este posibil să vedeți mai multe intrări cu un nume similar cu acesta, așadar asigurați-vă că îl utilizați pe cel cu GUID 8578e004-a5c6-46e7-913e-12f58912df43.
Dacă nu vedeți API-ul Power Platform afișat în listă atunci când căutați după GUID, este posibil să aveți în continuare acces la acesta, dar vizibilitatea nu este reîmprospătată. Pentru a impune o reîmprospătare, rulați următorul script:
#Install the Microsoft Graph PowerShell SDK module
Install-Module Microsoft.Graph -Scope CurrentUser -Repository PSGallery -Force
Connect-MgGraph
New-MgServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"
De aici, selectați permisiunile de care aveți nevoie. Aceste permisiuni sunt grupate după spații de nume. Într-un spațiu de nume, vedeți tipuri și acțiuni de resurse, cum ar fi AppManagement.ApplicationPackages.Read, care oferă permisiuni de citire pentru pachetele de aplicații. Pentru mai multe informații, consultați articolul Referințe permisiune .
Notă
API-ul Power Platform utilizează permisiuni delegate doar în acest moment. Pentru aplicațiile care rulează cu un context de utilizator, solicitați permisiuni delegate utilizând parametrul de domeniu . Aceste permisiuni delegă privilegiile utilizatorului conectat la aplicația dvs., astfel încât să poată acționa ca utilizator atunci când apelează puncte finale API Power Platform.
Pentru identitățile principalelor de serviciu, nu utilizați permisiuni de aplicație. În schimb, după ce creați înregistrarea aplicației, atribuiți-i un rol RBAC pentru a acorda permisiuni de domeniu (cum ar fi Contributor sau Reader). Pentru mai multe informații, consultați Tutorial: Atribuirea rolurilor RBAC principalelor servicii.
După ce adăugați permisiunile necesare la aplicație, selectați Acordați consimțământul administratorului pentru a finaliza configurarea. Acordând consimțământ de administrator, autorizați permisiunile pentru toți utilizatorii din entitatea găzduită, astfel încât să nu li se solicite o casetă de dialog interactivă de consimțământ prima dată când vă utilizează aplicația. Dacă preferați consimțământul interactiv per utilizator, urmați platforma de identitate Microsoft și fluxul de cod de autorizare OAuth 2.0.
De asemenea, puteți acorda consimțământ de administrator utilizând Azure CLI:
# Replace <app-id> with your application (client) ID
az ad app permission admin-consent --id <app-id>
Pasul 3. Configurarea URI-ului de platformă și redirecționare
SDK-uri, scripturi PowerShell și aplicații desktop care se autentifică în numele unui utilizator necesită un URI de redirecționare, astfel încât Microsoft Entra să poată returna tokenurile înapoi la aplicație după autentificare.
În cadrul înregistrării aplicației, accesați Gestionare - Autentificare.
Selectați Adăugați un URI de redirecționare, apoi alegeți Aplicații mobile și desktop.
Selectați următorul URI de redirecționare predefinit:
https://login.microsoftonline.com/common/oauth2/nativeclientSelectați Configurare pentru a salva.
De asemenea, puteți adăuga URI-ul de redirecționare utilizând Azure CLI:
# Replace <app-id> with your application (client) ID
az ad app update --id <app-id> --public-client-redirect-uris https://login.microsoftonline.com/common/oauth2/nativeclient
Setare client public
Sub secțiunea Setări complexe de pe aceeași filă Autentificare , există un comutator Permiteți fluxuri de clienți publici . Setați acest comutator la Da doar dacă intenționați să utilizați fluxul de acreditări de parolă pentru proprietarul resursei (ROPC), care trimite un nume de utilizator și o parolă direct în corpul solicitării tokenului.
Acest flux nu funcționează pentru conturile care au activată autentificarea multifactor. Pentru fluxurile interactive de browser sau de cod de dispozitiv, nu trebuie să activați această setare.
Pasul 4. (Opțional) Configurarea certificatelor și secretelor
Dacă aplicația dvs. necesită resurse de citire și scriere ca atare, numite și principale de serviciu, există două modalități de autentificare. Pentru a utiliza certificate, accesați Gestionare - Certificate și secrete. Sub secțiunea Certificate , încărcați un certificat x509 pe care îl puteți utiliza pentru autentificare.
O altă metodă este utilizarea secțiunii Secrete pentru a genera un secret de client. Salvați secretul într-o locație sigură pentru a fi utilizat cu nevoile dvs. de automatizare. Certificatul sau opțiunile secrete vă permit să vă autentificați cu Microsoft Entra și să primiți un simbol pentru acest client, pe care îl transmiteți fie către API-urile REST, fie către cmdleturile PowerShell.
Pasul 5. Solicitarea unui token de acces
Puteți obține un token de suporter de acces în două moduri: un mod este pentru numele de utilizator și parola, iar celălalt mod este pentru principalii de serviciu.
Fluxul de nume de utilizator și parolă
Nu uitați să citiți secțiunea client public. Apoi, trimiteți o solicitare POST prin HTTP la Microsoft Entra ID cu un nume de utilizator și o parolă.
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password
Exemplul precedent conține substituenți pe care îi puteți regăsi din aplicația client în Microsoft Entra ID. Primiți un răspuns pe care îl puteți utiliza pentru a efectua apeluri ulterioare la API-ul Power Platform.
{
"token_type": "Bearer",
"scope": "https://api.powerplatform.com/AppManagement.ApplicationPackages.Install https://api.powerplatform.com/AppManagement.ApplicationPackages.Read https://api.powerplatform.com/.default",
"expires_in": 4747,
"ext_expires_in": 4747,
"access_token": "eyJ0eXAiOiJKV1QiLCJu..."
}
Utilizați valoarea access_token în apelurile ulterioare către API Power Platform cu antetul HTTP Autorizare.
Fluxul principal al serviciului
Nu uitați să citiți secțiunea Configurarea certificatelor și secretelor . Apoi, trimiteți o solicitare POST prin HTTP către Microsoft Entra ID cu o sarcină utilă secretă a clientului. Această metodă de autentificare este denumită adesea autentificare principală serviciu.
Important
Înainte de a utiliza autentificarea principală a serviciului, parcurgeți pașii 1-4 anteriori din acest articol pentru a crea și a configura înregistrarea aplicației cu un certificat sau un secret de client. Apoi atribuiți principalului de serviciu un rol RBAC pentru a-i controla nivelul de acces. Pentru a afla mai multe, consultați Tutorial: Atribuirea rolurilor RBAC principalelor servicii.
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials
Exemplul precedent conține substituenți pe care îi puteți regăsi din aplicația client în Microsoft Entra ID. Primiți un răspuns pe care îl puteți utiliza pentru a efectua apeluri ulterioare la API-ul Power Platform.
{
"token_type": "Bearer",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1..."
}
Utilizați valoarea access_token în apelurile ulterioare către API Power Platform cu antetul HTTP Autorizare. Permisiunile efective ale principalului de serviciu sunt determinate de rolul RBAC atribuit acestuia. Pentru a afla cum să atribuiți un rol, consultați Tutorial: Atribuirea rolurilor RBAC principalelor de serviciu.
Pornire rapidă cu Azure CLI
Următorul script creează o înregistrare de aplicație end-to-end. Rulați fiecare comandă în ordine și înlocuiți valorile substituent cu propriile valori.
# Sign in to Azure CLI
az login
# Create the app registration (single tenant)
az ad app create --display-name "Power Platform Admin SDK" --sign-in-audience AzureADMyOrg
# Save the app ID from the output, then create a service principal for it
az ad sp create --id <app-id>
# Add a delegated permission (example: AppManagement.ApplicationPackages.Read)
# The --api value is the Power Platform API app ID.
# The --api-permissions value is the permission ID and type (Scope = delegated).
# Repeat this command for each permission you need. See the Permission reference for IDs.
az ad app permission add --id <app-id> \
--api 8578e004-a5c6-46e7-913e-12f58912df43 \
--api-permissions <permission-id>=Scope
# Grant admin consent so users aren't prompted individually
az ad app permission admin-consent --id <app-id>
# Add the native client redirect URI for interactive auth
az ad app update --id <app-id> \
--public-client-redirect-uris https://login.microsoftonline.com/common/oauth2/nativeclient
După ce rulați aceste comenzi, puteți utiliza înregistrarea aplicațiilor cu SDK-urile, PowerShell sau apelurile REST directe. Pentru a căuta ID-uri de permisiune pentru --api-permissions parametru, consultați Referința de permisiune.
Depanarea problemelor comune
Erori "Consimțământ necesar" sau "necesită aprobarea administratorului"
Această eroare apare atunci când administratorul nu a consimțit la permisiunile API pentru înregistrarea aplicației. Accesați Înregistrări>de aplicații permisiunile API ale aplicației > și selectați Acordați consimțământul administratorului.
Alternativ, rulați:
az ad app permission admin-consent --id <app-id>
Erorile "Utilizatorul nu este atribuit unui rol pentru aplicație"
Această eroare înseamnă că aplicația enterprise asociată înregistrării aplicației are atribuirea de utilizator setată la Da. Atunci când această setare este activată, doar utilizatorii sau grupurile atribuite în mod explicit aplicației se pot conecta. Pentru a remedia această eroare, efectuați una dintre următoarele acțiuni:
- Accesațiaplicațiile>Microsoft Entra ID> Enterprise proprietățile aplicației > și setați Atribuirea necesară la Nu.
- Adăugați utilizatorii relevanți sau grupurile de securitate sub Utilizatori și grupuri.
Politicile de acces condiționat blochează accesul
Dacă organizația dvs. aplică politici de acces condiționat, acestea pot bloca achiziționarea tokenului pentru înregistrarea aplicațiilor. Printre cauzele uzuale se numără cerințele de conformitate pentru dispozitiv, restricțiile de locație sau politicile bazate pe riscuri. Colaborați cu administratorul Microsoft Entra pentru a exclude înregistrarea aplicațiilor din politică sau a vă asigura că clienții îndeplinesc cerințele de politică.
"Power Platform API" nu s-a găsit în selectorul API
În cazul în care căutarea API-ului Power Platform după nume sau GUID în caseta de dialog permisiuni API nu returnează rezultate, entitatea principală de serviciu nu este creată în entitatea dvs. găzduită. Urmați pașii de reîmprospătare forțată din Pasul 2 pentru a-l crea.
Autentificarea cu SDK-urile Power Platform și PowerShell
Următoarele exemple vă arată cum să vă autentificați și să efectuați un apel API eșantion utilizând fiecare SDK și PowerShell. Înainte de a rula aceste exemple, parcurgeți pașii 1-3 anteriori din acest articol pentru a crea și a configura înregistrarea aplicațiilor.
Autentificare interactivă (utilizator delegat)
Autentificarea interactivă deschide o fereastră de browser pentru ca utilizatorul să se conecteze. Acest flux funcționează cel mai bine pentru scripturile dezvoltatorilor, instrumentele de administrare și orice scenariu în care este prezent un utilizator.
# Sign in interactively (opens a browser)
Connect-AzAccount
# Get an access token for the Power Platform API
$token = Get-AzAccessToken -ResourceUrl "https://api.powerplatform.com"
# Call the List Environments endpoint as an example
$headers = @{ Authorization = "Bearer $($token.Token)" }
$environments = Invoke-RestMethod -Uri "https://api.powerplatform.com/environmentmanagement/environments?api-version=2024-10-01" -Headers $headers
$environments.value | Format-Table name, properties.displayName
Client confidențial (client principal de serviciu)
Autentificarea confidențială a clientului utilizează un secret client sau un certificat și nu necesită interacțiune cu utilizatorul. Acest flux de autentificare este ideal pentru servicii de fundal, canale și automatizare.
Important
Înainte de a utiliza autentificarea principală a serviciului, parcurgeți pașii 1-4 de mai sus pentru a crea și a configura înregistrarea aplicației cu un certificat sau un secret de client. Apoi atribuiți principalului de serviciu un rol RBAC pentru a-i controla nivelul de acces. Pentru mai multe informații, consultați Tutorial: Atribuirea rolurilor RBAC principalelor servicii.
$tenantId = "YOUR_TENANT_ID"
$clientId = "YOUR_CLIENT_ID"
$clientSecret = "YOUR_CLIENT_SECRET"
# Request a token using client credentials
$body = @{
client_id = $clientId
scope = "https://api.powerplatform.com/.default"
client_secret = $clientSecret
grant_type = "client_credentials"
}
$tokenResponse = Invoke-RestMethod -Method Post `
-Uri "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token" `
-ContentType "application/x-www-form-urlencoded" `
-Body $body
# Call the List Environments endpoint as an example
$headers = @{ Authorization = "Bearer $($tokenResponse.access_token)" }
$environments = Invoke-RestMethod -Uri "https://api.powerplatform.com/environmentmanagement/environments?api-version=2024-10-01" -Headers $headers
$environments.value | Format-Table name, properties.displayName
Conținut asociat
Tutorial: Atribuirea rolurilor RBAC la principalii de serviciu
Controlul accesului bazat pe roluri pentru Centrul de administrare a Platformei Power
Referință permisiune