Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Denne artikkelen gir en oversikt over Microsoft Entra-oppsettet for å kalle Power Platform API. Hvis du vil ha tilgang til ressurser som er tilgjengelige via API-en for Power Platform, må du få et bærertoken fra Microsoft Entra og sende det som en topptekst sammen med hver forespørsel. Avhengig av identitetstypen du støtter (bruker vs. tjenestekontohaver) finnes det forskjellige flyter for å hente dette bærertokenet, som beskrevet i denne artikkelen.
Hvis du vil hente et bærertoken med de riktige tillatelsene, kan du fullføre følgende trinn:
- Opprette en programregistrering i Microsoft Entra-leieren
- Konfigurer API-tillatelser
- Konfigurer plattform- og omadresserings-URI
- (Valgfritt) Konfigurere sertifikater og hemmeligheter
- Be om et tilgangstoken
Trinn 1. Opprett en programregistrering i Microsoft Entra-leieren
- Gå til Azure-portalen.
- Velg Microsoft Entra-ID øverst på siden. Velg deretter + Legg til>appregistrering.
- Fyll ut siden Registrer et program :
- Navn – Gi programmet et gjenkjennelig navn, for eksempel Power Platform Admin SDK.
- Støttede kontotyper – Velg bare én leier – <firmanavnet> ditt.
- Omadresserings-URI – Hopp over dette for øyeblikket. Du konfigurerer det i trinn 3.
- Velg Registrer for å opprette programmet. Når registreringen er fullført, noterer du program-ID-en og katalog-ID-en (leier) fra oversiktssiden – du trenger begge verdiene senere.
Du kan også opprette registreringen ved hjelp av Azure CLI:
az login
az ad app create --display-name "Power Platform Admin SDK" --sign-in-audience AzureADMyOrg
Kommandoen returnerer et JSON-objekt. Legg merke til appId verdien – denne verdien er klient-ID-en din.
Trinn 2. Konfigurer API-tillatelser
Gå til Administrer - API-tillatelser-fanen i den nye appregistreringen. Velg Legg til en tillatelse under delen Konfigurer tillatelser. Velg API-ene organisasjonen min bruker-fanen i dialogboksen, og søk deretter etter API-en for Power Platform. Du kan se flere oppføringer med et navn som ligner på dette, så pass på at du bruker den med GUID 8578e004-a5c6-46e7-913e-12f58912df43.
Hvis du ikke ser Power Platform-API-en som vises i listen når du søker etter GUID, kan det hende du fortsatt har tilgang til den, men synligheten oppdateres ikke. Hvis du vil fremtvinge en oppdatering, kjører du følgende 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"
Herfra velger du tillatelsene du trenger. Disse tillatelsene er gruppert etter navneområder. I et navneområde ser du ressurstyper og handlinger, for eksempel AppManagement.ApplicationPackages.Read, som gir lesetillatelser for programpakker. Hvis du vil ha mer informasjon, kan du se tillatelsesreferanseartikkelen .
Obs!
Power Platform API bruker bare delegerte tillatelser på dette tidspunktet. For programmer som kjører med en brukerkontekst, ber du om delegerte tillatelser ved hjelp av omfangsparameteren. Disse tillatelsene delegerer rettighetene til den påloggede brukeren til programmet, slik at det kan fungere som brukeren når du kaller API-endepunkter for Power Platform.
Ikke bruk programtillatelser for tjenestekontohaveridentiteter. I stedet, når du har opprettet appregistreringen, tilordner du den en RBAC-rolle for å gi omfangstillatelser (for eksempel bidragsyter eller leser). Hvis du vil ha mer informasjon, kan du se Opplæring: Tilordne RBAC-roller til tjenestekontohavere.
Når du har lagt til de nødvendige tillatelsene i programmet, velger du Gi administratorsamtykke for å fullføre installasjonen. Ved å gi administratorsamtykke godkjenner du tillatelsene for alle brukere i leieren, slik at de ikke blir bedt om en interaktiv samtykkedialogboks første gang de bruker appen. Hvis du foretrekker interaktivt samtykke per bruker, følger du Microsofts identitetsplattform og OAuth 2.0-godkjenningskodeflyt.
Du kan også gi administratorsamtykke ved hjelp av Azure CLI:
# Replace <app-id> with your application (client) ID
az ad app permission admin-consent --id <app-id>
Trinn 3. Konfigurer plattform- og omadresserings-URI
SDK-er, PowerShell-skript og skrivebordsprogrammer som godkjenner på vegne av en bruker, krever en omadresserings-URI, slik at Microsoft Entra kan returnere tokener tilbake til programmet etter godkjenning.
Gå til Administrer - godkjenning i appregistreringen.
Velg Legg til en omadresserings-URI, og velg deretter Mobil- og skrivebordsprogrammer.
Velg følgende innebygde omadresserings-URI:
https://login.microsoftonline.com/common/oauth2/nativeclientVelg Konfigurer for å lagre.
Du kan også legge til omadresserings-URI-en ved hjelp av 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
Offentlig klientinnstilling
Under Delen Avanserte innstillinger på samme godkjenning-fane er det veksleknappen Tillat offentlige klientflyter . Angi denne veksleknappen bare til Ja hvis du har tenkt å bruke flyten for passordlegitimasjon for ressurseier (ROPC), som sender et brukernavn og passord direkte i brødteksten for tokenforespørselen.
Denne flyten fungerer ikke for kontoer som har flerfaktorgodkjenning aktivert. For interaktive nettleser- eller enhetskodeflyter trenger du ikke å aktivere denne innstillingen.
Trinn 4. (Valgfritt) Konfigurere sertifikater og hemmeligheter
Hvis appen krever lese- og skriveressurser som seg selv, også kjent som tjenestekontohaver, finnes det to måter å godkjenne på. Hvis du vil bruke sertifikater, kan du gå til Administrer – Sertifikater og hemmeligheter. Last opp et x509-sertifikat som du kan bruke til å godkjenne, under Sertifikater-delen .
Den andre måten er å bruke Hemmeligheter-delen til å generere en klienthemmelighet. Lagre hemmeligheten på et sikkert sted for bruk med automatiseringsbehovene. Sertifikatet eller de hemmelige alternativene lar deg godkjenne med Microsoft Entra og motta et token for denne klienten, som du sender videre til enten REST API-er eller PowerShell-cmdleter.
Trinn 5. Be om et tilgangstoken
Du kan få et tilgangsbærertoken på to måter: én måte er for brukernavn og passord, og den andre måten er for tjenestekontohavere.
Flyt for brukernavn og passord
Pass på å lese den offentlige klientdelen. Send deretter en POST-forespørsel via HTTP til Microsoft Entra ID der nyttelasten er et brukernavn og passord.
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
Det foregående eksemplet inneholder plassholdere som du kan hente fra klientprogrammet i Microsoft Entra ID. Du får et svar som du kan bruke til å foreta etterfølgende anrop til API-en for 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..."
}
Bruk verdien access_token i påfølgende oppkall til Power Platform-API-en med HTTP-hodet Autorisasjon.
Flyt for tjenestekontohaver
Pass på å lese delen Konfigurer sertifikater og hemmeligheter . Send deretter en POST-forespørsel via HTTP til Microsoft Entra ID der nyttelasten er en klienthemmelighet. Denne godkjenningsmetoden kalles ofte tjenestekontohavergodkjenning.
Viktig
Før du bruker godkjenning av tjenestekontohaver, må du fullføre trinn 1–4 tidligere i denne artikkelen for å opprette og konfigurere appregistreringen med et sertifikat eller en klienthemmelighet. Deretter tilordner du tjenestekontohaveren en RBAC-rolle for å kontrollere tilgangsnivået. Hvis du vil ha mer informasjon, kan du se Opplæring: Tilordne RBAC-roller til tjenestekontohavere.
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
Det foregående eksemplet inneholder plassholdere som du kan hente fra klientprogrammet i Microsoft Entra ID. Du får et svar som du kan bruke til å foreta etterfølgende anrop til API-en for Power Platform.
{
"token_type": "Bearer",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1..."
}
Bruk verdien access_token i påfølgende oppkall til Power Platform-API-en med HTTP-hodet Autorisasjon. Tjenestekontohaverens effektive tillatelser bestemmes av RBAC-rollen som er tilordnet den. Hvis du vil lære hvordan du tilordner en rolle, kan du se Opplæring: Tilordne RBAC-roller til tjenestekontohavere.
Hurtigstart med Azure CLI
Følgende skript oppretter en appregistrering fra ende til ende. Kjør hver kommando i rekkefølge, og erstatt plassholderverdier med dine egne.
# 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
Når du har kjørt disse kommandoene, kan du bruke appregistreringen med SDK-er, PowerShell eller direkte REST-anrop. Hvis du vil slå opp tillatelses-ID-er for parameteren --api-permissions , kan du se tillatelsesreferansen.
Feilsøking av vanlige problemer
«Samtykke kreves» eller «trenger administratorgodkjenning»-feil
Denne feilen oppstår når administratoren ikke har samtykket til API-tillatelsene for appregistreringen. Gå til appregistreringer>app-API-tillatelsene> dine, og velg Gi administratorsamtykke.
Du kan også kjøre følgende:
az ad app permission admin-consent --id <app-id>
«Brukeren er ikke tilordnet til en rolle for programmet»-feil
Denne feilen betyr at virksomhetsprogrammet som er knyttet til appregistreringen, har nødvendig brukertilordning satt til Ja. Når denne innstillingen er aktivert, kan bare brukere eller grupper som er eksplisitt tilordnet til programmet, logge på. Hvis du vil løse denne feilen, kan du utføre én av følgende handlinger:
- Gå til Microsoft Entra ID>Enterprise-programmer> som appegenskaper>, og angi tildelingen som kreves til Nei.
- Legg til relevante brukere eller sikkerhetsgrupper under Brukere og grupper.
Policyer for betinget tilgang blokkerer tilgang
Hvis organisasjonen bruker policyer for betinget tilgang, kan de blokkere tokenoppkjøp for appregistreringen. Vanlige årsaker inkluderer krav til enhetssamsvar, plasseringsbegrensninger eller risikobaserte policyer. Samarbeid med Microsoft Entra-administratoren for å utelate appregistreringen fra policyen, eller sørg for at kundene oppfyller policykravene.
Finner ikke Power Platform-API-en i API-velgeren
Hvis søk etter API for Power Platform etter navn eller GUID i dialogboksen API-tillatelser ikke returnerer noen resultater, opprettes ikke tjenestekontohaveren i leieren. Følg trinnene for tvungen oppdatering i trinn 2 for å opprette den.
Godkjenne med Power Platform SDKs og PowerShell
Eksemplene nedenfor viser hvordan du godkjenner og foretar et eksempel på API-kall ved hjelp av hver SDK og PowerShell. Før du kjører disse eksemplene, må du fullføre trinn 1–3 tidligere i denne artikkelen for å opprette og konfigurere appregistreringen.
Interaktiv godkjenning (delegert bruker)
Interaktiv godkjenning åpner et nettleservindu som brukeren kan logge på. Denne flyten fungerer best for utviklerskript, administrasjonsverktøy og ethvert scenario der en bruker er til stede.
# 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
Konfidensiell klient (tjenestekontohaver)
Konfidensiell klientgodkjenning bruker en klienthemmelighet eller et sertifikat og krever ikke brukersamhandling. Denne godkjenningsflyten er best for bakgrunnstjenester, datasamlebånd og automatisering.
Viktig
Før du bruker tjenestekontohavergodkjenning, må du fullføre trinn 1–4 ovenfor for å opprette og konfigurere appregistreringen med et sertifikat eller en klienthemmelighet. Deretter tilordner du tjenestekontohaveren en RBAC-rolle for å kontrollere tilgangsnivået. Hvis du vil ha mer informasjon, kan du se Opplæring: Tilordne RBAC-roller til tjenestekontohavere.
$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
Relatert innhold
Opplæring: Tilordne RBAC-roller til tjenestekontohavere
Rollebasert tilgangskontroll for administrasjonssenteret for Power Platform
Tillatelsesreferanse