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.
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 .
- L'istanza di Gestione API deve essere ospitata nella piattaforma di
- 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
- Ottenere i tipi di endpoint privati disponibili nella sottoscrizione
- Disabilitare i criteri di rete nella subnet
- Creare un endpoint privato - Portale
- Elencare le connessioni dell'endpoint privato all'istanza
- Approvare le connessioni dell'endpoint privato in sospeso
- 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
Passare al servizio Gestione API nel portale di Azure.
Nel menu a sinistra selezionare Rete.
Selezionare Connessioni endpoint privato> in ingresso+ Aggiungi endpoint.
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. 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
In Risorsa, in Sotto-risorsa di destinazione selezionare Gateway.
Selezionare la scheda Rete virtuale o il pulsante Avanti: Rete virtuale nella parte inferiore della schermata.
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. Selezionare la scheda DNS o il pulsante Avanti: DNS nella parte inferiore della schermata.
In DNS privato integrazione immettere o selezionare queste informazioni:
Impostazione Valore Integra con la zona DNS privato Lasciare l'impostazione predefinita Sì. 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. 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.
Selezionare Rivedi e crea.
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:
Passare al servizio Gestione API nel portale di Azure.
Nel menu a sinistra selezionare Connessioni endpoint privato in ingresso di rete>e selezionare l'endpoint privato creato.
Nel riquadro di spostamento a sinistra selezionare Configurazione DNS.
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
- Usare espressioni di criteri con la variabile per identificare il
context.request
traffico dall'endpoint privato. - Altre informazioni sugli endpoint privati e sulle collegamento privato, inclusi i prezzi collegamento privato.
- Altre informazioni sulla gestione delle connessioni degli endpoint privati.
- Risolvere i problemi di connettività dell'endpoint privato di Azure.
- Usare un modello di Resource Manager per creare un'istanza di Gestione API e un endpoint privato con integrazione DNS privata.