Autenticazione (anteprima)

Questo articolo offre una panoramica della configurazione di Microsoft Entra per la chiamata all'API di Power Platform (anteprima). Per accedere alle risorse disponibili tramite l'API di Power Platform, devi ottenere un token di connessione da Microsoft Entra e inviarlo come intestazione insieme a ogni richiesta. A seconda del tipo di identità che stai supportando (utente o entità servizio), sono disponibili flussi diversi per ottenere questo token di connessione, come descritto in questo articolo.

Per ottenere un token di connessione con le autorizzazioni corrette devi eseguire le seguenti operazioni:

  1. Creare una registrazione dell'applicazione nel tenant di Microsoft Entra
  2. Configurare autorizzazioni API
  3. Configurare un client pubblico (facoltativo)
  4. Configurare certificati e segreti (facoltativo)
  5. Richiedere un token di accesso

Passaggio 1: creare una registrazione dell'applicazione

Vai alla pagina Registrazione dell'app Microsoft Entra e crea una nuova registrazione. Assegna un nome all'applicazione e assicurati che l'opzione Singolo tenant sia selezionata. Puoi ignorare la configurazione dell'URI di reindirizzamento.

Passaggio 2: Configurare autorizzazioni API

Nella nuova registrazione dell'applicazione, vai alla scheda Gestisci - Autorizzazioni API. Nella sezione Configura autorizzazioni, seleziona Aggiungi un'autorizzazione. Nella finestra di dialogo che viene visualizzata, seleziona la scheda API utilizzate dall'organizzazione, quindi cerca API di Power Platform. È possibile che vengano visualizzate varie voci con un nome simile a questo, quindi assicurati di utilizzare quella con il GUID 8578e004-a5c6-46e7-913e-12f58912df43.

Se l'API di Power Platform non è visualizzata nell'elenco durante la ricerca per GUID, è possibile che tu abbia ancora accesso alla stessa ma che la visibilità non è stata aggiornata. Per forzare un aggiornamento esegui lo script PowerShell seguente:

#Install the Microsoft Entra the module
Install-Module AzureAD

Connect-AzureAD
New-AzureADServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"

Da qui, devi selezionare le autorizzazioni necessarie. Queste sono raggruppate per spazi dei nomi. In uno spazio dei nomi, vedrai i tipi di risorse e le azioni, ad esempio AppManagement.ApplicationPackages.Read, che fornisce autorizzazioni di lettura per i pacchetti dell'applicazione. Per maggiori informazioni, consulta l'articolo Riferimento autorizzazione.

Nota

L'API di Power Platform utilizza al momento solo le autorizzazioni delegate. Per le applicazioni eseguite con un contesto utente, richiedi autorizzazioni delegate utilizzando il parametro scope. Queste autorizzazioni delegano i privilegi dell'utente che ha eseguito l'accesso all'applicazione, consentendo a questa di agire come utente durante la chiamata degli endpoint API di Power Platform.

Per le identità dell'entità servizio, le autorizzazioni dell'applicazione non vengono utilizzate. Le entità servizio sono invece attualmente trattate come amministratori di Power Platform e devono essere registrate seguendo PowerShell: creare entità servizio.

Dopo l'aggiunta delle autorizzazioni necessarie all'applicazione, seleziona Concedi consenso amministratore per completare la configurazione. Ciò è necessario nei casi in cui desideri consentire agli utenti di accedere immediatamente alla tua app, anziché richiedere un'esperienza di consenso interattiva. Se puoi supportare il consenso interattivo, ti consigliamo di seguire Piattaforma di identità Microsoft e flusso del codice di autorizzazione OAuth 2.0.

Passaggio 3: Configurare un client pubblico (facoltativo)

Se la tua app richiede risorse di lettura e scrittura per conto di un utente, devi abilitare l'impostazione Client pubblico. Questo è l'unico modo in cui Microsoft Entra ID accetta le proprietà nome utente e password nel corpo della richiesta del token. Nota inoltre che se prevedi di utilizzare questa funzionalità, non funzionerà per gli account per i quali è abilitata l'autenticazione a più fattori.

Per abilitarla, accedi alla scheda Gestisci - Autenticazione. Nella sezione Impostazioni avanzate, imposta lo switch Cliente pubblico su .

Passaggio 4: Configurare certificati e segreti (facoltativo)

Se la tua app richiede risorse di lettura e scrittura, note anche come entità servizio, esistono due modi per eseguire l'autenticazione. Per utilizzare i certificati, accedi alla scheda Gestisci - Certificati e segreti. Nella sezione Certificati, carica un certificato x509 che puoi utilizzare per l'autenticazione. L'altro modo è usare la sezione Segreti per generare un segreto client. Salva il segreto in una posizione sicura per utilizzarlo secondo le esigenze di automazione. Le opzioni di segreto o certificato ti consentono di eseguire l'autenticazione con Microsoft Entra e di ricevere un token per questo client, che passerai alle API REST o ai cmdlet di PowerShell.

Passaggio 5: Richiedere un token di accesso

Esistono due modi per ottenere un token di connessione di accesso. Uno è per il nome utente e la password e l'altro è per le entità servizio.

Flusso di nome utente e password

Assicurati di leggere la sezione Cliente pubblico sopra. Quindi, invia una richiesta POST tramite HTTP a Microsoft Entra ID con un payload nome utente e password.

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

L'esempio precedente contiene segnaposto che puoi recuperare dall'applicazione client in Microsoft Entra ID. Riceverai una risposta che può essere utilizzata per effettuare chiamate successive all'API di 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..."
}

Utilizza il valore access_token nelle chiamate successive all'API di Power Platform con l'intestazione HTTP Autorizzazione.

Flusso di entità servizio

Assicurati di leggere la sezione Certificati e segreti sopra. Quindi, invia una richiesta POST tramite HTTP a Microsoft Entra ID con un payload segreto client. Questa viene spesso indicata come autenticazione dell'entità servizio.

Importante

Questa può essere utilizzata solo dopo aver registrato questo ID applicazione client con Microsoft Power Platform dopo la documentazione PowerShell o REST correlata.

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

L'esempio precedente contiene segnaposto che puoi recuperare dall'applicazione client in Microsoft Entra ID. Riceverai una risposta che può essere utilizzata per effettuare chiamate successive all'API di Power Platform.

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

Utilizza il valore access_token nelle chiamate successive all'API di Power Platform con l'intestazione HTTP Autorizzazione. Come indicato sopra, il flusso di entità servizio non utilizza le autorizzazioni dell'applicazione ed è invece, per ora, trattato come amministratore di Power Platform per tutte le chiamate che effettua.

Vedi anche

Creazione di un'applicazione entità servizio tramite API (anteprima)
PowerShell: creare entità servizio