Connettersi privatamente a API Management usando un endpoint privato in ingresso

SI APPLICA A: Sviluppatore | Basic | Standard | Premium

È 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 da una rete virtuale di Azure in cui è ospitato.

  • Il traffico di rete tra un client nella rete privata e Gestione API attraversa la VNet e un collegamento privato sulla 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.

Importante

  • È possibile configurare solo una connessione di endpoint privato per traffico in ingresso all'istanza di API Management. Attualmente, il traffico in uscita non è supportato.

    È possibile usare il modello di rete virtuale esterna o interna per stabilire la connettività in uscita agli endpoint privati dall'istanza di API Management.

  • Per abilitare gli endpoint privati in ingresso, l'istanza di API Management non può essere inserita in una rete virtuale esterna o interna.

Limiti

  • Solo l'endpoint gateway dell'istanza di API Management supporta le connessioni al collegamento privato 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.

Prerequisiti

  • Un'istanza di API Management esistente. Crearne una se non è già stato fatto.
  • Una rete virtuale e una subnet per ospitare l'endpoint privato. La subnet può contenere altre risorse di Azure.
  • (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 di 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

  1. Ottenere i tipi di endpoint privati disponibili nella sottoscrizione
  2. Disabilitare i criteri di rete nella subnet
  3. Creare un endpoint privato - portale
  4. Elencare le connessioni di endpoint privati all'istanza
  5. Approvare le connessioni di endpoint privati in sospeso
  6. Facoltativamente, disabilitare l'accesso alla rete pubblica

Ottenere i tipi di endpoint privati disponibili nella sottoscrizione

Verificare che il tipo di endpoint privato di API Management sia disponibile nella sottoscrizione e nel percorso. Nel portale trovare queste informazioni passando al Centro collegamento privato. Selezionare Risorse supportate.

È anche possibile trovare queste informazioni usando l'API REST Tipi di endpoint privati disponibili - Elenco.

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{region}/availablePrivateEndpointTypes?api-version=2021-03-01

L'output deve includere il tipo di endpoint Microsoft.ApiManagement.service:

[...]

      "name": "Microsoft.ApiManagement.service",
      "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Network/AvailablePrivateEndpointTypes/Microsoft.ApiManagement.service",
      "type": "Microsoft.Network/AvailablePrivateEndpointTypes",
      "resourceName": "Microsoft.ApiManagement/service",
      "displayName": "Microsoft.ApiManagement/service",
      "apiVersion": "2021-04-01-preview"
    }
[...]

Disabilitare i criteri di rete nella subnet

I criteri di rete, ad esempio i gruppi di sicurezza di rete, devono essere disabilitati nella subnet usata per l'endpoint privato.

Se si usano strumenti come Azure PowerShell, l'interfaccia della riga di comando di Azure o l'API REST per configurare gli endpoint privati, aggiornare manualmente la configurazione della subnet. Per esempi, vedere Gestire i criteri di rete per gli endpoint privati.

Quando si usa il portale di Azure per creare un endpoint privato, come illustrato nella sezione successiva, i criteri di rete vengono disabilitati automaticamente come parte del processo di creazione

Creare un endpoint privato - portale

  1. Accedere al servizio di API Management 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 di Crea un endpoint privato immettere o selezionare le informazioni seguenti:

    Impostazione Valore
    Dettagli di progetto
    Subscription 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
    Area 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 API Management.
  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.

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

  8. In Networkingimmettere 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 delle applicazioni 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.
    Resource group Selezionare il gruppo di risorse.
    Zone DNS private Viene visualizzato il valore predefinito: (nuovo) privatelink.azure-api.net.
  11. Selezionare il pulsante Avanti: Schede nella parte inferiore della schermata. Se lo si desidera, immettere i tag per organizzare le risorse di Azure.

    1. Selezionare il pulsante blu Avanti: Rivedi + crea nella parte inferiore della schermata.
  12. Seleziona Crea.

Elencare le connessioni di endpoint privati all'istanza

Una volta creato l'endpoint privato e aggiornato il servizio viene visualizzato nell'elenco della pagina Connessioni di endpoint privati in ingresso dell'istanza di API Management 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 di endpoint privato è in sospeso, un proprietario dell'istanza di API Management deve approvarlo manualmente prima di poterla usare.

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 dell'endpoint privato di Gestione API - Creare o aggiornare l'API REST per approvare le connessioni all'endpoint privato in sospeso.

Facoltativamente, disabilitare l'accesso alla rete pubblica

Per limitare facoltativamente il traffico in ingresso all'istanza di API Management solo agli endpoint privati, disabilitare l'accesso alla rete pubblica.

Nota

È possibile disabilitare l'accesso pubblico solo nelle istanze di API Management configurate con un endpoint privato, non con altre configurazioni di networking, ad esempio l'inserimento della rete virtuale.

Per disabilitare l'accesso alla rete pubblica 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 un endpoint privato, verificare le impostazioni DNS nel portale:

  1. Accedere al servizio di API Management 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 l'endpoint privato è configurato.

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.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 xxx.xxx.xxx.xxx, 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.