Privát végpont konfigurálása egy Azure Machine Learning-munkaterület számára

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

Ebben a dokumentumban megtudhatja, hogyan konfigurálhat privát végpontot az Azure Machine Tanulás-munkaterülethez. Az Azure Machine Tanulás virtuális hálózatának létrehozásáról további információt a Virtuális hálózatok elkülönítése és az adatvédelem áttekintése című témakörben talál.

Az Azure Private Link lehetővé teszi, hogy privát végpont használatával csatlakozzon a munkaterülethez. A privát végpont a virtuális hálózaton belüli privát IP-címek halmaza. Ezután korlátozhatja a munkaterülethez való hozzáférést, hogy csak a magánhálózati IP-címeken történjen. A privát végpontok csökkentik az adatkiszivárgás kockázatát. A privát végpontokkal kapcsolatos további információkért tekintse meg az Azure Private Link-cikket .

Figyelmeztetés

A munkaterület privát végpontokkal való biztonságossá tétele önmagában nem biztosítja a végpontok közötti biztonságot. A megoldás minden egyes összetevőjét biztonságossá kell tennie. Ha például privát végpontot használ a munkaterülethez, de az Azure Storage-fiókja nincs a virtuális hálózat mögött, a munkaterület és a tár közötti forgalom nem használja a virtuális hálózatot a biztonság érdekében.

Az Azure Machine Tanulás által használt erőforrások védelméről az alábbi cikkekben talál további információt:

Előfeltételek

  • A privát végpont létrehozásához meglévő virtuális hálózatra van szükség.

    Figyelmeztetés

    Ne használja a virtuális hálózat 172.17.0.0/16 IP-címtartományát. Ez a Docker-hídhálózat által használt alapértelmezett alhálózati tartomány, és a virtuális hálózat használatakor hibákhoz vezet. Más tartományok is ütközhetnek attól függően, hogy mit szeretne csatlakozni a virtuális hálózathoz. Ha például a helyszíni hálózatot a virtuális hálózathoz szeretné csatlakoztatni, és a helyszíni hálózat a 172.16.0.0/16 tartományt is használja. Végső soron Önnek kell megterveznie a hálózati infrastruktúrát.

  • A privát végpont hozzáadása előtt tiltsa le a hálózati házirendeket a privát végpontok esetében.

Korlátozások

  • Ha nyilvános hozzáférést engedélyez egy privát végponttal védett munkaterülethez, és nyilvános interneten keresztül használja az Azure Machine Tanulás Studiót, előfordulhat, hogy egyes funkciók, például a tervező nem férnek hozzá az adatokhoz. Ez a probléma akkor áll elő, ha az adatok nem a virtuális hálózat mögötti védett szolgáltatásban vannak tárolva. Ilyen például egy Azure Storage-fiók.

  • A Mozilla Firefox használata esetén problémák léphetnek fel a munkaterület privát végpontjának elérésekor. Ez a probléma a HTTPS-en keresztüli DNS-sel kapcsolatos lehet a Mozilla Firefoxban. Javasoljuk a Microsoft Edge vagy a Google Chrome használatát.

  • A privát végpont használata nem befolyásolja az Azure vezérlősíkját (felügyeleti műveleteit), például a munkaterület törlését vagy a számítási erőforrások kezelését. Például számítási cél létrehozása, frissítése vagy törlése. Ezeket a műveleteket a szokásos módon hajtja végre a nyilvános interneten keresztül. Az adatsík-műveletek, például az Azure Machine Tanulás Studio, API-k (beleértve a közzétett folyamatokat) vagy az SDK a privát végpontot használják.

  • Amikor számítási példányt vagy számítási fürtöt hoz létre egy privát végponttal rendelkező munkaterületen, a számítási példánynak és számítási fürtnek a munkaterület Azure-régiójával megegyező régióban kell lennie.

  • Ha egy Azure Kubernetes Service-fürtöt privát végponttal rendelkező munkaterülethez csatol, a fürtnek ugyanabban a régióban kell lennie, mint a munkaterület.

  • Ha több privát végponttal rendelkező munkaterületet használ, az egyik privát végpontnak ugyanabban a virtuális hálózaton kell lennie, mint a következő függőségi szolgáltatásoknak:

    • Azure Storage-fiók, amely a munkaterület alapértelmezett tárterületét biztosítja
    • Azure Key Vault a munkaterülethez
    • Azure Container Registry a munkaterülethez.

    Egy virtuális hálózat ('services' VNet) például tartalmazna egy privát végpontot a függőségi szolgáltatásokhoz és a munkaterülethez. Ez a konfiguráció lehetővé teszi, hogy a munkaterület kommunikáljon a szolgáltatásokkal. Egy másik virtuális hálózat ("ügyfelek") csak a munkaterület privát végpontját tartalmazhatják, és csak az ügyfélfejlesztő gépek és a munkaterület közötti kommunikációhoz használhatók.

