Uso delle API con Azure AD

Completato

L'autenticazione di Microsoft Entra ID è uno schema di autenticazione consigliato. Diversamente da altri approcci, ha i seguenti attributi univoci:

  • Consente l'autenticazione per conto dell'utente che sta usando la connessione, il che significa che gli utenti non possono accedere alle risorse a cui non hanno già accesso. Il servizio di destinazione mantiene la responsabilità di applicare ciò che è consentito all'utente autenticato.

  • Il servizio di destinazione conosce l'identità dell'utente che sta eseguendo la connessione e consente quindi più controlli tramite le informazioni di Azure AD senza chiedere esplicitamente all'utente ulteriori dettagli.

  • Supporta le identità gestite dove l'accesso controllato alla risorsa sottostante elimina la necessità per sviluppatori e utenti di dover gestire le credenziali.

Gli elementi interni del connettore personalizzato protetto Azure AD sono simili a un connettore protetto generico.

Connettore personalizzato protetto con l'autenticazione di Azure AD.

La differenza principale è che il connettore personalizzato e il servizio app di destinazione vengono registrati come app all'interno di Azure AD. Questo fattore consente ai creatori di applicare le autorizzazioni appropriate e quindi trasmettere al servizio sottostante l'identità dell'utente chiamante da un'app in Power Apps, un flusso di Power Automate o un flusso di lavoro di App per la logica.

Il servizio può essere già registrato in Azure AD, come l'API Microsoft Graph oppure può essere un servizio personalizzato implementato usando, ad esempio, Funzioni di Azure o Servizio app di Microsoft Azure. La caratteristica importante del servizio è che protegge e autorizza l'accesso alle risorse protette usando l'identità Azure AD del chiamante.

Abilitazione dell'autenticazione di Azure AD

Se un'organizzazione dispone già di un'implementazione del servizio tramite Funzioni di Azure o Servizio app di Azure, l'aggiunta dell'autenticazione di Azure AD è un semplice esercizio di configurazione.

Passaggi per abilitare l'autenticazione di Azure AD per il Servizio app di Azure esistente.

  1. Selezionare il pannello Autenticazione/Autorizzazione.

  2. Abilitare Autenticazione servizio app.

  3. Impostare l'azione predefinita in caso di accesso non autorizzato.

  4. Configurare e registrare l'app in Microsoft Entra ID.

Con l'abilitazione dell'autenticazione di Azure AD si rendono disponibili le informazioni sull'identità del chiamante al servizio sottostante che ora può usare queste informazioni.

Configurazione del connettore

I chiamanti possono accedere al servizio sottostante solo tramite un connettore personalizzato. Per consentire al connettore di passare attraverso l'identità del chiamante, è necessario che sia registrato come app separata in Azure AD. Inoltre, è necessario concedere le autorizzazioni delegate al servizio API in modo che possa eseguire azioni per conto del chiamante.

Schermata di Azure Richiedi le autorizzazioni dell'API che evidenzia le autorizzazioni delegate necessarie per un connettore personalizzato.

Poiché il connettore personalizzato accede all'API per conto dell'utente, è necessario il consenso. In genere il consenso viene richiesto agli utenti quando viene creata una connessione dal connettore personalizzato. Alcune autorizzazioni potrebbero richiedere il consenso amministrativo, che può essere concesso da un amministratore per tutti gli utenti dell'organizzazione.

Una volta che il connettore personalizzato è stato registrato in Azure AD, è possibile configurarlo usando la procedura guidata del connettore personalizzato.

Screenshot della schermata di configurazione della sicurezza con Microsoft Entra ID selezionato come opzione di autenticazione.

Selezionare OAuth 2.0 come tipo di autenticazione e quindi impostare il provider di identità su Microsoft Entra ID. Sono obbligatori i parametri seguenti:

  • ID client: ID dell'app Azure AD che identifica il connettore.

  • Segreto: segreto creato durante la registrazione dell'app Azure AD.

  • URL risorsa: identificatore della risorsa per il servizio.

Dopo aver salvato la configurazione, l'URL di reindirizzamento diventa disponibile per essere aggiunto come callback valido alla registrazione dell'app.

La configurazione è archiviata nel file apiProperties.json e gli sviluppatori possono anche usare gli strumenti della riga di comando paconn per aggiornare la configurazione come necessario. Ad esempio la chiave segreta anziché essere definita dal creatore, può essere gestita e ruotata automaticamente come parte della distribuzione aziendale.

Passaggi per configurare i connettori con Microsoft Entra ID

Seguire questi passaggi per impostare e configurare i connettori con Azure AD:

  1. Registrare due app Azure AD:

    • Una per identificare e proteggere il servizio API

    • Una per identificare e proteggere il connettore

  2. Delegare le autorizzazioni. Consentire all'app registrata del connettore di effettuare chiamate "per conto" di qualcun altro all'identità del servizio.

  3. Definire il connettore fornendo l'ID client, il segreto e l'URL risorsa.

  4. Aggiungere gli URL di reindirizzamento alla registrazione dell'app del connettore.

  5. Se il servizio è configurato con lo schema Condivisione di risorse tra le origini (CORS, Cross-Origin Resource Sharing), consentire nel servizio l'elenco dei domini di Gestione API di Azure (in genere azure-apim.net) per CORS.

La configurazione dell'autenticazione di Azure AD prevede più passaggi per registrare app e identità in Azure AD, ma offre tanti vantaggi che la rendono lo schema preferito per la protezione dei connettori personalizzati.