Accedere alle risorse locali dalla rete gestita Microsoft Foundry (versione classica)

Si applica solo a:Portale di Foundry (versione classica). Questo articolo non è disponibile per il nuovo portale foundry. Altre informazioni sul nuovo portale.

Nota

I collegamenti in questo articolo potrebbero aprire contenuto nella nuova documentazione di Microsoft Foundry anziché nella documentazione di Foundry (versione classica) visualizzata.

Importante

Questo articolo fornisce il supporto legacy per i progetti basati su hub. Non funzionerà per i progetti Foundry. Vedere Come si conosce il tipo di progetto di cui si dispone?

nota di compatibilità SDK: gli esempi di codice richiedono una versione specifica Microsoft Foundry SDK. Se si verificano problemi di compatibilità, valutare la possibilità di eseguire la migrazione da un progetto basato su hub a un progetto Foundry.

È possibile configurare un gateway applicazione di Azure per consentire alla rete virtuale gestita in Microsoft Foundry di raggiungere risorse non Azure in un'altra rete virtuale o in locale. Il gateway fornisce un percorso end-to-end sicuro e privato alle risorse specifiche.

gateway applicazione di Azure è un servizio di bilanciamento del carico che prende decisioni di routing in base all'URL di una richiesta HTTPS. Per altre informazioni, vedere What is gateway applicazione di Azure.For more information, see What is gateway applicazione di Azure.

Configurare il gateway dell'applicazione nella rete virtuale di Azure per l'accesso in ingresso all'hub Foundry. Dopo aver configurato il gateway, creare un endpoint privato dalla rete virtuale gestita dell'hub al gateway. L'endpoint privato mantiene privato e fuori da internet l'intero percorso end-to-end.

Per informazioni su come il gateway applicazione protegge le connessioni a risorse non Azure, vedere Come funziona un gateway applicazione.

Diagram che mostra una rete virtuale gestita usando gateway applicazione di Azure e un endpoint privato per raggiungere in modo sicuro le risorse locali.

Prerequisiti

  • Configurare la rete virtuale gestita dell'hub Foundry e selezionare una modalità di isolamento: Consenti traffico Internet in uscita o Consenti solo traffico in uscita approvato. Per altre informazioni, vedere Isolamento della rete virtuale gestita.
  • Ottenere l'endpoint HTTP(S) privato della risorsa.
  • Per usare l'esempio di interfaccia della riga di comando di Azure in questo articolo, installare l'estensione interfaccia della riga di comando di Azure e l'estensione ml (versione 2.15.0 o successiva).
  • Per usare l'esempio di Python in questo articolo, installare il Azure SDK per i pacchetti Python:
    • pip install azure-ai-ml azure-identity
  • Verificare che l'identità gestita dell'hub possa approvare le connessioni agli endpoint privati sull'Application Gateway di destinazione. Assegnare il ruolo di Approvatore connessione di rete aziendale di Azure AI (o un ruolo personalizzato con autorizzazioni equivalenti) nella risorsa del gateway delle applicazioni.
  • Assicurarsi che l'identità usata per creare regole di endpoint privato in uscita disponga delle autorizzazioni per creare connessioni di endpoint privati, incluse queste azioni RBAC di Azure:
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write

Creare la regola in uscita dell'endpoint privato (interfaccia della riga di comando di Azure o Python)

Dopo aver creato un gateway applicazione di Azure con una configurazione IP front-end privata denominata appGwPrivateFrontendIpIPv4, aggiungi una regola di uscita per endpoint privato dalla rete virtuale gestita dell'hub Foundry all'Application Gateway.

interfaccia della riga di comando di Azure

Nell'esempio seguente viene aggiunta o aggiornata una regola in uscita dell'endpoint privato in un Gateway applicazione. Sostituire i valori segnaposto con i propri valori.

az ml workspace outbound-rule set \
  --resource-group <resource-group> \
  --workspace-name <hub-name> \
  --rule <rule-name> \
  --type private_endpoint \
  --service-resource-id "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Network/applicationGateways/<APP_GW_NAME>" \
  --subresource-target appGwPrivateFrontendIpIPv4 \
  --spark-enabled false \
  --fqdns "contoso.com,contoso2.com"

Questo comando crea o aggiorna una regola in uscita gestita e inizia a creare la connessione dell'endpoint privato gestito.

Riferimenti