Privát végpontot használó munkaterület létrehozása

Az alábbi módszerek egyikével hozzon létre egy privát végponttal rendelkező munkaterületet. Ezekhez a módszerekhez szükség van egy meglévő virtuális hálózatra:

Tipp.

Ha egyszerre szeretne munkaterületet, privát végpontot és virtuális hálózatot létrehozni, olvassa el az Azure Resource Manager-sablon használata munkaterület létrehozásához az Azure Machine Tanulás számára című témakört.

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

Ha az Azure CLI 2.0 CLI-bővítményt használja gépi tanuláshoz, egy YAML-dokumentumot használ a munkaterület konfigurálásához. Az alábbi példa bemutatja, hogyan hozhat létre új munkaterületet YAML-konfigurációval:

Tipp.

Privát kapcsolat használata esetén a munkaterület nem használhatja az Azure Container Registry-feladatok számítási feladatait a képkészítéshez. A image_build_compute konfiguráció tulajdonsága megadja a Docker-rendszerkép-környezetek létrehozásához használandó cpu-számítási fürt nevét. Azt is megadhatja, hogy a privát kapcsolat munkaterületének elérhetőnek kell-e lennie az interneten keresztül a public_network_access tulajdonság használatával.

Ebben a példában a hivatkozott számítást image_build_compute a rendszerképek létrehozása előtt létre kell hozni.

$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-privatelink-prod
location: eastus
display_name: Private Link endpoint workspace-example
description: When using private link, you must set the image_build_compute property to a cluster name to use for Docker image environment building. You can also specify whether the workspace should be accessible over the internet.
image_build_compute: cpu-compute
public_network_access: Disabled
tags:
  purpose: demonstration
az ml workspace create \
    -g <resource-group-name> \
    --file privatelink.yml

A munkaterület létrehozása után az Azure networking CLI-parancsaival hozzon létre egy privát kapcsolati végpontot a munkaterülethez.

az network private-endpoint create \
    --name <private-endpoint-name> \
    --vnet-name <vnet-name> \
    --subnet <subnet-name> \
    --private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
    --group-id amlworkspace \
    --connection-name workspace -l <location>

A munkaterülethez tartozó privát DNS-zónabejegyzések létrehozásához használja a következő parancsokat:

# Add privatelink.api.azureml.ms
az network private-dns zone create \
    -g <resource-group-name> \
    --name privatelink.api.azureml.ms

az network private-dns link vnet create \
    -g <resource-group-name> \
    --zone-name privatelink.api.azureml.ms \
    --name <link-name> \
    --virtual-network <vnet-name> \
    --registration-enabled false

az network private-endpoint dns-zone-group create \
    -g <resource-group-name> \
    --endpoint-name <private-endpoint-name> \
    --name myzonegroup \
    --private-dns-zone privatelink.api.azureml.ms \
    --zone-name privatelink.api.azureml.ms

