Connessione privatamente per Gestione API usando un endpoint privato in ingresso

SI APPLICA A: Sviluppatore | Basic | Standard | Premium

È possibile configurare un endpoint privato in ingresso per l'istanza di Gestione API 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 l'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 endpoint privato per traffico in ingresso all'istanza di Gestione API. 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 Gestione API.

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

Limiti

  • Solo l'endpoint gateway dell'istanza di Gestione API supporta le connessioni collegamento privato in ingresso.
  • Ogni istanza di Gestione API supporta al massimo 100 connessioni collegamento privato.
  • Connessione ions non sono supportate nel gateway self-hosted.

Prerequisiti

  • Un'istanza di Gestione API esistente. Crearne una se non è già stato fatto.
    • L'istanza di Gestione API deve essere ospitata nella piattaforma di stv2 calcolo. Ad esempio, creare una nuova istanza o, se si dispone già di un'istanza nel livello di servizio Premium, abilitare la ridondanza della zona.
    • Non distribuire (inserire) l'istanza in una rete virtuale esterna o interna .
  • 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 di Azure, un endpoint privato creato viene approvato automaticamente per inviare il traffico all'istanza di Gestione API 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 dell'endpoint privato all'istanza
  5. Approvare le connessioni dell'endpoint privato 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 Gestione API 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 Available Private Endpoint Types - List .

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

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

[...]

      "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. Passare al servizio Gestione API nel portale di Azure.

  2. Nel menu a sinistra selezionare Rete.

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

    Aggiungere un endpoint privato con il portale di Azure

  4. Nella scheda Informazioni di base di Creare 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, 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 Gestione API.
  5. Selezionare la scheda Risorsa o il pulsante Avanti: Risorsa nella parte inferiore della pagina. Le informazioni seguenti sull'istanza di Gestione API sono già popolate:

    • Subscription
    • Gruppo di risorse
    • Nome risorsa
  6. In Risorsa, in Sotto-risorsa di destinazione selezionare Gateway.

    Creare un endpoint privato in portale di Azure

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

  8. In Rete 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 delle applicazioni Facoltativamente, selezionare un gruppo di sicurezza delle applicazioni.
  9. Selezionare la scheda DNS o il pulsante Avanti: DNS nella parte inferiore della schermata.

  10. In DNS privato integrazione 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 la scheda Tag o il pulsante Avanti: schede nella parte inferiore della schermata. Se si vuole, immettere i tag per organizzare le risorse di Azure.

  12. Selezionare Rivedi e crea.

  13. Seleziona Crea.

Elencare le connessioni dell'endpoint privato all'istanza

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

È anche possibile usare l'API REST endpoint privato Connessione - Elenco per servizio per elencare le connessioni endpoint private all'istanza del servizio.

Si noti lo stato di Connessione ion dell'endpoint:

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

Approvare le connessioni dell'endpoint privato in sospeso

Se una connessione all'endpoint privato è in sospeso, un proprietario dell'istanza di Gestione API deve approvarlo manualmente prima di poterla usare.

Se si dispone di autorizzazioni sufficienti, approvare una connessione endpoint privato nella pagina Connessioni endpoint private dell'istanza di Gestione API nel portale.

È anche possibile usare l'Gestione API endpoint privato Connessione ion - Creare o aggiornare l'API REST.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{apimServiceName}privateEndpointConnections/{privateEndpointConnectionName}?api-version=2021-08-01

Facoltativamente, disabilitare l'accesso alla rete pubblica

Per limitare facoltativamente il traffico in ingresso all'istanza di Gestione API solo agli endpoint privati, disabilitare l'accesso alla rete pubblica. Usare l'API REST Gestione API Service - Create Or Update per impostare la publicNetworkAccess proprietà su Disabled.

Nota

La publicNetworkAccess proprietà può essere usata solo per disabilitare l'accesso pubblico alle istanze di Gestione API configurate con un endpoint privato, non con altre configurazioni di rete, ad esempio l'inserimento della rete virtuale.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{apimServiceName}?api-version=2021-08-01
Authorization: Bearer {{authToken.response.body.access_token}}
Content-Type: application/json

Usare il corpo JSON seguente:

{
  [...]
  "properties": {
    "publicNetworkAccess": "Disabled"
  }
}

Convalidare la connessione all'endpoint privato

Dopo aver creato un endpoint privato, verificare le impostazioni DNS nel portale:

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

  2. Nel menu a sinistra selezionare Connessioni endpoint privato in ingresso di rete>e selezionare l'endpoint privato creato.

  3. Nel riquadro di spostamento a sinistra 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à come nslookup o dig per cercare l'indirizzo IP dell'endpoint gateway predefinito su 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.

Testare 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 includerà un errore con il codice 403 di stato 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. 

Passaggi successivi