Jagamisviis:


Autentimine

Selles artiklis antakse ülevaade Microsoft Entra häälestusest Power PlatformI API kutsumiseks. Power Platformi API kaudu saadaolevatele ressurssidele juurdepääsuks peate hankima Microsoft Entralt kandjatõendi ja saatma selle koos iga taotlusega päisena. Olenevalt toetatava identiteedi tüübist (kasutaja ja teenusesubjekt) on selle kandjatõendi hankimiseks erinevad vood, nagu on kirjeldatud selles artiklis.

Õigete õigustega kandjatõendi hankimiseks tehke järgmist.

  1. Rakenduse registreerimise loomine Microsoft Entra rentnikus
  2. API õiguste konfigureerimine
  3. Platvormi konfigureerimine ja URI ümbersuunamine
  4. (Valikuline) Sertide ja saladuste konfigureerimine
  5. Pääsutõendi taotlemine

1. etapp. Rakenduse registreerimise loomine rentnikus Microsoft Entra

  1. Mine Azure portaali juurde.
  2. Valige lehe ülaservas Microsoft Entra ID . Seejärel valige + Lisa>rakenduse registreerimine.
  3. Täitke leht Rakenduse registreerimine .
    1. Nimi – pange rakendusele tuvastatav nimi, näiteks Power Platform Admin SDK.
    2. Toetatud kontotüübid – valige Ainult üks rentnik – <teie ettevõtte nimi>.
    3. Ümbersuunamise URI – jätke see praegu vahele. Konfigureerige see 3. juhises.
  4. Rakenduse loomiseks valige Register (Registreeri ). Kui registreerimine on lõpule jõudnud, märkige ülevaadete lehel üles rakenduse (klient) ID ja kataloogi (rentniku) ID – vajate mõlemat väärtust hiljem.

Registreerimist saate luua ka Azure CLI abil.

az login

az ad app create --display-name "Power Platform Admin SDK" --sign-in-audience AzureADMyOrg

Käsk tagastab JSON-objekti. Pange tähele appId väärtust – see väärtus on teie kliendi ID.

2. etapp API õiguste konfigureerimine

Avage uue rakenduse registreerimisel vahekaart Halda – API õigused . Tehke jaotises Õiguste konfigureerimine valik Lisa õigus. Valige dialoogiboksis vahekaart API-d, mida minu organisatsioon kasutab , ja seejärel otsige märksõna Power Platform API. Võite näha mitut selle nimega kirjet, seega veenduge, et kasutaksite seda GUID-ga 8578e004-a5c6-46e7-913e-12f58912df43.

Kui te ei näe GUID järgi otsimisel loendis Power PlatformI API-d, on võimalik, et teil on sellele endiselt juurdepääs, kuid nähtavust ei värskendata. Värskendamise jõustamiseks käivitage järgmine skript:

#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"

Siin valige vajalikud õigused. Need õigused on rühmitatud nimeruumide järgi. Nimeruumis kuvatakse ressursitüübid ja toimingud (nt AppManagement.ApplicationPackages.Read), mis annab rakendusepakettide lugemisõigused. Lisateavet leiate artiklist Õiguste teatmematerjalid .

Märkus.

Power Platformi API kasutab delegeeritud õigusi ainult praegu. Rakenduste jaoks, mis töötavad kasutajakontekstiga, taotlege delegeeritud õigusi ulatuse parameetri abil. Need õigused delegeerivad sisselogitud kasutaja õigused teie rakendusele, et see saaks tegutseda kasutajana Power Platformi API lõpp-punktide kutsumisel.

Teenuse põhiidentiteetide puhul ärge kasutage rakenduseõigusi. Selle asemel määrake pärast rakenduse registreerimise loomist sellele RBAC-i roll, et anda ulatusega õigusi (nt Kaasautor või Lugeja). Lisateavet leiate teemast Õpetus: RBAC-rollide määramine teenusesubjektidele.

Kui olete rakendusele lisanud nõutavad õigused, valige häälestuse lõpuleviimiseks Anna administraatori nõusolek . Administraatori nõusoleku andmisega annate õigused kõigile rentniku kasutajatele, et neid ei küsitaks teie rakendust esmakordsel kasutamisel interaktiivse nõusoleku dialoogi kaudu. Kui eelistate interaktiivset nõusolekut kasutaja kohta, järgige Microsofti identimisplatvormi ja OAuth 2.0 autoriseerimiskoodi voogu.