# Add privatelink.notebooks.azure.net
az network private-dns zone create \
    -g <resource-group-name> \
    --name privatelink.notebooks.azure.net

az network private-dns link vnet create \
    -g <resource-group-name> \
    --zone-name privatelink.notebooks.azure.net \
    --name <link-name> \
    --virtual-network <vnet-name> \
    --registration-enabled false

az network private-endpoint dns-zone-group add \
    -g <resource-group-name> \
    --endpoint-name <private-endpoint-name> \
    --name myzonegroup \
    --private-dns-zone privatelink.notebooks.azure.net \
    --zone-name privatelink.notebooks.azure.net

Privát végpont hozzáadása munkaterülethez

Magánvégpont meglévő munkaterülethez való hozzáadásához használja az alábbi módszerek egyikét:

Figyelmeztetés

Ha rendelkezik a munkaterülethez társított meglévő számítási célokkal, és nem ugyanazon a virtuális hálózaton vannak mögöttük, amelyben a privát végpont létre lett hozva, azok nem fognak működni.

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

Amikor az Azure CLI 2.0 CLI-bővítményt használja a gépi tanuláshoz, az Azure hálózati CLI-parancsaival hozzon létre egy privát kapcsolati végpontot a munkaterülethez.

az network private-endpoint create \
    --name <private-endpoint-name> \
    --vnet-name <vnet-name> \
    --subnet <subnet-name> \
    --private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
    --group-id amlworkspace \
    --connection-name workspace -l <location>

A munkaterülethez tartozó privát DNS-zónabejegyzések létrehozásához használja a következő parancsokat:

# Add privatelink.api.azureml.ms
az network private-dns zone create \
    -g <resource-group-name> \
    --name 'privatelink.api.azureml.ms'

az network private-dns link vnet create \
    -g <resource-group-name> \
    --zone-name 'privatelink.api.azureml.ms' \
    --name <link-name> \
    --virtual-network <vnet-name> \
    --registration-enabled false

az network private-endpoint dns-zone-group create \
    -g <resource-group-name> \
    --endpoint-name <private-endpoint-name> \
    --name myzonegroup \
    --private-dns-zone 'privatelink.api.azureml.ms' \
    --zone-name 'privatelink.api.azureml.ms'

# Add privatelink.notebooks.azure.net
az network private-dns zone create \
    -g <resource-group-name> \
    --name 'privatelink.notebooks.azure.net'

az network private-dns link vnet create \
    -g <resource-group-name> \
    --zone-name 'privatelink.notebooks.azure.net' \
    --name <link-name> \
    --virtual-network <vnet-name> \
    --registration-enabled false

az network private-endpoint dns-zone-group add \
    -g <resource-group-name> \
    --endpoint-name <private-endpoint-name> \
    --name myzonegroup \
    --private-dns-zone 'privatelink.notebooks.azure.net' \
    --zone-name 'privatelink.notebooks.azure.net'

Privát végpont eltávolítása

Egy munkaterület egy vagy az összes privát végpontja eltávolítható. A privát végpont eltávolítása eltávolítja a munkaterületet abból a virtuális hálózatból, amelyhez a végpont társítva volt. A privát végpont eltávolítása megakadályozhatja, hogy a munkaterület hozzáférjen az adott virtuális hálózat erőforrásaihoz, vagy hogy a virtuális hálózat erőforrásai hozzáférjenek a munkaterülethez. Ha például a virtuális hálózat nem engedélyezi a nyilvános internethez vagy az internetről való hozzáférést.

Figyelmeztetés

A munkaterület privát végpontjainak eltávolítása nem teszi nyilvánosan elérhetővé. A munkaterület nyilvános akadálymentesítéséhez használja a nyilvános hozzáférés engedélyezése szakaszban található lépéseket.

Privát végpont eltávolításához használja az alábbi információkat:

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

