Condividi tramite


Connetti privatamente a Gestione delle API utilizzando un endpoint privato interno

SI APPLICA A: Sviluppatore | Basic | Standard | Standard v2 | Premium | Premium v2

È possibile configurare un endpoint privato in ingresso per l'istanza di API Management per consentire ai client nella rete privata di accedere in modo sicuro all'istanza tramite Collegamento privato di Azure.

  • L'endpoint privato usa un indirizzo IP di una rete virtuale di Azure in cui è ospitata.

  • Il traffico di rete tra un client nella rete privata e Gestione API attraversa la rete virtuale e un collegamento privato nella rete backbone Microsoft, eliminando l'esposizione dalla rete Internet pubblica.

  • Configurare impostazioni DNS personalizzate o una zona privata di DNS di Azure per eseguire il mapping del nome host di Gestione API all'indirizzo IP privato dell'endpoint.

Diagramma che mostra una connessione in ingresso sicura a Gestione API usando un endpoint privato.

Con un endpoint privato e collegamento privato è possibile:

  • Creare più connessioni del collegamento privato a un'istanza di Gestione API.

  • Usare l'endpoint privato per inviare il traffico in ingresso su una connessione sicura.

  • Usare criteri per distinguere il traffico proveniente dall'endpoint privato.

  • Limitare il traffico in ingresso solo agli endpoint privati, impedendo l'esfiltrazione di dati.

  • Combinare endpoint privati in ingresso a istanze Standard v2 con l'integrazione della rete virtuale in uscita per fornire l'isolamento di rete end-to-end dei client di Gestione API e dei servizi back-end.

    Diagramma che mostra una connessione protetta in ingresso a Gestione API Standard v2 tramite l'endpoint privato.

Importante

  • È possibile configurare solo una connessione di endpoint privato per traffico in ingresso all'istanza di API Management.
  • È possibile disabilitare solo l'accesso alla rete pubblica all'istanza di Gestione API dopo aver configurato un endpoint privato.

Limitazioni

  • Solo Gateway endpoint dell'istanza di Gestione API supporta le connessioni Private Link in ingresso.
  • Ogni istanza di API Management supporta al massimo 100 connessioni al collegamento privato.
  • Le connessioni non sono supportate nel gateway self-hosted o in un gateway dell'area di lavoro.
  • Nei livelli di Gestione API classici gli endpoint privati non sono supportati nelle istanze inserite in una rete virtuale interna o esterna.

Scenari tipici

Usare un endpoint privato in ingresso per consentire l'accesso privato direttamente al gateway di Gestione API per limitare l'esposizione di dati sensibili o back-end.

Le configurazioni supportate includono:

  • Passare le richieste client tramite un firewall e configurare le regole per instradare le richieste privatamente al gateway di Gestione API.

  • Configurare Azure Front Door (o Azure Front Door con Azure Application Gateway) per ricevere traffico esterno e per poi instradare il traffico privatamente al gateway di API Management. Ad esempio, vedere Connettere Azure Front Door Premium ad Azure API Management con un collegamento privato.

    Note

    Attualmente, il routing del traffico privatamente da Frontdoor di Azure a un'istanza di Gestione API Premium v2 non è supportato.

Prerequisiti

  • Un'istanza di API Management esistente. Crearne una se non è già stato fatto.
    • Quando si usa un'istanza nel livello Developer o Premium classico, non distribuire (inserire) l'istanza in una rete virtuale esterna o interna.
  • Disponibilità del tipo di endpoint privato nella gestione delle API nella sottoscrizione e nella regione.
  • Una rete virtuale contenente una subnet per ospitare l'endpoint privato. La subnet può contenere altre risorse di Azure, ma non può essere delegata a un altro servizio.
  • (Scelta consigliata) Una macchina virtuale nella stessa subnet o in una subnet diversa nella rete virtuale, per testare l'endpoint privato.

Metodo di approvazione per l'endpoint privato

In genere, un amministratore di rete crea un endpoint privato. A seconda delle autorizzazioni di controllo degli accessi in base al ruolo (RBAC) di Azure, un endpoint privato creato viene approvato automaticamente per inviare traffico all'istanza di API Management oppure richiede al proprietario della risorsa di approvare manualmente la connessione.

