Proteggere l'accesso al portale per sviluppatori di Gestione API
SI APPLICA A: Sviluppatore | Basic | Basic v2 | Standard | Standard v2 | Premium | Premium v2
API Management offre un portale per sviluppatori completamente personalizzabile, autonomo e gestito, che può essere usato esternamente (o internamente) per consentire agli utenti di sviluppatori di individuare e interagire con le API pubblicate tramite API Management. Il portale per sviluppatori offre diverse opzioni per facilitare l'iscrizione e l'accesso sicuro degli utenti.
Nota
Per impostazione predefinita, il portale per sviluppatori abilita l'accesso anonimo. Ciò significa che chiunque può visualizzare il portale e il contenuto, ad esempio le API senza eseguire l'accesso, anche se la funzionalità, ad esempio l'uso della console di test, è limitata. È possibile abilitare un'impostazione che richiede agli utenti di accedere per visualizzare il portale per sviluppatori. Nel portale di Azure, nel menu a sinistra dell'istanza di Gestione API, in Portale per sviluppatori selezionare Impostazioni identità>. In Utenti anonimi selezionare (abilita) Reindirizzare gli utenti anonimi alla pagina di accesso.
Opzioni di autenticazione
Utenti esterni: l'opzione preferita quando il portale per sviluppatori viene utilizzato esternamente consiste nell'abilitare il controllo degli accessi business-to-consumer tramite Azure Active Directory B2C (Azure AD B2C).
- Azure AD B2C offre la possibilità di usare gli account nativi di Azure AD B2C: gli utenti si iscrivono ad Azure AD B2C e usano tale identità per accedere al portale per sviluppatori.
- Azure AD B2C è utile anche se si desidera che gli utenti accedano al portale per sviluppatori usando i social media esistenti o gli account dell'organizzazione federati.
- Azure AD B2C offre molte funzionalità per migliorare l'esperienza di iscrizione e accesso degli utenti finali, tra cui l'accesso condizionale e l'autenticazione a più fattori.
Per la procedura per abilitare l'autenticazione di Azure AD B2C nel portale per sviluppatori, vedere Come autorizzare gli account per sviluppatori usando Azure Active Directory B2C in API Management di Azure.
Utenti interni: l'opzione preferita quando il portale per sviluppatori viene utilizzato internamente consiste nel sfruttare l'ID Microsoft Entra aziendale. Microsoft Entra ID offre un'esperienza single sign-on (SSO) facile per gli utenti aziendali che devono accedere e individuare le API tramite il portale per sviluppatori.
Per la procedura per abilitare l'autenticazione di Microsoft Entra nel portale per sviluppatori, vedere Come autorizzare gli account per sviluppatori usando Microsoft Entra ID in API Management di Azure.
ti Autenticazione di base: un'opzione predefinita consiste nell'usare il provider di nomi utenti e password del portale per sviluppatori integrato, che consente agli sviluppatori di registrarsi direttamente in API Management e accedere usando gli account utente di API Management. L'iscrizione utente tramite questa opzione è protetta da un servizio CAPTCHA.
Console di test del portale per sviluppatori
Oltre a fornire la configurazione per consentire agli utenti degli sviluppatori di iscriversi per l'accesso e l'accesso, il portale per sviluppatori include una console di test in cui gli sviluppatori possono inviare richieste di test tramite API Management alle API back-end. Questa funzionalità di test esiste anche per contribuire agli utenti di API Management che gestiscono il servizio tramite il portale di Azure.
Se l'API esposta tramite API Management di Azure è protetta con OAuth 2.0, ovvero un'applicazione chiamante (bearer token) deve ottenere e passare un token di accesso valido. È possibile configurare API Management per generare un token valido per conto di un utente della console di test del portale di Azure o del portale per sviluppatori. Per altre informazioni, vedere Come autorizzare la console di test del portale per sviluppatori configurando l'autorizzazione utente OAuth 2.0.
Per abilitare la console di test per acquisire un token OAuth 2.0 valido per il test dell'API:
Aggiungere un server di autorizzazione utente OAuth 2.0 all'istanza. È possibile usare qualsiasi provider OAuth 2.0, inclusi l'ID Microsoft Entra, Azure AD B2C o un provider di identità di terze parti.
Configurare quindi l'API con le impostazioni per il server di autorizzazione. Nel portale configurare l'autorizzazione OAuth 2.0 nella pagina Impostazioni >Sicurezza>Autorizzazione utente dell'API.
Questa configurazione OAuth 2.0 per il test dell'API è indipendente dalla configurazione necessaria per l'accesso utente al portale per sviluppatori. Tuttavia, il provider di identità e l'utente potrebbero essere uguali. Ad esempio, un'applicazione Intranet potrebbe richiedere l'accesso utente al portale per sviluppatori usando SSO con l'identità aziendale. La stessa identità aziendale potrebbe ottenere un token, tramite la console di test, per il servizio back-end chiamato con lo stesso contesto utente.
Scenari
Diverse opzioni di autenticazione e autorizzazione si applicano a diversi scenari. Le sezioni seguenti illustrano le configurazioni di alto livello per tre scenari di esempio. Sono necessari altri passaggi per proteggere e configurare completamente le API esposte tramite API Management. Tuttavia, gli scenari si concentrano intenzionalmente sulle configurazioni minime consigliate in ogni caso per fornire l'autenticazione e l'autorizzazione necessarie.
Scenario 1 - API Intranet e applicazioni
- Un collaboratore di API Management e uno sviluppatore di API back-end desidera pubblicare un'API protetta da OAuth 2.0.
- L'API verrà utilizzata dalle applicazioni desktop i cui utenti accedono tramite SSO tramite Microsoft Entra ID.
- Gli sviluppatori di applicazioni desktop devono anche individuare e testare le API tramite il portale per sviluppatori di API Management.
Configurazioni chiave:
Impostazione | Riferimento |
---|---|
Autorizzare gli utenti sviluppatori del portale per sviluppatori di API Management usando le identità aziendali e l'ID Microsoft Entra. | Autorizzare gli account per sviluppatori utilizzando Microsoft Entra ID in Gestione API di Azure |
Configurare la console di test nel portale per sviluppatori per ottenere un token OAuth 2.0 valido per gli sviluppatori di app desktop per esercitare l'API back-end. La stessa configurazione può essere usata per la console di test nel portale di Azure, accessibile ai collaboratori di API Management e agli sviluppatori back-end. Il token può essere usato in combinazione con una chiave di sottoscrizione di API Management. |
Come autorizzare la console di test del portale per sviluppatori configurando l'autorizzazione utente OAuth 2.0 Sottoscrizioni in Gestione API di Azure |
Convalidare il token OAuth 2.0 e le attestazioni quando un'API viene chiamata tramite API Management con un token di accesso. | Criterio Convalida token JWT |
Proseguire con questo scenario spostando API Management nel perimetro di rete e controllando l'ingresso tramite un proxy inverso. Per un'architettura di riferimento, vedere Proteggere le API con il gateway applicazione e API Management.
Scenario 2 - API esterna, applicazione partner
- Un collaboratore di API Management e uno sviluppatore di API back-end desidera intraprendere un modello di verifica rapido per esporre un'API legacy tramite API Management di Azure. L'API tramite API Management verrà visualizzata esternamente (Internet).
- L'API usa l'autenticazione del certificato client e verrà utilizzata da una nuova app a pagina singola (SPA) pubblica sviluppata da un partner.
- L'applicazione a pagina singola usa OAuth 2.0 con OpenID Connect (OIDC).
- Gli sviluppatori di applicazioni accederanno all'API in un ambiente di test tramite il portale per sviluppatori, usando un endpoint back-end di test per accelerare lo sviluppo front-end.
Configurazioni chiave:
Impostazione | Riferimento |
---|---|
Configurare l'accesso per sviluppatori front-end al portale per sviluppatori usando l'autenticazione predefinita del nome utente e della password. Gli sviluppatori possono anche essere invitati al portale per sviluppatori. |
Configurare gli utenti del portale per sviluppatori per l'autenticazione tramite nomi utente e password Come gestire gli account utente in Gestione API di Azure |
Convalidare il token OAuth 2.0 e le attestazioni quando l'applicazione a pagina singola chiama API Management con un token di accesso. In questo caso, il gruppo di destinatari è API Management. | Criterio Convalida token JWT |
Configurare API Management per usare l'autenticazione del certificato client nel back-end. | Proteggere i servizi back-end usando l'autenticazione del certificato client in API Management di Azure |
Per proseguire con questo scenario, usare il portale per sviluppatori con l'autorizzazione Microsoft Entra e la collaborazione B2B di Microsoft Entra per consentire ai partner di recapito di collaborare più strettamente. Provare a delegare l'accesso a API Management tramite il controllo degli accessi in base al ruolo in un ambiente di sviluppo o test e abilitare l'accesso SSO nel portale per sviluppatori usando le proprie credenziali aziendali.
Scenario 3 - API esterna, SaaS, aperta al pubblico
Un collaboratore di API Management e uno sviluppatore di API back-end sta scrivendo diverse nuove API che saranno disponibili per gli sviluppatori della community.
Le API saranno disponibili pubblicamente, con funzionalità complete protette dietro un paywall e protette con OAuth 2.0. Dopo aver acquistato una licenza, allo sviluppatore saranno fornite le credenziali client e la chiave di sottoscrizione valida per l'uso in produzione.
Gli sviluppatori della community esterna scopriranno le API usando il portale per sviluppatori. Gli sviluppatori eseguiranno l'iscrizione e l'accesso al portale per sviluppatori usando i propri account di social media.
Gli utenti del portale per sviluppatori interessati con una chiave di sottoscrizione di test possono esplorare la funzionalità API in un contesto di test, senza dover acquistare una licenza. La console di test del portale per sviluppatori rappresenterà l'applicazione chiamante e genererà un token di accesso predefinito per l'API back-end.
Attenzione
È necessario prestare particolare attenzione quando si usa un flusso di credenziali client con la console di test del portale per sviluppatori. Vedere Considerazioni relative alla sicurezza.
Configurazioni chiave:
Impostazione | Riferimento |
---|---|
Configurare i prodotti in API Management di Azure per rappresentare le combinazioni di API esposte agli sviluppatori della community. Configurare le sottoscrizioni per consentire agli sviluppatori di usare le API. |
Esercitazione: Creare e pubblicare un prodotto Sottoscrizioni in Gestione API di Azure |
Configurare l'accesso degli sviluppatori della community al portale per sviluppatori usando Azure AD B2C. Azure AD B2C può quindi essere configurato per l'uso con uno o più provider di identità di social media downstream. | Come autorizzare gli account per sviluppatore usando Azure Active Directory B2C in Gestione API di Azure |
Configurare la console di test nel portale per sviluppatori per ottenere un token OAuth 2.0 valido per l'API back-end usando il flusso di credenziali client. | Come autorizzare la console di test del portale per sviluppatori configurando l'autorizzazione utente OAuth 2.0 Modificare i passaggi di configurazione illustrati in questo articolo per usare il flusso di concessione delle credenziali client anziché il flusso di concessione del codice di autorizzazione. |
Proseguire delegando registrazione utente o sottoscrizione di prodotto ed estendere il processo con la propria logica.
Passaggi successivi
- Altre informazioni sull'autenticazione e l'autorizzazione nella piattaforma di identità Microsoft.
- Informazioni su come attenuare le minacce alla sicurezza dell'API OWASP usando API Management.