Ha az Azure CLI 2.0 CLI-bővítményt használja a gépi tanuláshoz, a következő paranccsal távolítsa el a privát végpontot:

az network private-endpoint delete \
    --name <private-endpoint-name> \
    --resource-group <resource-group-name> \

Nyilvános hozzáférés engedélyezése

Bizonyos esetekben előfordulhat, hogy engedélyezni szeretné, hogy valaki nyilvános végponton keresztül csatlakozzon a biztonságos munkaterülethez a virtuális hálózat helyett. Vagy el szeretné távolítani a munkaterületet a virtuális hálózatról, és újra engedélyezni a nyilvános hozzáférést.

Fontos

A nyilvános hozzáférés engedélyezése nem távolít el egyetlen privát végpontot sem. A virtuális hálózat mögötti összetevők közötti összes kommunikáció, amelyhez a privát végpont(ok) csatlakoznak, továbbra is biztonságosak. A nyilvános hozzáférést csak a munkaterülethez teszi lehetővé, a magánvégpontokon keresztüli privát hozzáférés mellett.

Figyelmeztetés

Ha a nyilvános végponton keresztül csatlakozik, amikor a munkaterület privát végpont használatával kommunikál más erőforrásokkal:

  • A studio egyes funkciói nem férnek hozzá az adatokhoz. Ez a probléma akkor fordul elő, ha az adatok a virtuális hálózat mögött biztonságos szolgáltatásban vannak tárolva. Ilyen például egy Azure Storage-fiók. A probléma megoldásához adja hozzá az ügyféleszköz IP-címét az Azure Storage-fiók tűzfalához.
  • Nem támogatott a Jupyter, a JupyterLab, az RStudio vagy a Posit Workbench (korábban RStudio Workbench) használata egy számítási példányon, beleértve a futó jegyzetfüzeteket is.

A nyilvános hozzáférés engedélyezéséhez kövesse az alábbi lépéseket:

Tipp.

Két lehetséges tulajdonságot konfigurálhat:

  • allow_public_access_when_behind_vnet - a Python SDK v1 által használt
  • public_network_access - a CLI és a Python SDK v2 által használt minden tulajdonság felülírja a másikat. A beállítás public_network_access például felülírja a korábbi beállításokat.allow_public_access_when_behind_vnet

A Microsoft a public_network_access munkaterülethez való nyilvános hozzáférés engedélyezését vagy letiltását javasolja.

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

Ha az Azure CLI 2.0 CLI-bővítményt használja a gépi tanuláshoz, a az ml update parancs használatával engedélyezze public_network_access a munkaterületet:

az ml workspace update \
    --set public_network_access=Enabled \
    -n <workspace-name> \
    -g <resource-group-name>

A nyilvános hálózati hozzáférést YAML-fájllal is engedélyezheti. További információt a munkaterület YAML-referenciája tartalmaz.

Nyilvános hozzáférés engedélyezése csak internetes IP-tartományokból (előzetes verzió)

IP-hálózati szabályok használatával ip-hálózati szabályok létrehozásával engedélyezheti a munkaterülethez és a végponthoz való hozzáférést adott nyilvános internetes IP-címtartományokból. Minden Azure Machine Tanulás-munkaterület legfeljebb 200 szabályt támogat. Ezek a szabályok hozzáférést biztosítanak bizonyos internetes szolgáltatásokhoz és helyszíni hálózatokhoz, és blokkolják az általános internetes forgalmat.

Figyelmeztetés

  • Engedélyezze a végpont nyilvános hálózati hozzáférési jelzőjét, ha engedélyezni szeretné a végponthoz való hozzáférést adott nyilvános internetes IP-címtartományokból.
  • A funkció engedélyezése hatással van a munkaterülethez társított összes meglévő nyilvános végpontra. Ez korlátozhatja az új vagy meglévő végpontokhoz való hozzáférést. Ha nem engedélyezett IP-címről éri el a végpontokat, 403-at kap.
  • Ha ezt a funkciót az Azure Machine Tanulás felügyelt virtuális hálózattal szeretné használni, tekintse meg az Azure Machine Tanulás felügyelt virtuális hálózatot.

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