Metodo di approvazione Autorizzazioni del controllo degli accessi in base al ruolo minime
Automatico Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read
Microsoft.ApiManagement/service/**
Microsoft.ApiManagement/service/privateEndpointConnections/**
Manuale Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read

Passaggi per configurare l'endpoint privato

Seguire questa procedura per creare e configurare un endpoint privato per l'istanza di Gestione API.

Creare un endpoint privato - portale

Nei livelli classici è possibile creare un endpoint privato quando si crea un'istanza di Gestione API nel portale di Azure oppure è possibile aggiungere un endpoint privato a un'istanza esistente.

Creare un endpoint privato durante la creazione di un'istanza di Gestione API

  1. Nella procedura guidata Crea servizio Gestione API selezionare la scheda Rete .

  2. In Tipo di connettività selezionare Endpoint privato.

  3. Seleziona + Aggiungi.

  4. Nella pagina Crea endpoint privato immettere o selezionare le informazioni seguenti:

    Impostazione valore
    Abbonamento Selezionare la propria sottoscrizione.
    Gruppo di risorse Selezionare un gruppo di risorse esistente o crearne uno nuovo. Deve trovarsi nella stessa area della rete virtuale.
    Posizione Selezionare un percorso per l'endpoint privato. Deve trovarsi nella stessa area della rete virtuale. Può differire dall'area in cui è ospitata l'istanza di Gestione API.
    Nome Immettere un nome per l'endpoint privato, ad esempio myPrivateEndpoint.
    Risorsa secondaria Selezionare Gateway.
  5. In Rete immettere o selezionare la rete virtuale e la subnet per l'endpoint privato.

  6. In Integrazione DNS privato selezionare Integrazione con la zona DNS privata. Viene visualizzata la zona DNS predefinita: privatelink.azure-api.net.

  7. Seleziona OK.

  8. Continuare con la creazione dell'istanza di Gestione API.

Creare un endpoint privato per l'istanza di Gestione API esistente

  1. Passare al servizio Gestione API nel portale di Azure.

  2. Nel menu a sinistra, in Distribuzione + infrastruttura, selezionare Rete.

  3. Selezionare Connessioni endpoint privato in ingresso>+ Aggiungi endpoint.

    Screenshot che mostra come aggiungere un endpoint privato usando il portale di Azure.

  4. Nella scheda Informazioni di base immettere o selezionare le informazioni seguenti:

    Impostazione valore
    Dettagli del progetto
    Abbonamento Selezionare la propria sottoscrizione.
    Gruppo di risorse Selezionare un gruppo di risorse esistente o crearne uno nuovo. Deve trovarsi nella stessa area della rete virtuale.
    Dettagli istanza
    Nome Immettere un nome per l'endpoint privato, ad esempio myPrivateEndpoint.
    Nome interfaccia di rete Immettere un nome per l'interfaccia di rete, ad esempio myInterface
    Region Selezionare un percorso per l'endpoint privato. Deve trovarsi nella stessa area della rete virtuale. Può differire dall'area in cui è ospitata l'istanza di Gestione API.
  5. Selezionare il pulsante Avanti: Risorsa nella parte inferiore della schermata. Le informazioni seguenti sull'istanza di API Management sono già popolate:

    • Abbonamento
    • Tipo di risorsa
    • Nome risorsa
  6. In Risorsa, Sotto-risorsa di destinazione selezionare Gateway.

    Screenshot che mostra le impostazioni per creare un endpoint privato nel portale di Azure.

    Importante

    Per Gestione API è supportata solo la risorsa gateway secondaria. Altre risorse secondarie non sono supportate.

  7. Selezionare il pulsante Avanti: Rete virtuale nella parte inferiore della schermata.

  8. In Rete virtuale immettere o selezionare queste informazioni:

    Impostazione valore
    Rete virtuale Selezionare la rete virtuale.
    Subnet Selezionare la subnet.
    Configurazione IP privato Nella maggior parte dei casi selezionare Alloca dinamicamente l'indirizzo IP.
    Gruppo di sicurezza dell'applicazione Facoltativamente, selezionare un gruppo di sicurezza delle applicazioni.
  9. Selezionare il pulsante Avanti: DNS nella parte inferiore della schermata.

  10. In Integrazione DNS privato immettere o selezionare queste informazioni:

    Impostazione valore
    Integra con la zona DNS privato Lasciare l'impostazione predefinita .
    Abbonamento Selezionare la propria sottoscrizione.
    Gruppo di risorse Selezionare un gruppo di risorse.
    Zone DNS privato Viene visualizzato il valore predefinito: (nuovo) privatelink.azure-api.net.
  11. Selezionare Avanti: schede nella parte inferiore della schermata. Se si vuole, immettere i tag per organizzare le risorse di Azure.

  12. Selezionare Avanti: Rivedi e crea nella parte inferiore della schermata. Selezionare Crea.

Elencare le connessioni di endpoint privati all'istanza

Dopo aver creato l'endpoint privato e aggiornato il servizio, l'endpoint privato viene visualizzato nell'elenco nella pagina Connessioni endpoint private in ingresso dell'istanza di Gestione API nel portale.

Si noti lo stato connessione dell'endpoint:

  • Approvato indica che la risorsa API Management ha approvato automaticamente la connessione.
  • In sospeso indica che la connessione deve essere approvata manualmente dal proprietario della risorsa.

Approvare le connessioni di endpoint privati in sospeso

Se una connessione dell'endpoint privato è in uno stato di sospeso, un proprietario dell'istanza di Gestione API deve approvarla manualmente prima che possa essere utilizzata.

Se si dispone di autorizzazioni sufficienti, approvare una connessione di endpoint privato nella pagina Connessioni di endpoint privati dell'istanza di API Management nel portale. Nel menu di scelta rapida della connessione (...) selezionare Approva.

È anche possibile usare la connessione endpoint privato di Gestione API - Creare o aggiornare l'API REST per approvare le connessioni endpoint private in sospeso.

Facoltativamente, disabilitare l'accesso alla rete pubblica

Per limitare il traffico in ingresso all'istanza di Gestione API solo agli endpoint privati, disabilitare la proprietà di accesso alla rete pubblica.

Importante

  • È possibile disabilitare l'accesso alla rete pubblica dopo aver configurato un endpoint privato.
  • È possibile disabilitare l'accesso alla rete pubblica in un'istanza di Gestione API esistente , non durante il processo di distribuzione.

Note

È possibile disabilitare l'accesso alla rete pubblica nelle istanze di Gestione API configurate con un endpoint privato, non con altre configurazioni di rete.

Per disabilitare la proprietà di accesso alla rete pubblica nei livelli classici usando l'interfaccia della riga di comando di Azure, eseguire il comando az apim update seguente, sostituendo i nomi dell'istanza di Gestione API e del gruppo di risorse:

az apim update --name my-apim-service --resource-group my-resource-group --public-network-access false

È anche possibile usare il Servizio Gestione API - Aggiornare l'API REST per disabilitare l'accesso alla rete pubblica impostando la proprietà publicNetworkAccess su Disabled.

Convalida connessione di endpoint privato

Dopo aver creato l'endpoint privato, verificare le relative impostazioni DNS nel portale.

  1. Passare al servizio Gestione API nel portale di Azure.

  2. Nel menu a sinistra, in Distribuzione + Infrastruttura selezionare Rete>Connessioni di endpoint privati in ingresso quindi selezionare l'endpoint privato creato.

  3. Nel riquadro di spostamento a sinistra, in Impostazioni selezionare Configurazione DNS.

  4. Esaminare i record DNS e l'indirizzo IP dell'endpoint privato. L'indirizzo IP è un indirizzo privato nello spazio indirizzi della subnet in cui è stato configurato l'endpoint privato.

Test nella rete virtuale

Connettersi a una macchina virtuale configurata nella rete virtuale.

Eseguire un'utilità, ad esempio nslookup o dig, per cercare l'indirizzo IP dell'endpoint gateway predefinito sul collegamento privato. Ad esempio:

nslookup my-apim-service.privatelink.azure-api.net

L'output deve includere l'indirizzo IP privato associato all'endpoint privato.

Le chiamate API avviate all'interno della rete virtuale all'endpoint gateway predefinito devono avere esito positivo.

Test da Internet

Dall'esterno del percorso dell'endpoint privato, provare a chiamare l'endpoint gateway predefinito dell'istanza di Gestione API. Se l'accesso pubblico è disabilitato, l'output include un errore con il codice di stato 403 e un messaggio simile al seguente:

Request originated from client public IP address 192.0.2.12, public network access on this 'Microsoft.ApiManagement/service/my-apim-service' is disabled.
       
To connect to 'Microsoft.ApiManagement/service/my-apim-service', please use the Private Endpoint from inside your virtual network. 

Limitazione per il nome di dominio personalizzato nei livelli v2

Attualmente, nei livelli Standard v2 e Premium v2, Gestione API richiede un nome DNS risolvibile pubblicamente per consentire il traffico verso l'endpoint del gateway. Se si configura un nome di dominio personalizzato per l'endpoint del gateway, tale nome deve essere risolvibile pubblicamente, non limitato a una zona DNS privata.

Come soluzione alternativa negli scenari in cui si limita l'accesso pubblico al gateway e si configura un nome di dominio privato, è possibile configurare il gateway applicazione per ricevere traffico al nome di dominio privato e instradarlo all'endpoint gateway dell'istanza di Gestione API. Per un'architettura di esempio, vedere questo repository GitHub.