Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
VAN TOEPASSING OP:
Azure CLI ml extension v2 (current)
Python SDK azure-ai-ml v2 (current)
Wanneer u een machine learning-model implementeert op een beheerd online-eindpunt, kunt u de communicatie met het online-eindpunt beveiligen met behulp van privé-eindpunten. In dit artikel leert u hoe een privé-eindpunt binnenkomende communicatie naar een beheerd online-eindpunt kan beveiligen. U leert ook hoe een door een werkruimte beheerd virtueel netwerk veilige communicatie tussen implementaties en resources kan bieden.
U kunt binnenkomende scoreaanvragen van clients naar een online-eindpunt beveiligen en uitgaande communicatie tussen een implementatie, de Azure-resources die worden gebruikt en privé-resources beveiligen. U configureert de beveiliging voor inkomende en uitgaande communicatie afzonderlijk. Zie Wat zijn eindpunten en implementaties voor meer informatie over eindpunten en implementaties.
In het volgende architectuurdiagram ziet u hoe communicatie via privé-eindpunten naar het beheerde online-eindpunt stroomt. Binnenkomende scoreaanvragen van het virtuele netwerk van een client stromen via het privé-eindpunt van de werkruimte naar het beheerde online-eindpunt. Uitgaande communicatie van implementaties naar services wordt verwerkt via privé-eindpunten van het beheerde virtuele netwerk van de werkruimte naar die service-exemplaren.
Notitie
- Dit artikel is gericht op netwerkisolatie met behulp van het beheerde virtuele netwerk van de werkruimte. Zie de bijlage voor een beschrijving van de verouderde methode voor netwerkisolatie, waarin Azure Machine Learning een beheerd virtueel netwerk maakt voor elke implementatie in een eindpunt.
- Elke implementatie is geïsoleerd van andere implementaties, ongeacht de inkomende en uitgaande communicatie die in dit artikel wordt besproken. Met andere woorden, zelfs met eindpunten en implementaties die binnenkomend en uitgaand internettoegang toestaan, is er een netwerkisolatie tussen implementaties, waardoor elke implementatie niet rechtstreeks verbinding kan maken met andere implementaties.
Beperkingen
De
v1_legacy_modevlag moet worden ingesteld opfalseom de verouderde modus v1 in uw Azure Machine Learning-werkruimte uit te schakelen. Als deze instelling is ingeschakeld, kunt u geen beheerd online-eindpunt maken. Zie Netwerkisolatiewijziging met ons nieuwe API-platform in Azure Resource Manager voor meer informatie.Als uw Azure Machine Learning-werkruimte een privé-eindpunt heeft dat vóór 24 mei 2022 is gemaakt, moet u dat privé-eindpunt opnieuw maken voordat u uw online-eindpunten configureert voor het gebruik van privé-eindpunten. Zie Een privé-eindpunt configureren voor een Azure Machine Learning-werkruimte voor meer informatie over het maken van een privé-eindpunt voor uw werkruimte.
Aanbeveling
Als u de aanmaakdatum van een werkruimte wilt zien, kunt u de eigenschappen van de werkruimte controleren.
- Ga in Azure Machine Learning Studio naar de rechterbovenhoek en selecteer de naam van uw werkruimte.
- Selecteer in het venster Directory + Abonnement + Werkruimte alle eigenschappen weergeven in De Azure-portal.
- Ga op de overzichtspagina van Azure Portal naar de rechterbovenhoek en selecteer JSON-weergave.
- Selecteer in het venster Resource JSON onder API-versies de meest recente API-versie.
- Kijk naar de waarde van
propertiesin decreationTime-sectie van de JSON-code.
U kunt ook een van de volgende methoden gebruiken:
-
Python SDK:
Workspace.get(name=<workspace-name>, subscription_id=<subscription-ID>, resource_group=<resource-group-name>).get_details() -
REST API:
curl https://management.azure.com/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/?api-version=2023-10-01 -H "Authorization:Bearer <access-token>" -
PowerShell:
Get-AzMLWorkspace -Name <workspace-name> -ResourceGroupName <resource-group-name>
Wanneer u netwerkisolatie gebruikt om online-eindpunten te beveiligen, kunt u werkruimteresources uit een andere resourcegroep gebruiken dan uw werkruimteresourcegroep. Deze resources moeten echter deel uitmaken van hetzelfde abonnement en dezelfde tenant als uw werkruimte. Resources die zijn gekoppeld aan een werkruimte zijn Onder andere Azure Container Registry, Azure Storage, Azure Key Vault en Application Insights.
Notitie
In dit artikel wordt de netwerkisolatie beschreven die van toepassing is op bewerkingen in het gegevensvlak. Deze bewerkingen zijn het resultaat van scoreaanvragen of modelondersteuning. Besturingsvlakbewerkingen, zoals aanvragen voor het maken, bijwerken, verwijderen of ophalen van verificatiesleutels, worden via het openbare netwerk verzonden naar Azure Resource Manager.
Binnenkomende scoreaanvragen beveiligen
U kunt binnenkomende communicatie van een client naar een beheerd online-eindpunt beveiligen met behulp van een privé-eindpunt voor de Azure Machine Learning-werkruimte. Dit privé-eindpunt in het virtuele netwerk van de client communiceert met de werkruimte van het beheerde online-eindpunt en is de methode waarmee het beheerde online-eindpunt binnenkomende scoreaanvragen van de client ontvangt.
Als u scoreaanvragen wilt beveiligen voor het online-eindpunt, zodat een client deze alleen kan openen via het privé-eindpunt van de werkruimte, stelt u de public_network_access vlag voor het eindpunt in op disabled. Nadat u het eindpunt hebt gemaakt, kunt u deze instelling bijwerken om indien gewenst openbare netwerktoegang in te schakelen.
Stel de vlag van public_network_access het eindpunt in op disabled:
Voordat u de Azure CLI-opdracht uitvoert:
- Zorg ervoor dat u een
endpoint.ymlbestand in uw huidige werkmap hebt (lokaal of in Azure Cloud Shell). - Als u Azure Cloud Shell gebruikt, uploadt
endpoint.ymlof kloont u een opslagplaats die deze in de basismap van Cloud Shell bevat. - Als uw standaard Azure Machine Learning-werkruimte en -resourcegroep niet zijn ingesteld, voegt u de
--resource-groupen--workspace-nameparameters toe.
az ml online-endpoint create \
--file endpoint.yml \
--set public_network_access=disabled
# Optionally specify the workspace and resource group explicitly
az ml online-endpoint create \
--file endpoint.yml \
--resource-group <resource-group-name> \
--workspace-name <workspace-name> \
--set public_network_access=disabled
Als er een No such file or directory: endpoint.yml fout wordt weergegeven, controleert u of deze endpoint.yml bestaat in uw huidige map en voert u de opdracht uit vanuit die map.
Wanneer u uitschakelt public_network_access, ontvangt het privé-eindpunt van de werkruimte binnenkomende scoreaanvragen en kunnen openbare netwerken het eindpunt niet bereiken.
Als u dit inschakelt public_network_access, kan het eindpunt binnenkomende scoreaanvragen ontvangen van internet.
Binnenkomende score beveiligen met openbare netwerktoegang vanaf specifieke IP-adressen
Azure Machine Learning-werkruimte biedt ondersteuning voor het inschakelen van openbare netwerktoegang vanuit specifieke IP-adressen of adresbereiken. Deze functie heeft enkele interacties met de vlag van public_network_access het beheerde online-eindpunt waarvan u op de hoogte moet zijn wanneer u deze gebruikt met beheerde online-eindpunten. Zie Scenario: Beheerde online-eindpunten met toegang vanaf specifieke IP-adressen voor meer informatie.
Uitgaande toegang beveiligen met een beheerd virtueel netwerk in de werkruimte
Als u uitgaande communicatie van een implementatie naar services wilt beveiligen, moet u isolatie van beheerde virtuele netwerken inschakelen voor uw Azure Machine Learning-werkruimte, zodat Azure Machine Learning een beheerd virtueel netwerk voor de werkruimte kan maken. Alle beheerde online-eindpunten in de werkruimte (en beheerde rekenresources voor de werkruimte, zoals rekenclusters en rekeninstanties) gebruiken automatisch dit beheerde virtuele netwerk van de werkruimte en de implementaties onder de eindpunten delen de privé-eindpunten van het beheerde virtuele netwerk voor communicatie met de resources van de werkruimte.
Wanneer u uw werkruimte beveiligt met een beheerd virtueel netwerk, is de egress_public_access vlag voor beheerde online-implementaties niet meer van toepassing. Vermijd het instellen van deze vlag bij het maken van de beheerde online-implementatie.
Voor uitgaande communicatie met een beheerd virtueel netwerk in een werkruimte, Azure Machine Learning:
- Hiermee maakt u privé-eindpunten voor het beheerde virtuele netwerk dat moet worden gebruikt voor communicatie met Azure-resources die door de werkruimte worden gebruikt, zoals Azure Storage, Azure Key Vault en Azure Container Registry.
- Hiermee hebben implementaties toegang tot het Microsoft Container Registry (MCR), wat handig kan zijn als u gecureerde omgevingen of MLflow-implementatie zonder code wilt gebruiken.
- Hiermee kunnen gebruikers uitgaande regels voor privé-eindpunten configureren voor privébronnen en uitgaande regels (servicetag of FQDN) configureren voor openbare resources. Zie Regels voor uitgaand verkeer beheren voor meer informatie over het beheren van uitgaande regels.
Bovendien kunt u twee isolatiemodi configureren voor uitgaand verkeer vanuit het beheerde virtuele netwerk van de werkruimte:
- Uitgaand internet toestaan om al het uitgaande internetverkeer van het beheerde virtuele netwerk toe te staan
- Sta alleen goedgekeurd uitgaand verkeer toe om uitgaand verkeer te beheren met behulp van privé-eindpunten, FQDN-uitgaande regels en servicetag-uitgaande regels.
Als het beheerde virtuele netwerk van uw werkruimte bijvoorbeeld twee implementaties bevat onder een beheerd online-eindpunt, kunnen beide implementaties de privé-eindpunten van de werkruimte gebruiken om mee te communiceren:
- De Azure Machine Learning-werkruimte
- De Azure Storage-blob die is gekoppeld aan de werkruimte
- Azure Container Registry voor de werkruimte
- De Azure Key Vault
- (Optioneel) aanvullende privébronnen die ondersteuning bieden voor privé-eindpunten.
Zie De architectuur van het beheerde virtuele netwerk in de werkruimte voor meer informatie over configuraties voor het beheerde virtuele netwerk van de werkruimte.
Scenario's voor netwerkisolatieconfiguratie
Uw Azure Machine Learning-werkruimte en het beheerde online-eindpunt hebben elk een public_network_access vlag die u kunt gebruiken om hun binnenkomende communicatie te configureren. Uitgaande communicatie van een implementatie is daarentegen afhankelijk van het beheerde virtuele netwerk van de werkruimte.
Communicatie met het beheerde online-eindpunt
Stel dat een beheerd online-eindpunt een implementatie heeft die gebruikmaakt van een AI-model en u een app wilt gebruiken om scoreaanvragen naar het eindpunt te verzenden. U kunt als volgt bepalen welke netwerkisolatieconfiguratie moet worden gebruikt voor het beheerde online-eindpunt:
Voor binnenkomende communicatie:
Als de app openbaar beschikbaar is op internet, moet u het eindpunt inschakelenpublic_network_access zodat deze binnenkomende scoreaanvragen van de app kan ontvangen.
Als de app echter privé is, zoals een interne app binnen uw organisatie, wilt u dat het AI-model alleen binnen uw organisatie wordt gebruikt in plaats van deze beschikbaar te maken op internet. Daarom moet , zodat het binnenkomende scoreaanvragen alleen kan ontvangen via het privé-eindpunt van de werkruimte.
Voor uitgaande communicatie (implementatie):
Stel dat uw implementatie toegang moet hebben tot persoonlijke Azure-resources (zoals de Azure Storage-blob, ACR en Azure Key Vault), of dat de implementatie geen toegang heeft tot internet. In dit geval moet u het beheerde virtuele netwerk van de werkruimte inschakelen met de alleen goedgekeurde uitgaande isolatiemodus. Met deze isolatiemodus kan uitgaande communicatie van de implementatie alleen naar goedgekeurde bestemmingen worden uitgevoerd, waardoor gegevensexfiltratie worden beschermd. Bovendien kunt u uitgaande regels voor de werkruimte toevoegen om toegang te verlenen tot meer privé- of openbare resources. Zie Een beheerd virtueel netwerk configureren om alleen goedgekeurde uitgaande verbindingen toe te staan voor meer informatie.
Als u echter wilt dat uw implementatie toegang heeft tot internet, kunt u het beheerde virtuele netwerk van de werkruimte gebruiken met de modus uitgaande internetisolatie toestaan . Naast toegang tot internet, kunt u de privé-eindpunten van het beheerde virtuele netwerk gebruiken voor toegang tot persoonlijke Azure-resources die u nodig hebt.
Als uw implementatie geen toegang nodig heeft tot persoonlijke Azure-resources en u de toegang tot internet niet hoeft te beheren, hoeft u geen door een werkruimte beheerd virtueel netwerk te gebruiken.
Inkomende communicatie met de Azure Machine Learning-werkruimte
U kunt de public_network_access vlag van uw Azure Machine Learning-werkruimte gebruiken om de toegang tot binnenkomende werkruimten in of uit te schakelen.
Als u binnenkomende communicatie naar uw werkruimte beveiligt (door de vlag van public_network_access de werkruimte uit te schakelen), wilt u ook binnenkomende communicatie naar uw beheerde online-eindpunt beveiligen.
In de volgende grafiek ziet u een typische werkstroom voor het beveiligen van binnenkomende communicatie naar uw Azure Machine Learning-werkruimte en uw beheerde online-eindpunt. Voor de beste beveiliging raden we u aan de public_network_access vlaggen voor de werkruimte en het beheerde online-eindpunt uit te schakelen om ervoor te zorgen dat beide niet toegankelijk zijn via het openbare internet. Als de werkruimte geen privé-eindpunt heeft, kunt u er een maken en ervoor zorgen dat u de juiste DNS-resolutie opneemt. U kunt vervolgens toegang krijgen tot het beheerde online-eindpunt met behulp van het privé-eindpunt van de werkruimte.
Notitie
Beheerde online-eindpunten delen het privé-eindpunt van de werkruimte. Als u handmatig DNS-records toevoegt aan de privé-DNS-zone privatelink.api.azureml.ms, moet een A-record met jokertekens *.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms worden toegevoegd om alle eindpunten onder de werkruimte naar het privé-eindpunt te routeren.
Zie Uw werkruimte gebruiken met een aangepaste DNS-server voor meer informatie over DNS-resolutie voor uw werkruimte en privé-eindpunt.
Bijlage
Uitgaande toegang beveiligen met verouderde netwerkisolatiemethode
Voor beheerde online-eindpunten kunt u uitgaande communicatie tussen implementaties en resources beveiligen met behulp van een door Azure Machine Learning beheerd virtueel netwerk voor elke implementatie in het eindpunt. De beveiligde uitgaande communicatie wordt ook verwerkt met behulp van privé-eindpunten voor die service-exemplaren.
Notitie
We raden u ten zeerste aan om de methode te gebruiken die wordt beschreven in uitgaande toegang beveiligen met een beheerd virtueel netwerk in de werkruimte in plaats van deze verouderde methode.
Als u de communicatie tussen een implementatie en externe resources wilt beperken, inclusief de Azure-resources die worden gebruikt, moet u ervoor zorgen dat:
De vlag van
egress_public_network_accessde implementatie isdisabled. Deze vlag zorgt ervoor dat het downloaden van het model, de code en de installatiekopieën die nodig zijn voor de implementatie, worden beveiligd met een privé-eindpunt. Zodra u de implementatie hebt gemaakt, kunt u deegress_public_network_accessvlag niet bijwerken (in- of uitschakelen). Het wijzigen van de vlag tijdens het bijwerken van de implementatie mislukt met een fout.De werkruimte heeft een privékoppeling waarmee toegang tot Azure-resources via een privé-eindpunt mogelijk is.
De werkruimte heeft een
public_network_accessvlag die u kunt in- of uitschakelen. Als u van plan bent een beheerde online-implementatie te gebruiken die gebruikmaakt van uitgaand verkeer, moet u ook de werkruimte configureren om openbare toegang toe te staan. Deze vereiste bestaat omdat uitgaande communicatie van de online implementatie naar de werkruimte-API is. Wanneer u de implementatie configureert voor het gebruik van openbaar uitgaand verkeer, moet de werkruimte die openbare communicatie kunnen accepteren (openbare toegang toestaan).
Wanneer u meerdere implementaties hebt en u de egress_public_network_access taak disabled configureert voor elke implementatie in een beheerd online-eindpunt, heeft elke implementatie een eigen onafhankelijk beheerd virtueel netwerk van Azure Machine Learning. Voor elk virtueel netwerk maakt Azure Machine Learning drie privé-eindpunten voor communicatie met de volgende services:
- De Azure Machine Learning-werkruimte
- De Azure Storage-blob die is gekoppeld aan de werkruimte
- Azure Container Registry voor de werkruimte
Als u bijvoorbeeld de egress_public_network_access vlag disabled instelt op twee implementaties van een beheerd online-eindpunt, worden er in totaal zes privé-eindpunten gemaakt. Elke implementatie maakt gebruik van drie privé-eindpunten om te communiceren met de werkruimte, de blob en het containerregister.
Belangrijk
Azure Machine Learning biedt geen ondersteuning voor peering tussen het beheerde virtuele netwerk van een implementatie en het virtuele netwerk van uw client. Voor beveiligde toegang tot resources die nodig zijn voor de implementatie, gebruiken we privé-eindpunten om te communiceren met de resources.
In het volgende diagram ziet u binnenkomende scoreaanvragen van het virtuele netwerk van een client dat door het privé-eindpunt van de werkruimte stroomt naar het beheerde online-eindpunt. In het diagram ziet u ook twee onlineimplementaties, elk in een eigen door Azure Machine Learning beheerd virtueel netwerk. Het virtuele netwerk van elke implementatie heeft drie privé-eindpunten voor uitgaande communicatie met de Azure Machine Learning-werkruimte, de Azure Storage-blob die is gekoppeld aan de werkruimte en het Azure Container Registry voor de werkruimte.
De privé-eindpunten uitschakelen egress_public_network_access en maken:
az ml online-deployment create -f deployment.yml --set egress_public_network_access=disabled
Als u het maken van de privé-eindpunten wilt bevestigen, controleert u eerst het opslagaccount en het containerregister dat is gekoppeld aan de werkruimte (zie Een configuratiebestand downloaden), zoekt u elke resource in Azure Portal en controleert u het Private endpoint connections tabblad onder het Networking menu.
Belangrijk
- Zoals eerder vermeld, is uitgaande communicatie van beheerde online-eindpuntimplementatie naar de werkruimte-API. Wanneer het eindpunt is geconfigureerd voor het gebruik van openbaar uitgaand verkeer (met andere woorden:
public_network_accessvlag voor het eindpunt is ingesteld openabled), moet de werkruimte die openbare communicatie kunnen accepteren (public_network_accessvlag voor de werkruimte ingesteld openabled). - Wanneer onlineimplementaties worden gemaakt met
egress_public_network_accesseen vlag die is ingesteld opdisabled, hebben ze alleen toegang tot de beveiligde resources (werkruimte, blob en containerregister). Als de implementatie bijvoorbeeld modelassets gebruikt die zijn geüpload naar andere opslagaccounts, mislukt het downloaden van het model. Zorg ervoor dat modelassets zich in het opslagaccount bevinden dat is gekoppeld aan de werkruimte. - Wanneer
egress_public_network_accessdeze is ingestelddisabledop, heeft de implementatie alleen toegang tot de aan de werkruimte gekoppelde resources die zijn beveiligd in het virtuele netwerk. Integendeel, wanneeregress_public_network_accessis ingesteld openabled, kan de implementatie alleen toegang krijgen tot de resources met openbare toegang. Dit betekent dat deze geen toegang heeft tot de resources die beveiligd zijn binnen het virtuele netwerk.
De volgende tabel bevat de ondersteunde configuraties bij het configureren van binnenkomende en uitgaande communicatie voor een online eindpunt:
| Configuratie | Inkomend (eindpunteigenschap) |
Uitgaand (implementatie-eigenschap) |
Ondersteund? |
|---|---|---|---|
| beveiligd inkomend met beveiligd uitgaand |
public_network_access is uitgeschakeld |
egress_public_network_access is uitgeschakeld |
Ja |
| beveiligd inkomend met openbaar uitgaand |
public_network_access is uitgeschakeld |
egress_public_network_access is ingeschakeld. De werkruimte moet ook openbare toegang toestaan omdat de implementatie uitgaand is voor de werkruimte-API. |
Ja |
| openbaar inkomend met beveiligd uitgaand |
public_network_access is ingeschakeld |
egress_public_network_access is uitgeschakeld |
Ja |
| openbaar inkomend met openbaar uitgaand |
public_network_access is ingeschakeld |
egress_public_network_access is ingeschakeld. De werkruimte moet ook openbare toegang toestaan omdat de implementatie uitgaand is voor de werkruimte-API. |
Ja |