Python

L'esempio seguente aggiorna un hub esistente e configura una regola di uscita per l'endpoint privato al gateway applicazione. Sostituire i valori segnaposto con i propri valori.

from azure.ai.ml import MLClient
from azure.ai.ml.entities import PrivateEndpointDestination
from azure.identity import DefaultAzureCredential

subscription_id = "<subscription-id>"
resource_group = "<resource-group>"
hub_name = "<hub-name>"

ml_client = MLClient(
    DefaultAzureCredential(),
    subscription_id=subscription_id,
    resource_group_name=resource_group,
    workspace_name=hub_name,
)

hub = ml_client.workspaces.get(name=hub_name)

hub.managed_network.outbound_rules = [
    PrivateEndpointDestination(
        name="<rule-name>",
        service_resource_id="/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Network/applicationGateways/<APP_GW_NAME>",
        subresource_target="appGwPrivateFrontendIpIPv4",
        spark_enabled=False,
        fqdns=["contoso.com", "contoso2.com"],
    )
]

ml_client.workspaces.begin_update(hub).result()

Riferimenti

Risorse supportate

Il gateway applicativo supporta qualsiasi risorsa backend che usa HTTP o HTTPS. Il gateway applicativo verifica le connessioni dalla rete virtuale gestita alle seguenti risorse:

  • JFrog Artifactory
  • Fiocco
  • API private

Configurare gateway applicazione di Azure