Administraatori nõusoleku saate anda ka Azure CLI abil.

# Replace <app-id> with your application (client) ID
az ad app permission admin-consent --id <app-id>

3. etapp Platvormi konfigureerimine ja URI ümbersuunamine

Kasutaja nimel autenditud SDK-d, PowerShelli skriptid ja töölauarakendused nõuavad ümbersuunamise URI-d, et Microsoft Entra saaks pärast autentimist tagasi teie rakendusse naasta.

  1. Avage rakenduse registreerimisel Halda – autentimine.

  2. Valige Käsk Lisa ümbersuunamise URI, seejärel valige Mobiili- ja töölauarakendused.

  3. Valige järgmine sisemine ümbersuunamise URI:

    https://login.microsoftonline.com/common/oauth2/nativeclient

  4. Valige Konfigureeri salvestamiseks.

Ümbersuunamise URI saate lisada ka Azure CLI abil.

# 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

Avaliku kliendi säte

Sama vahekaardi Autentimise jaotises Täpsemad sätted on tumblernupp Luba avaliku kliendi vood. Seadke see tumblerlüliti väärtuseks Jah ainult juhul, kui kavatsete kasutada ressursiomaniku parooli identimisteabe (ROPC) voogu, mis saadab kasutajanime ja parooli otse loataotluse kehasse.

See voog ei tööta kontode puhul, kus on lubatud mitmikautentimine. Interaktiivse brauseri või seadme koodivoo korral ei pea te seda sätet lubama.

4. etapp (Valikuline) Sertide ja saladuste konfigureerimine

Kui teie rakendus nõuab lugemis- ja kirjutamisressursse kui iseennast, mida nimetatakse ka teenusesubjektiks, on autentimiseks kaks võimalust. Sertide kasutamiseks minge jaotisse Sertide ja saladuste haldamine. Laadige jaotises Serdid üles x509-sert, mida saate autentimiseks kasutada.

Teine võimalus on see, et võite kasutada jaotist Saladused kliendi saladuse loomiseks. Salvestage see saladus oma automatiseerimisvajaduste jaoks turvalises kohas. Serdi või salajaste suvandite abil saate Microsoft Entraga autentida ja saada selle kliendi tõendi, mille edastate REST API-de või PowerShelli cmdlet-käskudele.

5. etapp. Taotlege juurdepääsuluba

Pääsutõendi saate hankida kahel viisil: üks viis on kasutajanime ja parooli jaoks ning teine võimalus on teenusesubjektid.

Kasutajanime ja parooli voog

Lugege kindlasti avaliku kliendi jaotist. Seejärel saatke POST-päring HTTP-i kaudu ID-le Microsoft Entra kasutajanime ja parooli kasuliku koormusega.

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

Eelnev näide sisaldab kohatäiteid, mille saate microsoft Entra ID-s oma klientrakendusest tuua. Saate vastuse, mida saate kasutada järgnevate kõnede tegemiseks Power Platform API-le.

{
  "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..."
}

Kasutage järgnevates access_token väärtuste kõnedel Power Platform'i API-t koos autoriseerimise HTTP päist.

Teenuse põhivoog

Lugege kindlasti jaotist Sertide ja saladuste konfigureerimine . Seejärel saatke POST-päring HTTP-i kaudu ID-le Microsoft Entra kliendi salajase kasuliku koormusega. Seda autentimisviisi nimetatakse sageli teenusesubjekti autentimiseks.

Oluline

Enne teenusesubjekti autentimist täitke selles artiklis eespool toodud juhised 1–4, et luua ja konfigureerida rakenduse registreerimine serdi või kliendisaladusega. Seejärel määrake teenusesubjektile RBAC-roll, et kontrollida selle juurdepääsutaset. Lisateavet leiate teemast Õpetus: RBAC-rollide määramine teenusesubjektidele.

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

Eelnev näide sisaldab kohatäiteid, mille saate microsoft Entra ID-s oma klientrakendusest tuua. Saate vastuse, mida saate kasutada järgnevate kõnede tegemiseks Power Platform API-le.

{
  "token_type": "Bearer",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOiJKV1..."
}

Kasutage järgnevates access_token väärtuste kõnedel Power Platform'i API-t koos autoriseerimise HTTP päist. Teenusesubjekti tegelikud õigused määrab talle määratud RBAC-roll. Lisateavet rolli määramise kohta leiate teemast Õpetus: RBAC-rollide määramine teenusesubjektidele.

Lühijuhend Azure CLI-ga

Järgmine skript loob rakenduse registreerimise lõpuni. Käivitage kõik käsud järjekorras ja asendage kohatäiteväärtused enda omadega.

# 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

Pärast nende käskude käitamist saate kasutada oma rakenduse registreerimist SDK-dega, PowerShelliga või otseste REST-kõnedega. Parameetri õiguste ID-de otsimiseks --api-permissions vaadake õiguse viidet.

Levinumate probleemide tõrkeotsing

See tõrge ilmneb siis, kui administraator pole teie rakenduse registreerimiseL API õigustega nõustunud. Avage jaotis Rakenduse registreerimised> teie rakenduse >API õigused ja valige Anna administraatori nõusolek.

Teise võimalusena käivitage:

az ad app permission admin-consent --id <app-id>

Tõrketeated "Kasutajat pole rakenduse rolli määratud"

See tõrge tähendab, et teie rakenduse registreerimisega seotud ettevõtterakenduse väärtuse Kasutaja määramine on määratudväärtuseks Jah. Kui see säte on lubatud, saavad sisse logida ainult rakendusele otseselt määratud kasutajad või rühmad. Tõrke parandamiseks tehke ühte järgmistest.

  • Avage Microsoft Entra ID>Enterprise'i rakendused>, mille atribuudid teie rakenduse> atribuudid on ja määrake sätte Määrang nõutavaksväärtuseks Ei.
  • Lisage asjakohased kasutajad või turberühmad jaotises Kasutajad ja rühmad.

Juurdepääsu blokeerivad tingimusjuurdepääsu poliitikad

Kui teie ettevõte rakendab tingimusjuurdepääsu poliitikaid, võivad need blokeerida teie rakenduse registreerimiseks loa hankimise. Levinud põhjused on näiteks seadme vastavusnõuded, asukohapiirangud või riskipõhised poliitikad. Tehke microsoft Entra administraatoriga koostööd, et välistada rakenduse registreerimine poliitikast või tagada, et kliendid vastavad poliitikanõuetele.

API valijast ei leitud "Power Platform API"-d

Kui Power Platformi API otsimine nime või GUID järgi API õiguste dialoogiboksis ei tagasta tulemeid, ei looda teie rentnikus teenusesubjekti. Selle loomiseks järgige 2. juhises toodud jõustamisjuhiseid.

Autentimine Power Platformi SDK-dega ja PowerShelliga

Järgmised näited näitavad, kuidas autentida ja teha näidis-API-kutset iga SDK ja PowerShelli abil. Enne nende näidete käivitamist täitke selles artiklis eespool toodud juhised 1–3, et luua ja konfigureerida oma rakenduse registreerimist.

Interaktiivne autentimine (delegeeritud kasutaja)

Interaktiivne autentimine avab brauseriakna, kus kasutaja saab sisse logida. See voog toimib kõige paremini arendaja skriptide, administraatoritööriistade ja iga stsenaariumi korral, kus kasutaja on olemas.

# 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

Konfidentsiaalne klient (teenusesubjekt)

Konfidentsiaalne kliendi autentimine kasutab kliendisaladust või serti ega nõua kasutaja sekkumist. See autentimisvoog on parim taustteenuste, konveierite ja automatiseerimise jaoks.

Oluline

Enne teenusesubjekti autentimist täitke eespool toodud juhised 1–4, et luua ja konfigureerida rakenduse registreerimine serdi või klientrakenduse saladusega. Seejärel määrake teenusesubjektile RBAC-roll, et kontrollida selle juurdepääsutaset. Lisateavet leiate teemast Õpetus: RBAC rollide määramine teenusesubjektidele.

$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

Õppetükk: RBAC-rollide määramine teenusesubjektidele
Power Platformi halduskeskuse rollipõhine juurdepääsu reguleerimine
Õiguseviide