Az Azure CLI ezt nem támogatja.

IP-hálózati szabályok korlátozásai

Az IP-címtartományokra a következő korlátozások vonatkoznak:

  • Az IP-hálózati szabályok csak nyilvános internetes IP-címekre engedélyezettek.

    A fenntartott IP-címtartományok nem engedélyezettek az IP-szabályokban, például a 10,172,16 és 172,31 közötti és 192.168-as kezdetű privát címekben.

  • Az engedélyezett internetes címtartományokat a 16.17.18.0/24 formátumú CIDR-jelöléssel vagy egyéni IP-címként kell megadnia, például 16.17.18.19.

  • A tárolási tűzfalszabályok konfigurálása csak az IPv4-címeket támogatja.

  • Ha ez a funkció engedélyezve van, a nyilvános végpontokat bármely ügyféleszközzel, például a Postmannal vagy másokkal tesztelheti, de a portál végponttesztelési eszköze nem támogatott.

Biztonságos csatlakozás a munkaterülethez

A virtuális hálózat mögött biztonságos munkaterülethez való csatlakozáshoz használja az alábbi módszerek egyikét:

  • Azure VPN Gateway – Csatlakozás helyszíni hálózatokat a virtuális hálózathoz privát kapcsolaton keresztül. Csatlakozás a nyilvános interneten keresztül történik. Kétféle VPN-átjárót használhat:

  • ExpressRoute – Csatlakozás a helyszíni hálózatokat a felhőbe privát kapcsolaton keresztül. Csatlakozás kapcsolatszolgáltató használatával történik.

  • Azure Bastion – Ebben a forgatókönyvben egy Azure-beli virtuális gépet (más néven jump boxot) hoz létre a virtuális hálózaton belül. Ezután az Azure Bastion használatával csatlakozhat a virtuális géphez. A Bastion lehetővé teszi a virtuális géphez való csatlakozást RDP- vagy SSH-munkamenet használatával a helyi webböngészőből. Ezt követően a jump boxot fogja használni fejlesztési környezetként. Mivel a virtuális hálózaton belül van, közvetlenül hozzáférhet a munkaterülethez. A jump box használatára példa: Oktatóanyag: Biztonságos munkaterület létrehozása.

Fontos

VPN-átjáró vagy ExpressRoute használatakor meg kell terveznie a névfeloldás működését a helyszíni erőforrások és a virtuális hálózatban lévők között. További információ: Egyéni DNS-kiszolgáló használata.

Ha problémái vannak a munkaterülethez való csatlakozással, olvassa el a biztonságos munkaterület-kapcsolat hibaelhárításával kapcsolatos témakört.

Több privát végpont

Az Azure Machine Tanulás több privát végpontot is támogat egy munkaterülethez. Gyakran több privát végpontot használnak, ha külön szeretné tartani a különböző környezeteket. Az alábbi forgatókönyvek több privát végpont használatával engedélyezve vannak:

Fontos

A munkaterülethez privát végpontot tartalmazó virtuális hálózatoknak is hozzá kell férniük a munkaterület által használt Azure Storage-fiókhoz, Az Azure Key Vaulthoz és az Azure Container Registryhez. Létrehozhat például egy privát végpontot az egyes virtuális hálózatok szolgáltatásaihoz.

Több privát végpont hozzáadása ugyanazokat a lépéseket használja, mint az Add a private endpoint to a workspace section.

Forgatókönyv: Izolált ügyfelek

Ha el szeretné különíteni a fejlesztési ügyfeleket, hogy ne férhessenek hozzá közvetlen hozzáféréssel az Azure Machine Tanulás által használt számítási erőforrásokhoz, kövesse az alábbi lépéseket:

