Autentiseringsprotokoll (förhandsversion)
Den här artikeln innehåller en översikt över Microsoft Entra inställning för att anropa Power Platform API (förhandsversion). För att få åtkomst till resurser Power Platform API som är tillgängliga måste du få en ägartoken från Microsoft Entra och skicka den som en rubrik tillsammans med varje begäran. Beroende på vilken identitetstyp du stöder (användare eller tjänsthuvud) finns det olika flöden för att hämta den här ägartoken som beskrivs i denna artikel.
Följande steg krävs för att få en ägartoken med rätt behörighet:
- Skapa en programregistrering i din Microsoft Entra klientorganisation
- Konfigurera API-behörigheter
- Konfigurera offentlig klient (valfritt)
- Konfigurera certifikat och hemligheter (valfritt)
- Begära en åtkomsttoken
Steg 1. Skapa en programregistrering
Navigera till sidan Microsoft Entra programregistrering och skapa en ny registrering. Ge programmet ett namn och kontrollera att alternativet för en klientorganisation har markerats. Du kan hoppa över installationen av omdirigerad URI.
Steg 2. Konfigurera API-behörigheter
Navigera till fliken Hantera – API-behörigheter i den nya programregistreringen. Under Konfigurera behörigheter, välj Lägg till en behörighet. I dialogfönstret som öppnas, välj fliken API:er min organisation använder och sök sedan efter Power Platform API. Du kan se flera poster med ett namn som liknar det här, så se till att du använder den med GUID 8578e004-a5c6-46e7-913e-12f58912df43.
Om du inte ser Power Platform API som visas i listan när du söker med GUID är det möjligt att du fortfarande har tillgång till det men synligheten uppdateras inte. Kör PowerShell-skriptet nedan för att tvinga fram en uppdatering:
#Install the Microsoft Entra the module
Install-Module AzureAD
Connect-AzureAD
New-AzureADServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"
Härifrån måste du välja vilka behörigheter du vill ha. Dessa är grupperade efter namnutrymme. I ett namnutrymme visas resurstyper och åtgärder, till exempel AppManagement.ApplicationPackages.Read som ger läsbehörigheter för programpaket. Mer information finns i artikeln behörighetsreferens.
Kommentar
Power Platform API använder bara delegerade behörigheter för detta tillfälle. För program som körs med en användarkontext begär du delegerade behörigheter med hjälp av parametern omfattning. Dessa behörigheter delegerar privilegierna för den inloggade användaren till ditt program, vilket gör att den kan fungera som användare när API-slutpunkter Power Platform anropas.
För tjänstens huvudidentiteter används inte programbehörigheter. I stället behandlas tjänsthuvudman som administratörer Power Platform i dag och måste registreras genom att följa PowerShell – Skapa tjänstens huvudnamn.
När de behörigheter som krävs har lagts till i programmet väljer du Bevilja administratörsgodkännande för att slutföra installationen. Detta är nödvändigt i de fall där du vill tillåta användare att komma åt programmet på en gång, i stället för att kräva en interaktiv godkännandeupplevelse. Om du kan stödja interaktivt godkännande rekommenderar vi att du följer Microsofts identitetsplattform och OAuth 2.0 autentiseringskodflöde.
Steg 3. Konfigurera offentlig klient (valfritt)
Om programmet kräver att du läser och skriver resurser för en användares räkning, måste du aktivera inställningen För offentlig klient. Det här är det enda sättet Microsoft Entra ID att acceptera egenskaper för användarnamn och lösenord i din tokenbegärans brödtext. Observera också att om du planerar att använda den här funktionen fungerar den inte för konton som har multifaktorautentisering aktiverat.
Om du vill aktivera går du till fliken Hantera – autentisering. Under avsnittet Avancerade inställningar ställer du in den offentliga klienten till Ja.
Steg 4. Konfigurera certifikat och hemligheter (valfritt)
Om programmet kräver att du läser och skriver resurser som sig själv, även kallat tjänstens huvudkonto, finns det två sätt att autentisera. Om du vill använda certifikat navigerar du till fliken Hantera – Certifikat och hemligheter. Under avsnittet Certifikat, ladda upp x509-Certifikat du kan använda för autentisering. Det andra sättet är att använda avsnittet Hemligheter för att skapa en klienthemlighet. Spara sekreten på en säker plats som kan användas med dina automatiseringsbehov. Certifikat- eller klientalternativen gör att du kan autentisera med Microsoft Entra och få en token för den här klienten, som du kommer att skicka vidare till antingen REST API:er eller PowerShell-cmdlet.
Steg 5. Begära en åtkomsttoken
Det finns två sätt att få åtkomst till en token. Den ena används för användarnamn och lösenord och den andra för tjänstobjekt.
Användarnamn och lösenordsflöde
Läs avsnittet offentlig klient ovan. Skicka sedan en POST-förfrågan via HTTP till Microsoft Entra ID med ett användarnamn och en nyttolast för lösenord.
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
Exemplet ovan innehåller platshållare som du kan hämta från klientprogrammet i Microsoft Entra ID. Du får ett svar som kan användas för att ringa efterföljande anrop till Power Platform API.
{
"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..."
}
Använd värdet access_token i efterföljande anrop till Power Platform API med Auktorisering HTTP-rubrik.
Flöde för huvudkonto för tjänsten
Läs avsnittet Certifikat och hemligheter ovan. Skicka sedan en POST-förfrågan via HTTP till Microsoft Entra ID med nyttolast för lösenord. Detta kallas ofta för autentisering av tjänstens huvudnamn.
Viktigt!
Detta kan endast användas när du har registrerat klientprogrammets ID med Microsoft Power Platform följande antingen tillhörande 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
Exemplet ovan innehåller platshållare som du kan hämta från klientprogrammet i Microsoft Entra ID. Du får ett svar som kan användas för att ringa efterföljande anrop till Power Platform API.
{
"token_type": "Bearer",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1..."
}
Använd värdet access_token i efterföljande anrop till Power Platform API med Auktorisering HTTP-rubrik. Som nämnts ovan använder inte tjänstens huvudflöde programbehörigheter och behandlas för tillfället som en Power Platform administratör för alla samtal de ringer.
Se även
Skapa en app för tjänstens huvudnamn via API (förhandsversion)
PowerShell - Skapa tjänsthuvudkonto