Share via


Nätverksisolering med Azure Machine Learning-register

I den här artikeln lär du dig att skydda Azure Machine Learning-registret med hjälp av Azure Virtual Network och privata slutpunkter.

Privata slutpunkter i Azure tillhandahåller nätverksisolering genom att göra det möjligt att komma åt Azure-tjänster via en privat IP-adress i ett virtuellt nätverk (VNet). Det virtuella nätverket skyddar anslutningar mellan Azure-resurser och förhindrar exponering av känsliga data för det offentliga Internet.

Om du använder nätverksisolering med privata slutpunkter förhindras nätverkstrafiken från att gå över det offentliga Internet och tar Azure Machine Learning-registertjänsten till ditt virtuella nätverk. All nätverkstrafik sker via Azure Private Link när privata slutpunkter används.

Förutsättningar

Skydda Azure Machine Learning-registret

Kommentar

För enkelhetens skull refererar vi till arbetsytan, dess associerade resurser och det virtuella nätverk som de ingår i som säker konfiguration av arbetsytor. Vi kommer att utforska hur du lägger till Azure Machine Learning-register som en del av den befintliga konfigurationen.

Följande diagram visar en grundläggande nätverkskonfiguration och hur Azure Machine Learning-registret passar in. Om du redan använder Azure Machine Learning-arbetsytan och har en säker arbetsytekonfiguration där alla resurser ingår i det virtuella nätverket kan du skapa en privat slutpunkt från det befintliga virtuella nätverket till Azure Machine Learning-registret och det är associerade resurser (lagring och ACR).

Om du inte har någon säker arbetsytekonfiguration kan du skapa den med hjälp av artiklarna Skapa en säker arbetsyta i Azure-portalen eller Skapa en säker arbetsyta med en mallartikel .

Diagram över registret som är anslutet till ett virtuellt nätverk som innehåller arbetsyta och associerade resurser med hjälp av en privat slutpunkt.

Begränsningar

Om du använder ett Azure Machine Learning-register med nätverksisolering kan du visa modelltillgångar i Azure Machine Learning-studio. Du kommer inte att kunna visa andra typer av tillgångar. Du kommer inte att kunna utföra några åtgärder i Azure Machine Learning-registret eller tillgångar under det med studio. Använd Azure Machine Learning CLI eller SDK i stället.

Scenario: konfigurationen av arbetsytan är säker och Azure Machine Learning-registret är offentligt

I det här avsnittet beskrivs scenarier och nödvändig nätverkskonfiguration om du har en säker arbetsytekonfiguration men använder ett offentligt register.

Skapa tillgångar i registret från lokala filer

Identiteten (till exempel en Dataforskare Microsoft Entra-användaridentitet) som används för att skapa tillgångar i registret måste tilldelas rollen AzureML-registeranvändare, ägare eller deltagare i rollbaserad åtkomstkontroll i Azure. Mer information finns i artikeln Hantera åtkomst till Azure Machine Learning .

Dela tillgångar från arbetsyta till register

Kommentar

Delning av en komponent från Azure Machine Learning-arbetsytan till Azure Machine Learning-registret stöds inte för närvarande.

På grund av dataexfiltreringsskydd går det inte att dela en tillgång från säker arbetsyta till ett offentligt register om lagringskontot som innehåller tillgången har offentlig åtkomst inaktiverad. Så här aktiverar du tillgångsdelning från arbetsyta till register:

  • Gå till avsnittet Nätverk i lagringskontot som är kopplat till arbetsytan (varifrån du vill tillåta delning av tillgångar till registret)
  • Ange Åtkomst till offentligt nätverk till Aktiverad från valda virtuella nätverk och IP-adresser
  • Rulla nedåt och gå till avsnittet Resursinstanser . Välj Resurstyp till Microsoft.MachineLearningServices/registries och ange Instansnamn till namnet på Azure Machine Learning-registerresursen om du vill aktivera delning till från arbetsytan.
  • Kontrollera resten av inställningarna enligt nätverkskonfigurationen.

Använda tillgångar från registret på arbetsytan

Exempelåtgärder:

  • Skicka ett jobb som använder en tillgång från registret.
  • Använd en komponent från registret i en pipeline.
  • Använd en miljö från registret i en komponent.

Om du använder tillgångar från registret till en säker arbetsyta måste du konfigurera utgående åtkomst till registret.

Distribuera en modell från registret till arbetsytan

Distributionen måste ha egress_public_network_access=disabled angetts för att distribuera en modell från ett register till en säker hanterad onlineslutpunkt. Azure Machine Learning skapar nödvändiga privata slutpunkter till registret under slutpunktsdistributionen. Mer information finns i Skapa säkra hanterade onlineslutpunkter.

Utgående nätverkskonfiguration för att få åtkomst till alla Azure Machine Learning-register

Tjänsttagg Protokoll och portar Syfte
AzureMachineLearning TCP: 443, 877, 18881
UDP: 5831
Använda Azure Machine Learning Services.
Storage.<region> TCP: 443 Få åtkomst till data som lagras i Azure Storage-kontot för beräkningskluster och beräkningsinstanser. Den här utgående informationen kan användas för att exfiltrera data. Mer information finns i Dataexfiltreringsskydd.
MicrosoftContainerRegistry.<region> TCP: 443 Få åtkomst till Docker-avbildningar som tillhandahålls av Microsoft.
AzureContainerRegistry.<region> TCP: 443 Åtkomst till Docker-avbildningar för miljöer.

Scenario: Konfigurationen av arbetsytan är säker och Azure Machine Learning-registret är anslutet till virtuella nätverk med hjälp av privata slutpunkter

I det här avsnittet beskrivs scenarier och nödvändig nätverkskonfiguration om du har en säker arbetsytekonfiguration med Azure Machine Learning-register anslutna med privat slutpunkt till ett virtuellt nätverk.

Azure Machine Learning-registret har associerade lagrings-/ACR-tjänstinstanser. Dessa tjänstinstanser kan också anslutas till det virtuella nätverket med hjälp av privata slutpunkter för att skydda konfigurationen. Mer information finns i avsnittet Skapa en privat slutpunkt .

Så här hittar du Azure Storage-kontot och Azure Container Registry som används av registret

Lagringskontot och ACR som används av ditt Azure Machine Learning-register skapas under en hanterad resursgrupp i din Azure-prenumeration. Namnet på den hanterade resursgruppen följer mönstret azureml-rg-<name-of-your-registry>_<GUID>för . GUID är en slumpmässigt genererad sträng. Om namnet på registret till exempel är "contosoreg" skulle namnet på den hanterade resursgruppen vara azureml-rg-contosoreg_<GUID>.

I Azure-portalen hittar du den här resursgruppen genom att söka azureml_rg-<name-of-your-registry>efter . Alla lagrings- och ACR-resurser för registret är tillgängliga under den här resursgruppen.

Skapa tillgångar i registret från lokala filer

Kommentar

Det går inte att skapa en miljötillgång i ett privat register där associerad ACR har offentlig åtkomst inaktiverad. Som en lösning kan du skapa en miljö på Azure Machine Learning-arbetsytan och dela den till Azure Machine Learning-registret.

Klienter måste vara anslutna till det virtuella nätverk som registret är anslutet till med en privat slutpunkt.

Anslut säkert till registret

Om du vill ansluta till ett register som skyddas bakom ett virtuellt nätverk använder du någon av följande metoder:

  • Azure VPN-gateway – Anslut lokala nätverk till det virtuella nätverket via en privat anslutning. Anslut görs via det offentliga Internet. Det finns två typer av VPN-gatewayer som du kan använda:

    • Punkt-till-plats: Varje klientdator använder en VPN-klient för att ansluta till det virtuella nätverket.

    • Plats-till-plats: En VPN-enhet ansluter det virtuella nätverket till ditt lokala nätverk.

  • ExpressRoute – Anslut lokala nätverk i molnet via en privat anslutning. Anslut ion görs med hjälp av en anslutningsprovider.

  • Azure Bastion – I det här scenariot skapar du en virtuell Azure-dator (kallas ibland en hoppruta) i det virtuella nätverket. Sedan ansluter du till den virtuella datorn med Hjälp av Azure Bastion. Med Bastion kan du ansluta till den virtuella datorn med antingen en RDP- eller SSH-session från din lokala webbläsare. Sedan använder du jump-rutan som utvecklingsmiljö. Eftersom det finns i det virtuella nätverket kan det komma åt registret direkt.