Feljegyzés

Ezek a lépések feltételezik, hogy van egy meglévő munkaterülete, az Azure Storage-fiókja, az Azure Key Vault és az Azure Container Registry. Mindegyik szolgáltatás privát végpontokkal rendelkezik egy meglévő virtuális hálózaton.

  1. Hozzon létre egy másik virtuális hálózatot az ügyfelek számára. Ez a virtuális hálózat tartalmazhat olyan Azure-beli virtuális gépeket, amelyek az ügyfelekként működnek, vagy tartalmazhatnak egy VPN Gatewayt, amelyet a helyszíni ügyfelek használnak a virtuális hálózathoz való csatlakozáshoz.
  2. Adjon hozzá egy új privát végpontot a munkaterület által használt Azure Storage-fiókhoz, Azure Key Vaulthoz és Azure Container Registryhez. Ezeknek a privát végpontoknak az ügyfél virtuális hálózatában kell létezniük.
  3. Ha a munkaterület egy másik tárolóval rendelkezik, adjon hozzá egy új privát végpontot ehhez a tárolóhoz. A privát végpontnak az ügyfél virtuális hálózatában kell lennie, és engedélyezve kell lennie a privát DNS-zónaintegrációnak.
  4. Adjon hozzá egy új privát végpontot a munkaterülethez. Ennek a privát végpontnak az ügyfél virtuális hálózatában kell lennie, és engedélyezve kell lennie a privát DNS-zónaintegrációnak.
  5. A Studio használata virtuális hálózati cikkben ismertetett lépésekkel engedélyezheti a studio számára a tárfiók(ok) elérését.

Az alábbi ábra ezt a konfigurációt szemlélteti. A számítási feladatok virtuális hálózata a munkaterület által a betanítási és üzembe helyezési célokra létrehozott számításokat tartalmazza. Az ügyfél virtuális hálózata ügyfeleket vagy ügyfél ExpressRoute-/VPN-kapcsolatokat tartalmaz. Mindkét virtuális hálózat privát végpontokat tartalmaz a munkaterülethez, az Azure Storage-fiókhoz, az Azure Key Vaulthoz és az Azure Container Registryhez.

Diagram of isolated client VNet

Forgatókönyv: Izolált Azure Kubernetes Service

Ha a munkaterület által használt izolált Azure Kubernetes-szolgáltatást szeretne létrehozni, kövesse az alábbi lépéseket:

Feljegyzés

Ezek a lépések feltételezik, hogy van egy meglévő munkaterülete, az Azure Storage-fiókja, az Azure Key Vault és az Azure Container Registry. Mindegyik szolgáltatás privát végpontokkal rendelkezik egy meglévő virtuális hálózaton.

  1. Hozzon létre egy Azure Kubernetes Service-példányt. A létrehozás során az AKS létrehoz egy VNetet, amely tartalmazza az AKS-fürtöt.
  2. Adjon hozzá egy új privát végpontot a munkaterület által használt Azure Storage-fiókhoz, Azure Key Vaulthoz és Azure Container Registryhez. Ezeknek a privát végpontoknak az ügyfél virtuális hálózatában kell létezniük.
  3. Ha a munkaterület más tárolóval is rendelkezik, adjon hozzá egy új privát végpontot ehhez a tárolóhoz. A privát végpontnak az ügyfél virtuális hálózatában kell lennie, és engedélyezve kell lennie a privát DNS-zónaintegrációnak.
  4. Adjon hozzá egy új privát végpontot a munkaterülethez. Ennek a privát végpontnak az ügyfél virtuális hálózatában kell lennie, és engedélyezve kell lennie a privát DNS-zónaintegrációnak.
  5. Csatolja az AKS-fürtöt az Azure Machine Tanulás-munkaterülethez. További információ: Azure Kubernetes Service-fürt létrehozása és csatolása.

Diagram of isolated AKS VNet

Következő lépések