Netwerkisolatie met Azure Machine Learning-registers

In dit artikel leert u hoe u het Azure Machine Learning-register beveiligt met behulp van Azure Virtual Network en privé-eindpunten.

Privé-eindpunten in Azure bieden netwerkisolatie doordat Azure-services toegankelijk zijn via een privé-IP-adres binnen een virtueel netwerk (VNet). Het VNet beveiligt verbindingen tussen Azure-resources en voorkomt blootstelling van gevoelige gegevens aan het openbare internet.

Door netwerkisolatie met privé-eindpunten te gebruiken, voorkomt u dat het netwerkverkeer via het openbare internet gaat en de Azure Machine Learning-registerservice naar uw virtuele netwerk brengt. Al het netwerkverkeer vindt plaats via Azure Private Link wanneer privé-eindpunten worden gebruikt.

Vereisten

Azure Machine Learning-register beveiligen

Notitie

Ter vereenvoudiging verwijzen we naar de werkruimte, de bijbehorende resources en het virtuele netwerk waarvan ze deel uitmaken als beveiligde werkruimteconfiguratie. We verkennen hoe u Azure Machine Learning-registers toevoegt als onderdeel van de bestaande configuratie.

In het volgende diagram ziet u een basisnetwerkconfiguratie en hoe het Azure Machine Learning-register past. Als u al azure Machine Learning-werkruimte gebruikt en een beveiligde werkruimteconfiguratie hebt waarbij alle resources deel uitmaken van een virtueel netwerk, kunt u een privé-eindpunt maken van het bestaande virtuele netwerk naar het Azure Machine Learning-register en de bijbehorende resources (opslag en ACR).

Als u geen beveiligde werkruimteconfiguratie hebt, kunt u deze maken met behulp van de azure-portal een beveiligde werkruimte maken of een beveiligde werkruimte maken met een sjabloonartikelen.

Diagram van het register dat is verbonden met een virtueel netwerk met werkruimte en gekoppelde resources met behulp van een privé-eindpunt.

Beperkingen

Als u een Azure Machine Learning-register gebruikt met netwerkisolatie, kunt u modelassets bekijken in Azure Machine Learning-studio. U kunt geen andere typen assets weergeven. U kunt met studio geen bewerkingen uitvoeren in het Azure Machine Learning-register of -assets. Gebruik in plaats daarvan de Azure Machine Learning CLI of SDK.

Scenario: de configuratie van de werkruimte is veilig en het Azure Machine Learning-register is openbaar

In deze sectie worden de scenario's en vereiste netwerkconfiguratie beschreven als u een beveiligde werkruimteconfiguratie hebt, maar een openbaar register gebruikt.

Assets maken in het register vanuit lokale bestanden

De identiteit (bijvoorbeeld de Microsoft Entra-gebruikersidentiteit van een Datawetenschapper) die wordt gebruikt om assets in het register te maken, moet de rol AzureML Registry-gebruiker, -eigenaar of -inzender zijn toegewezen in op rollen gebaseerd toegangsbeheer van Azure. Zie het artikel Toegang tot Azure Machine Learning beheren voor meer informatie.

Assets delen van werkruimte naar register

Notitie

Het delen van een onderdeel van een Azure Machine Learning-werkruimte naar het Azure Machine Learning-register wordt momenteel niet ondersteund.

Vanwege gegevensexfiltratiebeveiliging is het niet mogelijk om een asset van een beveiligde werkruimte te delen naar een openbaar register als het opslagaccount met de asset openbare toegang heeft uitgeschakeld. Activa delen vanuit werkruimte naar register inschakelen:

  • Ga naar de sectie Netwerken van het opslagaccount dat is gekoppeld aan de werkruimte (van waaruit u het delen van assets naar het register wilt toestaan)
  • Openbare netwerktoegang instellen op Ingeschakeld vanuit geselecteerde virtuele netwerken en IP-adressen
  • Schuif omlaag en ga naar de sectie Resource-exemplaren . Selecteer resourcetype voor Microsoft.MachineLearningServices/registers en stel exemplaarnaam in op de naam van de Azure Machine Learning-registerresource, waar u het delen vanuit de werkruimte naar wilt inschakelen.
  • Controleer de rest van de instellingen op basis van uw netwerkconfiguratie.