Dela tillgångar från arbetsyta till register

Kommentar

Delning av en komponent från Azure Machine Learning-arbetsytan till Azure Machine Learning-registret stöds inte för närvarande.

På grund av dataexfiltreringsskydd går det inte att dela en tillgång från en säker arbetsyta till ett privat register om lagringskontot som innehåller tillgången har offentlig åtkomst inaktiverad. Så här aktiverar du tillgångsdelning från arbetsyta till register:

  • Gå till avsnittet Nätverk i lagringskontot som är kopplat till arbetsytan (varifrån du vill tillåta delning av tillgångar till registret)
  • Ange Åtkomst till offentligt nätverk till Aktiverad från valda virtuella nätverk och IP-adresser
  • Rulla nedåt och gå till avsnittet Resursinstanser . Välj Resurstyp till Microsoft.MachineLearningServices/registries och ange Instansnamn till namnet på Azure Machine Learning-registerresursen om du vill aktivera delning till från arbetsytan.
  • Kontrollera resten av inställningarna enligt nätverkskonfigurationen.

Använda tillgångar från registret på arbetsytan

Exempelåtgärder:

  • Skicka ett jobb som använder en tillgång från registret.
  • Använd en komponent från registret i en pipeline.
  • Använd en miljö från registret i en komponent.

Skapa en privat slutpunkt till registret, lagringen och ACR från arbetsytans virtuella nätverk. Om du försöker ansluta till flera register skapar du en privat slutpunkt för varje register och tillhörande lagring och ACL. Mer information finns i avsnittet Skapa en privat slutpunkt .

Distribuera en modell från registret till arbetsytan

Distributionen måste ha egress_public_network_access=disabled angetts för att distribuera en modell från ett register till en säker hanterad onlineslutpunkt. Azure Machine Learning skapar nödvändiga privata slutpunkter till registret under slutpunktsdistributionen. Mer information finns i Skapa säkra hanterade onlineslutpunkter.

Skapa en privat slutpunkt

Använd flikarna för att visa instruktioner för att antingen lägga till en privat slutpunkt i ett befintligt register eller skapa ett nytt register som har en privat slutpunkt:

  1. I Azure-portalen söker du efter privat slutpunkt och väljer posten Privata slutpunkter för att gå till det privata länkcentret.

  2. På översiktssidan För privat länkcenter väljer du + Skapa.

  3. Ange den begärda informationen. För fältet Region väljer du samma region som ditt virtuella Azure-nätverk. Välj Nästa.

  4. På fliken Resurs väljer du När du väljer Resurstyp väljer du Microsoft.MachineLearningServices/registries. Ange fältet Resurs till ditt Azure Machine Learning-registernamn och välj sedan Nästa.

  5. På fliken Virtuellt nätverk väljer du det virtuella nätverket och undernätet för dina Azure Machine Learning-resurser. Klicka på Nästa när du vill fortsätta.

  6. Från fliken DNS lämnar du standardvärdena om du inte har specifika privata DNS-integreringskrav. Klicka på Nästa när du vill fortsätta.

  7. På fliken Granska + skapa väljer du Skapa för att skapa den privata slutpunkten.

  8. Om du vill ange åtkomst till offentligt nätverk till inaktiverat använder du följande kommando. Bekräfta att lagringen och ACR också har åtkomsten till det offentliga nätverket inaktiverad.

    az ml registry update --set publicNetworkAccess=Disabled --name <name-of-registry>
    

Så här hittar du Azure Storage-kontot och Azure Container Registry som används av registret