Seguire la guida introduttiva: Indirizzare il traffico Web tramite il portale. Per configurare correttamente il gateway applicativo per l'uso con Foundry, usare le indicazioni seguenti per la creazione del gateway applicativo.

  1. Nella scheda Informazioni di base esaminare e applicare le impostazioni seguenti.

    • Verificare che il gateway applicativo sia nella stessa area della rete virtuale di Azure selezionata.
    • Foundry supporta solo IPv4 per il gateway applicativo.
    • Nella tua rete virtuale, seleziona una subnet dedicata per l'Application Gateway. Non distribuire altre risorse in questa subnet.
  2. Nella scheda Front-end, Application Gateway non supporta indirizzi IP front-end privati, quindi seleziona o crea un indirizzo IP pubblico. Aggiungere indirizzi IP privati per le risorse back-end all'interno dell'intervallo di subnet selezionato nella scheda Informazioni di base.

  3. Nella scheda Backend, aggiungere destinazioni backend agli insiemi backend per il routing. Creare pool diversi in base alle esigenze, ad esempio un database Snowflake.

  4. Nella scheda Configurazione configurare il modo in cui gli indirizzi IP front-end ricevono le richieste e le instradano al back-end.

    • Nella sezione Listener :

      • Creare un listener con HTTP o HTTPS e specificare la porta di ascolto. Per usare sullo stesso indirizzo IP frontend due listener che indirizzano a pool backend diversi, usare porte diverse. Le richieste in ingresso sono distinte per porta.
      • Per la crittografia TLS end-to-end, selezionare un listener HTTPS e caricare il certificato in modo che il gateway applicazione possa decrittografare la richiesta ricevuta dal listener. Per altre informazioni, vedere Enabling end-to-end TLS su gateway applicazione di Azure.
      • Per una destinazione back-end completamente privata senza accesso alla rete pubblica, non configurare un listener sull’indirizzo IP frontend pubblico o nella relativa regola di gestione. Il gateway applicativo inoltra solo le richieste che i listener ricevono sulla porta specificata. Per evitare di aggiungere un listener IP front-end pubblico per errore, vedere Regole di sicurezza di rete per bloccare l'accesso alla rete pubblica.
    • Nella sezione Destinazioni backend, se si usa HTTPS e il certificato del server backend non viene rilasciato da una CA riconosciuta, caricate il certificato radice (.CER) del server backend. Per altre informazioni, vedere Configurare la crittografia TLS end-to-end tramite il portale.

  5. Dopo aver creato la risorsa del gateway applicazione, passare alla risorsa nel portale di Azure. In Impostazioni selezionare Collegamento privato per abilitare l'accesso privato tramite una connessione endpoint privato. La configurazione del collegamento privato non viene creata per impostazione predefinita.

    • Selezionare + Aggiungi per aggiungere la configurazione collegamento privato e quindi usare i valori seguenti per creare la configurazione:
      • Nome: specificare un nome per la configurazione del collegamento privato
      • Subnet di collegamento privato: Selezionare una subnet nella rete virtuale
      • Configurazione IP front-end: appGwPrivateFrontendIpIPv4
    • Per verificare che il collegamento Privato sia configurato correttamente, passare alla scheda Connessioni endpoint privato e selezionare + Endpoint privato. Nella scheda Risorsa la sotto-risorsa di destinazione deve essere il nome della configurazione IP front-end privato, appGwPrivateFrontendIpIPv4. Se nella sotto-risorsa di destinazione non viene visualizzato alcun valore, il listener del gateway di applicazione non è configurato correttamente. Per altre informazioni, vedere Configurare gateway applicazione di Azure collegamento privato.
  1. Dopo aver creato l’IP frontend e i pool backend del gateway applicazione, configurare l'endpoint privato dalla rete virtuale gestita al gateway applicazione. Nel portale Azure passare all'hub Foundry, selezionare Networking, quindi selezionare Accesso in uscita gestito daWorkspace>+ Aggiungi regole in uscita definite dall'utente.

  2. Nel modulo Regole in uscita dell'area di lavoro impostare i valori seguenti per creare l'endpoint privato:

    • Nome regola: immettere un nome per l'endpoint privato verso il gateway applicazione.
    • Tipo di destinazione: endpoint privato
    • Sottoscrizione e gruppo di risorse: selezionare la sottoscrizione e il gruppo di risorse in cui è distribuito l'Application Gateway.
    • Tipo di risorsa: Microsoft.Network/applicationGateways
    • Nome risorsa: nome della risorsa dell'Application Gateway.
    • Sottorisorsa: appGwPrivateFrontendIpIPv4
    • FQDN: Immettere gli alias FQDN da usare nel portale Foundry. Vengono risolti nell'indirizzo IP privato dell'endpoint privato gestito che ha come destinazione il gateway applicazione. Aggiungere più nomi di dominio completi qualora sia necessario raggiungere più risorse tramite gateway applicazione.
      • Tutti i FQDN aggiunti usano lo stesso indirizzo IP per il gateway applicativo di destinazione.
      • L'indirizzo IP si trova nell'intervallo di rete virtuale gestito, non nell'intervallo di reti virtuali del cliente.

    Nota

    • Se si usa un listener HTTPS con un certificato caricato, assicurarsi che l'alias FQDN corrisponda al certificato CN (Common Name) o SAN (Subject Alternative Name), altrimenti la chiamata HTTPS ha esito negativo a causa di SNI (Indicazione del nome del server).
    • Ogni FQDN deve avere almeno tre etichette per creare la zona DNS privata per l'endpoint privato al gateway applicativo.
    • È possibile modificare il campo FQDN dopo aver creato l'endpoint privato usando l'SDK o l'interfaccia della riga di comando. Non è possibile modificarlo nel portale di Azure.
    • La denominazione dinamica delle sottorisorse non è supportata per la configurazione IP front-end privato. Il nome IP front-end deve essere appGwPrivateFrontendIpIPv4.

Configurare usando Python SDK e interfaccia della riga di comando di Azure

Per creare la regola in uscita dell'endpoint privato usando il interfaccia della riga di comando di Azure o la Python, vedere Creare la regola in uscita dell'endpoint privato (interfaccia della riga di comando di Azure o Python).

Limitazioni

  • Il gateway di applicazione supporta solo gli endpoint HTTP(S) nel pool backend. Non supporta il traffico di rete non HTTP(S). Assicurarsi che le risorse usino il protocollo HTTP(S).
  • Quando ci si connette a Snowflake tramite il gateway applicativo, aggiungere regole FQDN in uscita per abilitare il download di pacchetti e driver e la convalida OCSP.
    • Il driver JDBC Snowflake usa HTTPS, ma altri driver possono differire. Verificare che la risorsa usi il protocollo HTTP(S).
  • Il gateway applicazione non supporta scenari Spark come il calcolo Spark o il calcolo Spark serverless. La risoluzione DNS (ad esempio, con nslookup) non riesce durante la risoluzione di un FQDN dalla risorsa di calcolo Spark.
  • Per altre informazioni, vedere Domande frequenti su Gateway Applicazione.

Errori del gateway dell'applicazione

Risolvere gli errori di connessione del gateway dell'applicazione alle risorse back-end: