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 cliënten aan 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/deployments naar services wordt verwerkt via privé-eindpunten van het beheerde virtuele netwerk van de werkruimte naar die service-exemplaren.
Opmerking
- 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.
Opmerking
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 het eindpunt public_network_access 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 scoring 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 public_network_access-vlag van het beheerde online-eindpunt waarmee u rekening moet houden 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.
Belangrijk
Als voor de Azure Key Vault die is gekoppeld aan uw Azure Machine Learning-werkruimte openbare netwerktoegang is uitgeschakeld of als firewallbeperkingen zijn ingeschakeld, moet u Vertrouwde Microsoft-services toestaan deze firewall te omzeilen inschakelen in de sleutelkluis. Deze vereiste geldt zelfs wanneer u privé-eindpunten configureert voor de sleutelkluis.
Azure Machine Learning slaat werkruimtegeheimen op en haalt deze op uit uw sleutelkluis via de infrastructuur aan de servicezijde. privé-eindpunten in uw virtuele netwerk of het beheerde virtuele netwerk in de werkruimte vervangen niet de uitzondering voor vertrouwde services die is vereist voor deze toegang aan servicezijde.
De bypass verleent geen toegang tot elke Azure-service. Alleen in aanmerking komende vertrouwde services kunnen deze gebruiken en aanvragen moeten nog steeds worden geauthenticeerd met Microsoft Entra ID en beschikken over de vereiste Azure RBAC-machtigingen of Key Vault-machtigingen voor toegangsbeleid. Zie Azure Key Vault vertrouwde services voor meer informatie.
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 door de werkruimte beheerd virtueel netwerk, 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 deployments 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éresources die privé-eindpunten ondersteunen.
Zie Architectuur van het beheerde virtuele netwerk voor meer informatie over configuraties voor het beheerde virtuele netwerk van de werkruimte.
Scenario’s voor configuratie van netwerkisolatie
Uw Azure Machine Learning-werkruimte en het beheerde online-eindpunt hebben elk een public_network_access instelling 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 verificatie voor 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 u het eindpunt van uitschakelen, zodat het binnenkomende scoreaanvragen alleen kan ontvangen via het privé-eindpunt van de werkruimte.
Voor uitgaande communicatie (uitrol):
Stel dat uw implementatie toegang moet hebben tot privé-Azure-resources (zoals de Azure Storage-blob, ACR en Azure Key Vault), of dat het onaanvaardbaar is dat de implementatie toegang heeft tot internet. In dit geval moet u het beheerde virtuele netwerk van de werkruimte inschakelen met de isolatiemodus alleen goedgekeurde uitgaande. Met deze isolatiemodus kan uitgaande communicatie van de implementatie alleen naar goedgekeurde bestemmingen worden uitgevoerd, waardoor wordt beschermd tegen gegevensexfiltratie. 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 uitrol toegang heeft tot internet, kunt u het beheerde virtuele netwerk van de werkruimte gebruiken met de isolatiemodus uitgaand internetverkeer toestaan. Naast toegang tot internet, kunt u de privé-eindpunten van het beheerde virtuele netwerk gebruiken voor toegang tot privé-Azure-resources die u nodig hebt.
Als uw implementatie geen toegang nodig heeft tot privé-Azure-resources en u de toegang tot internet niet hoeft te beheren, hoeft u geen werkruimtebeheerd virtueel netwerk te gebruiken.
Inkomende communicatie naar de Azure Machine Learning-werkruimte
U kunt de public_network_access-vlag van uw Azure Machine Learning-werkruimte gebruiken om inkomende toegang tot de werkruimte in of uit te schakelen.
Als u binnenkomende communicatie naar uw werkruimte beveiligt (door de public_network_access-vlag van 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 flags 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 voor de juiste DNS-resolutie zorgt. U kunt vervolgens toegang krijgen tot het beheerde online-eindpunt met behulp van het privé-eindpunt van de werkruimte.
Opmerking
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 jokerteken *.<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 afgehandeld met behulp van privé-eindpunten voor die service-exemplaren.
Opmerking
We raden u ten zeerste aan om de methode te gebruiken die wordt beschreven in Uitgaande toegang beveiligen met een door de werkruimte beheerd virtueel netwerk in plaats van deze verouderde methode.
Als u de communicatie tussen een implementatie en externe resources wilt beperken, inclusief de Azure-resources die deze gebruikt, moet u ervoor zorgen dat:
De markering van de implementatie
egress_public_network_accessisdisabled. Deze vlag zorgt ervoor dat het downloaden van het model, de code en de images die nodig zijn voor de implementatie, wordt 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 uitrol 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 tot 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 vlag egress_public_network_access instelt op disabled voor 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.
Opmerking
Wanneer u verwijst naar een model of omgeving vanuit een Azure Machine Learning-register, worden er ook twee privé-eindpunten gemaakt voor de volgende services:
- Azure Storage gekoppeld aan het register
- Azure Container Registry gekoppeld aan het register
Meer informatie over netwerkisolatie met Azure Machine Learning-registers
In het volgende diagram ziet u binnenkomende scoreaanvragen uit het virtuele netwerk van een klant die via het privé-eindpunt van de werkruimte naar het beheerde online-eindpunt stromen. 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.
Schakel de egress_public_network_access uit en maak de privé-eindpunten:
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 Download a configuration file), 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 de implementatie van een beheerd online-eindpunt naar de werkruimte-API. Wanneer het eindpunt is geconfigureerd voor het gebruik van openbare uitgaande communicatie (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_accessis ingesteld opdisabled, 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 (uitrol-eigenschap) |
Ondersteund? |
|---|---|---|---|
| beveiligde inkomende verbindingen met beveiligde uitgaande verbindingen |
public_network_access is uitgeschakeld |
egress_public_network_access is uitgeschakeld |
Ja |
| beveiligd inkomend verkeer met openbaar uitgaand verkeer |
public_network_access is uitgeschakeld |
egress_public_network_access is ingeschakeldDe werkruimte moet ook openbare toegang toestaan omdat het uitgaande verkeer van de implementatie naar de werkruimte-API gaat. |
Ja |
| publiek inkomend met beveiligd uitgaand |
public_network_access is ingeschakeld |
egress_public_network_access is uitgeschakeld |
Ja |
| publiek inkomend met publiek uitgaand |
public_network_access is ingeschakeld |
egress_public_network_access is ingeschakeldDe werkruimte moet ook openbare toegang toestaan omdat de uitgaande verbinding van de implementatie naar de werkruimte-API is. |
Ja |