Assets uit het register gebruiken in de werkruimte

Voorbeeldbewerkingen:

  • Dien een taak in die gebruikmaakt van een asset uit het register.
  • Gebruik een onderdeel uit het register in een pijplijn.
  • Gebruik een omgeving uit het register in een onderdeel.

Als u assets van register naar een beveiligde werkruimte gebruikt, moet u uitgaande toegang tot het register configureren.

Een model implementeren van register naar werkruimte

Als u een model vanuit een register wilt implementeren naar een beveiligd beheerd online-eindpunt, moet de implementatie zijn egress_public_network_access=disabled ingesteld. Azure Machine Learning maakt de benodigde privé-eindpunten in het register tijdens de implementatie van het eindpunt. Zie Beveiligde beheerde online-eindpunten maken voor meer informatie.

Uitgaande netwerkconfiguratie voor toegang tot elk Azure Machine Learning-register

Servicetag Protocol en poorten Doel
AzureMachineLearning TCP: 443, 877, 18881
UDP: 5831
Azure Machine Learning Services gebruiken.
Storage.<region> TCP: 443 Toegang tot gegevens die zijn opgeslagen in het Azure Storage-account voor rekenclusters en rekeninstanties. Deze uitgaande gegevens kunnen worden gebruikt om gegevens te exfiltreren. Zie Bescherming tegen gegevensexfiltratie voor meer informatie.
MicrosoftContainerRegistry.<region> TCP: 443 Toegang tot Docker-installatiekopieën van Microsoft.
AzureContainerRegistry.<region> TCP: 443 Toegang tot Docker-installatiekopieën voor omgevingen.

Scenario: de configuratie van de werkruimte is veilig en het Azure Machine Learning-register is verbonden met virtuele netwerken met behulp van privé-eindpunten

In deze sectie worden de scenario's en de vereiste netwerkconfiguratie beschreven als u een beveiligde werkruimteconfiguratie hebt met Azure Machine Learning-registers die zijn verbonden met een privé-eindpunt met een virtueel netwerk.

Het Azure Machine Learning-register heeft opslag-/ACR-service-exemplaren gekoppeld. Deze service-exemplaren kunnen ook worden verbonden met het VNet met behulp van privé-eindpunten om de configuratie te beveiligen. Zie de sectie Een privé-eindpunt maken voor meer informatie.

Het Azure Storage-account en Azure Container Registry vinden dat wordt gebruikt door uw register

Het opslagaccount en de ACR die door uw Azure Machine Learning-register worden gebruikt, worden gemaakt onder een beheerde resourcegroep in uw Azure-abonnement. De naam van de beheerde resourcegroep volgt het patroon .azureml-rg-<name-of-your-registry>_<GUID> De GUID is een willekeurig gegenereerde tekenreeks. Als de naam van uw register bijvoorbeeld 'contosoreg' is, is azureml-rg-contosoreg_<GUID>de naam van de beheerde resourcegroep.

In Azure Portal kunt u deze resourcegroep vinden door te zoeken naar azureml_rg-<name-of-your-registry>. Alle opslag- en ACR-resources voor uw register zijn beschikbaar onder deze resourcegroep.

Assets maken in het register vanuit lokale bestanden

Notitie

Het maken van een omgevingsasset wordt niet ondersteund in een privéregister waarbij de bijbehorende ACR openbare toegang heeft uitgeschakeld. Als tijdelijke oplossing kunt u een omgeving maken in een Azure Machine Learning-werkruimte en deze delen met het Azure Machine Learning-register.

Clients moeten zijn verbonden met het VNet waarmee het register is verbonden met een privé-eindpunt.

Veilig verbinding maken met uw register

Gebruik een van de volgende methoden om verbinding te maken met een register dat wordt beveiligd achter een VNet:

  • Azure VPN-gateway: Verbinding maken on-premises netwerken naar het VNet via een privéverbinding. Verbinding maken wordt gemaakt via het openbare internet. Er zijn twee typen VPN-gateways die u kunt gebruiken:

    • Punt-naar-site: elke clientcomputer gebruikt een VPN-client om verbinding te maken met het VNet.

    • Site-naar-site: een VPN-apparaat verbindt het VNet met uw on-premises netwerk.

  • ExpressRoute: Verbinding maken on-premises netwerken via een privéverbinding in de cloud. Verbinding maken wordt gemaakt met behulp van een connectiviteitsprovider.

  • Azure Bastion : in dit scenario maakt u een virtuele Azure-machine (ook wel een jump box genoemd) in het VNet. Vervolgens maakt u verbinding met de virtuele machine met behulp van Azure Bastion. Met Bastion kunt u verbinding maken met de virtuele machine met behulp van een RDP- of SSH-sessie vanuit uw lokale webbrowser. Vervolgens gebruikt u de jumpbox als uw ontwikkelomgeving. Omdat het zich in het VNet bevindt, heeft het rechtstreeks toegang tot het register.

Assets delen van werkruimte naar register

Notitie

Het delen van een onderdeel van een Azure Machine Learning-werkruimte naar het Azure Machine Learning-register wordt momenteel niet ondersteund.

Vanwege gegevensexfiltratiebeveiliging is het niet mogelijk om een asset van een beveiligde werkruimte te delen naar een privéregister als het opslagaccount met de asset openbare toegang heeft uitgeschakeld. Activa delen vanuit werkruimte naar register inschakelen:

  • Ga naar de sectie Netwerken van het opslagaccount dat is gekoppeld aan de werkruimte (van waaruit u het delen van assets naar het register wilt toestaan)
  • Openbare netwerktoegang instellen op Ingeschakeld vanuit geselecteerde virtuele netwerken en IP-adressen
  • Schuif omlaag en ga naar de sectie Resource-exemplaren . Selecteer resourcetype voor Microsoft.MachineLearningServices/registers en stel exemplaarnaam in op de naam van de Azure Machine Learning-registerresource, waar u het delen vanuit de werkruimte naar wilt inschakelen.
  • Controleer de rest van de instellingen op basis van uw netwerkconfiguratie.

Assets uit het register gebruiken in de werkruimte

Voorbeeldbewerkingen:

  • Dien een taak in die gebruikmaakt van een asset uit het register.
  • Gebruik een onderdeel uit het register in een pijplijn.
  • Gebruik een omgeving uit het register in een onderdeel.

Maak een privé-eindpunt voor het register, de opslag en ACR vanuit het VNet van de werkruimte. Als u verbinding probeert te maken met meerdere registers, maakt u een privé-eindpunt voor elk register en de bijbehorende opslag en ACL's. Zie de sectie Een privé-eindpunt maken voor meer informatie.

Een model implementeren van register naar werkruimte

Als u een model vanuit een register wilt implementeren naar een beveiligd beheerd online-eindpunt, moet de implementatie zijn egress_public_network_access=disabled ingesteld. Azure Machine Learning maakt de benodigde privé-eindpunten in het register tijdens de implementatie van het eindpunt. Zie Beveiligde beheerde online-eindpunten maken voor meer informatie.

Een privé-eindpunt maken

Gebruik de tabbladen om instructies weer te geven voor het toevoegen van een privé-eindpunt aan een bestaand register of het maken van een nieuw register met een privé-eindpunt:

  1. Zoek in Azure Portal naar een privé-eindpunt en selecteer de vermelding Privé-eindpunten om naar het Private Link-centrum te gaan.

  2. Selecteer + Maken op de overzichtspagina van het Private Link-centrum.

  3. Geef de gevraagde informatie op. Selecteer voor het veld Regio dezelfde regio als uw virtuele Azure-netwerk. Selecteer Volgende.

  4. Selecteer op het tabblad Resource wanneer u Resourcetype selecteertMicrosoft.MachineLearningServices/registries. Stel het veld Resource in op de naam van uw Azure Machine Learning-register en selecteer vervolgens Volgende.

  5. Selecteer op het tabblad Virtueel netwerk het virtuele netwerk en het subnet voor uw Azure Machine Learning-resources. Selecteer Volgende om door te gaan.

  6. Laat op het tabblad DNS de standaardwaarden staan, tenzij u specifieke vereisten voor privé-DNS-integratie hebt. Selecteer Volgende om door te gaan.

  7. Selecteer Op het tabblad Beoordelen en maken de optie Maken om het privé-eindpunt te maken.

  8. Als u openbare netwerktoegang wilt instellen op uitgeschakeld, gebruikt u de volgende opdracht. Controleer of de opslag en ACR ook de openbare netwerktoegang heeft uitgeschakeld.

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

