Del via


Godkendelse

Denne artikel indeholder en oversigt over Microsoft Entra-konfigurationen til kald af Power Platform API. Hvis du vil have adgang til ressourcer, der er tilgængelige via Power Platform-API'en, skal du hente et ihændehavertoken fra Microsoft Entra og sende det som en header sammen med hver anmodning. Afhængigt af den identitetstype, du understøtter (bruger vs. tjenesteprincipal), er der forskellige flow til at hente dette ihændehavertoken, som beskrevet i denne artikel.

Du skal udføre følgende trin for at anskaffe et ihændehavertoken med de rette tilladelser:

  1. Oprette en programregistrering i din Microsoft Entra-lejer
  2. Konfigurere API-tilladelser
  3. Konfigurere offentlig klient (valgfrit)
  4. Konfigurere certifikater og hemmeligheder (valgfrit)
  5. Anmode om adgangstoken

Trin 1. Oprette en programregistrering

Gå til siden Microsoft Entra-appregistrering, og opret en ny registrering. Giv programmet et navn, og kontrollér, at indstillingen Enkelt lejer er valgt. Du kan springe konfigurationen af URI'en til viderestilling over.

Trin 2. Konfigurere API-tilladelser

I din nye appregistrering skal du gå til fanen Administrer – API-tilladelser. Vælg Tilføj en tilladelse i sektionen Konfigurer tilladelser. I det vindue, der åbnes, skal du vælge fanen API'er, som min organisation bruger og derefter søge efter Power Platform-API. Du kan se flere poster med et navn, der minder om dette, så sørg for at bruge ét med GUID'et 8578e004-a5c6-46e7-913e-12f58912df43.

Hvis du ikke kan se Power Platform-API'en på listen, når du søger ved hjælp af GUID, er det muligt, at du stadig har adgang til den, men synligheden er ikke opdateret. Kør følgende script for at gennemtvinge en opdatering:

#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 skal du vælge de nødvendige tilladelser. Disse er grupperet efter navneområder. I et navneområde kan du se ressourcetyper og handlinger, f.eks. AppManagement.ApplicationPackages.Read , som giver læserettigheder til programpakker. Du kan finde flere oplysninger i vores artikel Tilladelsesreference.

Bemærk

Power Platform-API gør kun brug af uddelegerede tilladelser på nuværende tidspunkt. I forbindelse med programmer, der kører i forbindelse med en bruger, skal du anmode om delegerede tilladelser ved hjælp af parameteren scope. Disse tilladelser delegerer rettighederne for den bruger, der er logget på, til dit program, så det fungerer som brugeren, når Power Platform-API-slutpunkter kaldes.

For tjenesteprincipalens identiteter bruges programtilladelser ikke. I stedet behandles tjenesteprincipaler som Power Platform-administratorer i dag, og de skal registreres ved at følge PowerShell – Oprette tjenesteprincipal.

Når de nødvendige tilladelser er føjet til programmet, skal du vælge Tildel administratorsamtykke for at fuldføre installationen. Det er nødvendigt i de tilfælde, hvor du vil give brugere adgang til din app med det samme i stedet for at kræve et interaktivt samtykke. Hvis du kan understøtte interaktivt samtykke, anbefales det, at du følger Microsoft-identitetsplatformen og OAuth 2.0-godkendelseskodeflowet.

Trin 3. Konfigurere offentlig klient (valgfrit)

Hvis din app kræver, at der læses og skrives ressourcer på vegne af en bruger, skal du aktivere indstillingen Offentlig klient. Kun på den måde kan Microsoft Entra ID acceptere egenskaberne for brugernavn og adgangskode i brødteksten i din tokenanmodning. Bemærk også, at hvis du planlægger at bruge denne funktion, fungerer den ikke for konti, hvor multifaktorgodkendelse er aktiveret.

Hvis du vil aktivere funktionen, skal du gå til fanen Administrer – Godkendelse. Angiv parameteren Offentlig klient til Ja i sektionen Avancerede indstillinger.

Trin 4. Konfigurere certifikater og hemmeligheder (valgfrit)

Hvis din app kræver, at du læser og skriver ressourcer som sig selv – også kaldet en tjenesteprincipal, kan du udføre godkendelse på to måder. Hvis du vil bruge certifikater, skal du gå til fanen Administrer – Certifikater og hemmeligheder. Overfør et x509-certifikat, som du kan bruge til godkendelse, i sektionen Certifikater. Den anden måde er at bruge sektionen Hemmeligheder til at oprette en klienthemmelighed. Gem hemmeligheden et sikkert sted, så du kan bruge den sammen med dine automatiseringsbehov. Indstillingerne for certifikat eller hemmelighed giver dig mulighed for at udføre godkendelse med Microsoft Entra og modtage et token for denne klient, som du skal sende videre til enten REST API'er eller PowerShell-cmdletterne.

Trin 5. Anmode om adgangstoken

Du kan anskaffe et ihændehavertoken på to måder. Den ene er for brugernavn og adgangskode, og den anden er for tjenesteprincipaler.

Flow med brugernavn og adgangskode

Sørg for at læse afsnittet Offentlig klient ovenfor. Send derefter en POST-anmodning via HTTP til Microsoft Entra ID med data for brugernavn og adgangskode.

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

Ovenstående eksempel indeholder pladsholdere, du kan hente fra klientprogrammet i Microsoft Entra ID. Du modtager et svar, der kan bruges til at foretage efterfølgende kald til Power Platform-API'en.

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

Brug værdien access_token i efterfølgende kald til Power Platform-API'en ved hjælp af HTTP-headeren Godkendelse.

Flow med tjenesteprincipal

Sørg for at læse afsnittet Certifikater og hemmeligheder ovenfor. Send derefter en POST-anmodning via HTTP til Microsoft Entra ID med data for klienthemmelighed. Dette kaldes ofte godkendelse af tjenesteprincipalen.

Vigtigt

Dette kan kun bruges, når du har registreret dette klientprogram-id med Microsoft Power Platform følgende enten den relaterede PowerShell- eller REST-dokumentation.

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

Ovenstående eksempel indeholder pladsholdere, du kan hente fra klientprogrammet i Microsoft Entra ID. Du modtager et svar, der kan bruges til at foretage efterfølgende kald til Power Platform-API'en.

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

Brug værdien access_token i efterfølgende kald til Power Platform-API'en ved hjælp af HTTP-headeren Godkendelse. Som nævnt ovenfor bruger flowet med tjenesteprincipalen ikke programtilladelser og behandles nu i stedet som en Power Platform-administrator for alle kald, der foretages.

Oprette et tjenesteprincipalprogram via API (forhåndsversion)
PowerShell – Oprette tjenesteprincipal