Lagringskontot och ACR som används av ditt Azure Machine Learning-register skapas under en hanterad resursgrupp i din Azure-prenumeration. Namnet på den hanterade resursgruppen följer mönstret azureml-rg-<name-of-your-registry>_<GUID>för . GUID är en slumpmässigt genererad sträng. Om namnet på registret till exempel är "contosoreg" skulle namnet på den hanterade resursgruppen vara azureml-rg-contosoreg_<GUID>.

I Azure-portalen hittar du den här resursgruppen genom att söka azureml_rg-<name-of-your-registry>efter . Alla lagrings- och ACR-resurser för registret är tillgängliga under den här resursgruppen.

Så här skapar du en privat slutpunkt för Azure Storage-kontot

Använd följande steg för att skapa en privat slutpunkt för lagringskontot som används av registret:

  1. I Azure-portalen söker du efter privat slutpunkt och väljer posten Privata slutpunkter för att gå till det privata länkcentret.
  2. På översiktssidan För privat länkcenter väljer du + Skapa.
  3. Ange den begärda informationen. För fältet Region väljer du samma region som ditt virtuella Azure-nätverk. Välj Nästa.
  4. På fliken Resurs väljer du När du väljer Resurstyp väljer du Microsoft.Storage/storageAccounts. Ange namnet på lagringskontot i fältet Resurs. Ange underresursen till Blob och välj sedan Nästa.
  5. På fliken Virtuellt nätverk väljer du det virtuella nätverket och undernätet för dina Azure Machine Learning-resurser. Klicka på Nästa när du vill fortsätta.
  6. Från fliken DNS lämnar du standardvärdena om du inte har specifika privata DNS-integreringskrav. Klicka på Nästa när du vill fortsätta.
  7. På fliken Granska + skapa väljer du Skapa för att skapa den privata slutpunkten.

Dataexfiltreringsskydd

För en användare som skapat Azure Machine Learning-registret rekommenderar vi att du använder en privat slutpunkt för registret, ett hanterat lagringskonto och en hanterad ACR.

För ett systemregister rekommenderar vi att du skapar en tjänstslutpunktsprincip för lagringskontot med hjälp av aliaset /services/Azure/MachineLearning . Mer information finns i Konfigurera dataexfiltreringsskydd.

Så här hittar du registrets fullständigt kvalificerade domännamn

I följande exempel visas hur du använder identifierings-URL:en för att hämta det fullständigt kvalificerade domännamnet (FQDN) för registret. När du anropar identifierings-URL:en måste du ange en Azure-åtkomsttoken i begärandehuvudet. I följande exempel visas hur du hämtar en åtkomsttoken och anropar identifierings-URL:en:

Dricks

Formatet för identifierings-URL:en är https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery, där <region> är den region där registret finns och <registry_name> är namnet på registret. Om du vill anropa URL:en gör du en GET-begäran:

   GET https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery 
$region = "<region>"
$registryName = "<registry_name>"
$accessToken = (az account get-access-token | ConvertFrom-Json).accessToken 
(Invoke-RestMethod -Method Get `
                   -Uri "https://$region.api.azureml.ms/registrymanagement/v1.0/registries/$registryName/discovery" `
                   -Headers @{ Authorization="Bearer $accessToken" }).registryFqdns
  • REST-API

Kommentar

Mer information om hur du använder Azure REST-API:er finns i Azure REST API-referensen.

  1. Hämta Azure-åtkomsttoken. Du kan använda följande Azure CLI-kommando för att hämta en token:

    az account get-access-token --query accessToken
    
  2. Använd en REST-klient som Postman eller Curl för att göra en GET-begäran till identifierings-URL:en. Använd åtkomsttoken som hämtades i föregående steg för auktorisering. I följande exempel ersätter du <region> med den region där registret finns och <registry_name> med namnet på registret. Ersätt <token> med den åtkomsttoken som hämtades i föregående steg:

    curl -X GET "https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery" -H "Authorization: Bearer <token>" -H "Content-Type: application/json"
    

Nästa steg

Lär dig hur du delar modeller, komponenter och miljöer mellan arbetsytor med register.