Het Azure Storage-account en Azure Container Registry vinden dat wordt gebruikt door uw register

Het opslagaccount en de ACR die door uw Azure Machine Learning-register worden gebruikt, worden gemaakt onder een beheerde resourcegroep in uw Azure-abonnement. De naam van de beheerde resourcegroep volgt het patroon .azureml-rg-<name-of-your-registry>_<GUID> De GUID is een willekeurig gegenereerde tekenreeks. Als de naam van uw register bijvoorbeeld 'contosoreg' is, is azureml-rg-contosoreg_<GUID>de naam van de beheerde resourcegroep.

In Azure Portal kunt u deze resourcegroep vinden door te zoeken naar azureml_rg-<name-of-your-registry>. Alle opslag- en ACR-resources voor uw register zijn beschikbaar onder deze resourcegroep.

Een privé-eindpunt maken voor het Azure Storage-account

Voer de volgende stappen uit om een privé-eindpunt te maken voor het opslagaccount dat door uw register wordt gebruikt:

  1. Zoek in Azure Portal naar een privé-eindpunt en selecteer de vermelding Privé-eindpunten om naar het Private Link-centrum te gaan.
  2. Selecteer + Maken op de overzichtspagina van het Private Link-centrum.
  3. Geef de gevraagde informatie op. Selecteer voor het veld Regio dezelfde regio als uw virtuele Azure-netwerk. Selecteer Volgende.
  4. Selecteer op het tabblad Resource wanneer u Resourcetype selecteertMicrosoft.Storage/storageAccounts. Stel het veld Resource in op de naam van het opslagaccount. Stel de subresource in op Blob en selecteer vervolgens Volgende.
  5. Selecteer op het tabblad Virtueel netwerk het virtuele netwerk en het subnet voor uw Azure Machine Learning-resources. Selecteer Volgende om door te gaan.
  6. Laat op het tabblad DNS de standaardwaarden staan, tenzij u specifieke vereisten voor privé-DNS-integratie hebt. Selecteer Volgende om door te gaan.
  7. Selecteer Op het tabblad Beoordelen en maken de optie Maken om het privé-eindpunt te maken.

Bescherming tegen gegevensexfiltratie

Voor een gebruiker die een Azure Machine Learning-register heeft gemaakt, raden we u aan een privé-eindpunt te gebruiken voor het register, het beheerde opslagaccount en de beheerde ACR.

Voor een systeemregister raden we u aan een service-eindpuntbeleid te maken voor het opslagaccount met behulp van de /services/Azure/MachineLearning alias. Zie Preventie van gegevensexfiltratie configureren voor meer informatie.

De fully qualified domain name van het register vinden

In de volgende voorbeelden ziet u hoe u de detectie-URL gebruikt om de FQDN (Fully Qualified Domain Name) van uw register op te halen. Wanneer u de detectie-URL aanroept, moet u een Azure-toegangstoken opgeven in de aanvraagheader. In de volgende voorbeelden ziet u hoe u een toegangstoken opvragen en de detectie-URL aanroept:

Tip

De indeling voor de detectie-URL is https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery, waar <region> zich de regio bevindt waar het register zich bevindt en <registry_name> de naam van het register is. Als u de URL wilt aanroepen, moet u een GET-aanvraag indienen:

   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

Notitie

Zie de Naslaginformatie over de Azure REST API voor meer informatie over het gebruik van Azure REST API's.

  1. Haal het Azure-toegangstoken op. U kunt de volgende Azure CLI-opdracht gebruiken om een token op te halen:

    az account get-access-token --query accessToken
    
  2. Gebruik een REST-client zoals Postman of Curl om een GET-aanvraag naar de detectie-URL te verzenden. Gebruik het toegangstoken dat in de vorige stap is opgehaald voor autorisatie. Vervang in het volgende voorbeeld door <region> de regio waar het register zich bevindt en <registry_name> door de naam van het register. Vervang <token> door het toegangstoken dat in de vorige stap is opgehaald:

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

Volgende stappen

Meer informatie over het delen van modellen, onderdelen en omgevingen in werkruimten met registers.