Azure Machine Learning-munkaterület biztonságossá tétele virtuális hálózatokkal
A KÖVETKEZŐKRE VONATKOZIK:Azure CLI ml-bővítmény v2 (aktuális)
Python SDK azure-ai-ml v2 (aktuális)
Ebből a cikkből megtudhatja, hogyan védheti meg az Azure Machine Learning-munkaterületeket és a hozzá tartozó erőforrásokat egy virtuális hálózaton.
Tipp
Ez a cikk egy Azure Machine Learning-munkafolyamat biztonságossá tételéről szóló sorozat része. Tekintse meg a sorozat további cikkeit:
- A virtuális hálózat áttekintése
- A betanítási környezet védelme
- A következtetési környezet védelme
- Studio-funkciók engedélyezése
- Egyéni DNS használata
- Tűzfal használata
- API-platform hálózatelkülönítés
A biztonságos munkaterületek létrehozásáról szóló oktatóanyagért lásd : Oktatóanyag: Biztonságos munkaterület létrehozása vagy Oktatóanyag: Biztonságos munkaterület létrehozása sablonnal.
Ebből a cikkből megtudhatja, hogyan engedélyezheti a következő munkaterület-erőforrásokat egy virtuális hálózaton:
- Azure Machine Learning-munkaterület
- Azure Storage-fiókok
- Azure Key Vault
- Azure Container Registry
Előfeltételek
A gyakori virtuális hálózati forgatókönyvek és az általános virtuális hálózati architektúra megismeréséhez olvassa el a Hálózatbiztonság áttekintése című cikket.
Az ajánlott eljárások megismeréséhez olvassa el az Azure Machine Learning vállalati biztonsági ajánlott eljárásait ismertető cikket.
Egy meglévő virtuális hálózat és alhálózat, amelyet a számítási erőforrásokhoz használhat.
Fontos
Nem javasoljuk a 172.17.0.0/16 IP-címtartomány használatát a virtuális hálózathoz. Ez a Docker-hídhálózat által használt alapértelmezett alhálózati tartomány. Más tartományok is ütközhetnek attól függően, hogy mit szeretne csatlakoztatni 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.
Ha erőforrásokat szeretne üzembe helyezni egy virtuális hálózaton vagy alhálózaton, a felhasználói fióknak engedélyekkel kell rendelkeznie a következő műveletekhez az Azure szerepköralapú hozzáférés-vezérlésben (Azure RBAC):
- "Microsoft.Network/virtualNetworks/join/action" a virtuális hálózati erőforráson.
- "Microsoft.Network/virtualNetworks/subnets/join/action" az alhálózati erőforráson.
További információ a hálózatkezeléssel rendelkező Azure RBAC-ről: Hálózatkezelés beépített szerepkörei
Azure Container Registry
A Azure Container Registry Prémium verziónak kell lennie. További információ a frissítésről: Termékváltozatok módosítása.
Ha a Azure Container Registry privát végpontot használ, annak ugyanabban a virtuális hálózaton kell lennie, mint a betanításhoz vagy következtetéshez használt tárfióknak és számítási céloknak. Ha szolgáltatásvégpontot használ, annak ugyanabban a virtuális hálózatban és alhálózatban kell lennie, mint a tárfióknak és a számítási céloknak.
Az Azure Machine Learning-munkaterületnek tartalmaznia kell egy Azure Machine Learning számítási fürtöt.
Korlátozások
Azure Storage-fiók
Ha az Azure Machine Learning Studio használatát tervezi, és a tárfiók is a virtuális hálózaton található, extra ellenőrzési követelmények vannak érvényben:
- Ha a tárfiók szolgáltatásvégpontot használ, a munkaterület privát végpontjának és a társzolgáltatás végpontjának a virtuális hálózat azonos alhálózatában kell lennie.
- Ha a tárfiók privát végpontot használ, a munkaterület privát végpontjának és a tár privát végpontjának azonos virtuális hálózatban kell lennie. Ebben az esetben lehetnek más alhálózatban is.
Azure Container Instances
Ha az Azure Machine Learning-munkaterület privát végponttal van konfigurálva, az Azure Container Instances virtuális hálózatban való üzembe helyezése nem támogatott. Ehelyett fontolja meg felügyelt online végpontok használatát hálózatelkülönítéssel.
Azure Container Registry
Ha az ACR egy virtuális hálózat mögött van, az Azure Machine Learning nem használhatja közvetlenül Docker-rendszerképek készítésére. Ehelyett a számítási fürtöt használják a rendszerképek létrehozásához.
Fontos
A Docker-rendszerképek létrehozásához használt számítási fürtnek hozzá kell férnie a modellek betanítása és üzembe helyezése során használt csomagtárakhoz. Előfordulhat, hogy olyan hálózati biztonsági szabályokat kell hozzáadnia, amelyek engedélyezik a nyilvános adattárakhoz való hozzáférést, privát Python-csomagokat használnak, vagy olyan egyéni Docker-lemezképeket kell használnia, amelyek már tartalmazzák a csomagokat.
Figyelmeztetés
Ha a Azure Container Registry privát végpontot vagy szolgáltatásvégpontot használ a virtuális hálózattal való kommunikációhoz, nem használhat felügyelt identitást Azure Machine Learning számítási fürttel.
Azure Monitor
Figyelmeztetés
Az Azure Monitor támogatja a Azure Private Link használatát a virtuális hálózathoz való csatlakozáshoz. Az Azure Monitorban azonban a nyitott Private Link módot kell használnia. További információ: Private Link hozzáférési módok: Csak privát és Megnyitás.
Szükséges nyilvános internet-hozzáférés
Az Azure Machine Learningnek bejövő és kimenő hozzáférést kell biztosítani a nyilvános internethez. Az alábbi táblázatok áttekintést nyújtanak arról, hogy milyen hozzáférésre van szükség, és milyen célt szolgál. A végződésű .region
szolgáltatáscímkék esetében cserélje le a elemet region
a munkaterületet tartalmazó Azure-régióra. Például: Storage.westus
Tipp
A szükséges lap felsorolja a szükséges bejövő és kimenő konfigurációt. A Helyzet lap felsorolja azokat a nem kötelező bejövő és kimenő konfigurációkat, amelyeket engedélyezni szeretne bizonyos konfigurációkhoz.
Irány | Protokoll & ports |
Szolgáltatáscímke | Cél |
---|---|---|---|
Kimenő | TCP: 80, 443 | AzureActiveDirectory |
Hitelesítés Azure AD használatával. |
Kimenő | TCP: 443, 18881 UDP: 5831 |
AzureMachineLearning |
Az Azure Machine Learning-szolgáltatások használata. Az 18881-ös portot a Python intellisense-hez használják a jegyzetfüzetekben. Az 5831-ös port az Azure Machine Learning számítási példányának létrehozásához, frissítéséhez és törléséhez használható. |
Kimenő | BÁRMELY: 443 | BatchNodeManagement.region |
Kommunikáció Azure Batch háttérrendszerrel az Azure Machine Learning számítási példányaihoz/fürtjeihez. |
Kimenő | TCP: 443 | AzureResourceManager |
Azure-erőforrások létrehozása az Azure Machine Learning, az Azure CLI és az Azure Machine Learning SDK használatával. |
Kimenő | TCP: 443 | Storage.region |
Az Azure Storage-fiókban tárolt adatok elérése a számítási fürthöz és a számítási példányhoz. Ez a kimenő adatkiszivárgás használható. További információ: Adatkiszivárgás elleni védelem. |
Kimenő | TCP: 443 | AzureFrontDoor.FrontEnd * Nem szükséges az Azure China-ban. |
A Azure Machine Learning stúdió globális belépési pontja. Képek és környezetek tárolása az AutoML-hez. Ez a kimenő adatkiszivárgás használható. További információ: Adatkiszivárgás elleni védelem. |
Kimenő | TCP: 443 | MicrosoftContainerRegistry.region Vegye figyelembe , hogy ez a címke függőségben van a AzureFrontDoor.FirstParty címkével |
A Microsoft által biztosított Docker-rendszerképek elérése. Az Azure Machine Learning-útválasztó beállítása Azure Kubernetes Service. |
Tipp
Ha a szolgáltatáscímkék helyett az IP-címekre van szüksége, használja az alábbi lehetőségek egyikét:
- Töltsön le egy listát az Azure IP-címtartományokból és szolgáltatáscímkékből.
- Használja az Azure CLI az network list-service-tags parancsot.
- Használja az Azure PowerShell Get-AzNetworkServiceTag parancsot.
Az IP-címek időnként változhatnak.
Fontos
Ha olyan számítási fürtöt használ, amely nincs nyilvános IP-címre konfigurálva, engedélyeznie kell a következő forgalmat:
- Bejövő forgalom a VirtualNetwork forrásától és bármely portforrástól a VirtualNetwork célhelyére, valamint a 29876-os, 29877-ös célportig.
- Bejövő forgalom az AzureLoadBalancer forrásból és bármely portforrásból a VirtualNetwork célhelyre és a 44224-s port célhelyére.
Előfordulhat, hogy a gépi tanulási projekthez szükséges csomagok telepítéséhez engedélyeznie kell a Visual Studio Code-ba és a nem Microsoft-webhelyekre irányuló kimenő forgalmat is. Az alábbi táblázat a gépi tanuláshoz gyakran használt adattárakat sorolja fel:
Állomásnév | Cél |
---|---|
anaconda.com *.anaconda.com | Az alapértelmezett csomagok telepítéséhez használatos. |
*.anaconda.org | Az adattáradatok lekérésére szolgál. |
pypi.org | Az alapértelmezett index függőségeinek listázására szolgál, ha vannak ilyenek, és az indexet nem írja felül a felhasználói beállítások. Ha az index felül van írva, engedélyeznie kell a *.pythonhosted.org is. |
cloud.r-project.org | CRAN-csomagok R-fejlesztéshez való telepítésekor használatos. |
*pytorch.org | Néhány példa a PyTorch alapján használja. |
*.tensorflow.org | Egyes példák a Tensorflow alapján használják. |
code.visualstudio.com | A VS Code asztali verziójának letöltéséhez és telepítéséhez szükséges. Ez a VS Code Web esetében nem szükséges. |
update.code.visualstudio.com *.vo.msecnd.net | A számítási példányra telepített VS Code-kiszolgáló bitjeinek lekérésére szolgál beállítási szkripttel. |
marketplace.visualstudio.com vscode.blob.core.windows.net *.gallerycdn.vsassets.io | A VS Code-bővítmények letöltéséhez és telepítéséhez szükséges. Ezek lehetővé teszik a VS Code-hoz készült Azure ML-bővítmény által biztosított számítási példányokhoz való távoli kapcsolatot. További információ: Csatlakozás Azure Machine Learning számítási példányhoz a Visual Studio Code-ban . |
raw.githubusercontent.com/microsoft/vscode-tools-for-ai/master/azureml_remote_websocket_server/* | A számítási példányra telepített websocket-kiszolgáló bitjeinek lekérésére szolgál. A websocket-kiszolgáló a Visual Studio Code-ügyfél (asztali alkalmazás) kéréseinek a számítási példányon futó Visual Studio Code-kiszolgálóra való továbbítására szolgál. |
Ha Azure Kubernetes Service (AKS) szolgáltatást használja az Azure Machine Learning szolgáltatással, engedélyezze a következő forgalmat az AKS virtuális hálózatra:
- Az AKS-re vonatkozó általános bejövő/kimenő követelmények a kimenő forgalom korlátozása Azure Kubernetes Service cikkben leírtak szerint.
- Kimenő mcr.microsoft.com.
- Amikor modellt helyez üzembe egy AKS-fürtön, használja az ML-modellek üzembe helyezése Azure Kubernetes Service cikkben található útmutatást.
További információ a tűzfalmegoldás használatáról: A szükséges bemeneti és kimeneti kommunikáció konfigurálása.
A munkaterület védelme privát végponttal
Azure Private Link lehetővé teszi, hogy privát végponttal csatlakozzon a munkaterülethez. A privát végpont a virtuális hálózaton belüli magánhálózati 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 keresztül történjen. A privát végpontok csökkentik az adatkiszivárgás kockázatát.
A privát végpont munkaterülethez való konfigurálásával kapcsolatos további információkért lásd: Privát végpont konfigurálása.
Figyelmeztetés
A munkaterület privát végpontokkal való védelme önmagában nem biztosítja a végpontok közötti biztonságot. A megoldás egyes összetevőinek védelméhez a cikk további részében és a VNet sorozatban szereplő lépéseket kell követnie. Ha például privát végpontot használ a munkaterülethez, de az Azure Storage-fiók nincs a virtuális hálózat mögött, a munkaterület és a tároló közötti forgalom nem használja a virtuális hálózatot a biztonság érdekében.
Azure Storage-fiókok védelme
Az Azure Machine Learning olyan tárfiókokat támogat, amelyek privát végpont vagy szolgáltatásvégpont használatára vannak konfigurálva.
A Azure Portal válassza ki az Azure Storage-fiókot.
A Privát végpontok használata az Azure Storage-hoz című témakör információi alapján adjon hozzá privát végpontokat a következő tárolási erőforrásokhoz:
- Blob
- Fájl
- Üzenetsor – Csak akkor szükséges, ha Batch-végpontokat vagy ParallelRunStepet szeretne használni egy Azure Machine Learning-folyamatban.
- Tábla – Csak akkor szükséges, ha Batch-végpontokat vagy ParallelRunStep-et tervez használni egy Azure Machine Learning-folyamatban.
Tipp
Ha nem az alapértelmezett tárfiókot konfigurálja, válassza ki a hozzáadni kívánt tárfióknak megfelelő cél-alforrástípust .
Miután létrehozta a tárerőforrások privát végpontjait, válassza a Tűzfalak és virtuális hálózatok lapot a Tárfiók hálózatkezelése területén.
Válassza a Kijelölt hálózatok lehetőséget, majd az Erőforráspéldányok területen válassza
Microsoft.MachineLearningServices/Workspace
az Erőforrás típusa lehetőséget. Válassza ki a munkaterületet példánynévvel. További információ: Megbízható hozzáférés a rendszer által hozzárendelt felügyelt identitás alapján.Tipp
Másik lehetőségként választhatja az Azure-szolgáltatások engedélyezése lehetőséget a megbízható szolgáltatások listájában a tárfiók eléréséhez , hogy szélesebb körben engedélyezze a hozzáférést a megbízható szolgáltatásokból. További információ: Azure Storage-tűzfalak és virtuális hálózatok konfigurálása.
A konfiguráció mentéséhez válassza a Mentés lehetőséget.
Tipp
Privát végpont használata esetén a nyilvános hozzáférést is letilthatja. További információ: Nyilvános olvasási hozzáférés letiltása.
Az Azure Key Vault védelme
Az Azure Machine Learning egy társított Key Vault-példányt használ a következő hitelesítő adatok tárolásához:
- A társított tárfiók kapcsolati sztring
- Jelszavak az Azure Container Repository-példányokhoz
- Adattárolók kapcsolati sztringjei
Az Azure Key Vault úgy konfigurálható, hogy privát végpontot vagy szolgáltatásvégpontot használjon. Az Azure Machine Learning kísérletezési képességeinek virtuális hálózat mögötti Azure Key Vault használatával történő használatához kövesse az alábbi lépéseket:
Tipp
Függetlenül attól, hogy privát végpontot vagy szolgáltatásvégpontot használ, a kulcstartónak ugyanabban a hálózatban kell lennie, mint a munkaterület privát végpontja.
A privát végpont azure Key Vault való használatáról a Key Vault integrálása Azure Private Link című témakörben olvashat.
Azure Container Registry (ACR) engedélyezése
Tipp
Ha nem használt meglévő Azure Container Registry a munkaterület létrehozásakor, előfordulhat, hogy nem létezik. Alapértelmezés szerint a munkaterület csak akkor hoz létre ACR-példányt, ha szüksége van rá. Az egyik létrehozásának kényszerítéséhez a jelen szakasz lépéseinek végrehajtása előtt betanítást vagy üzembe helyezést kell végrehajtania a munkaterület használatával.
Azure Container Registry konfigurálható privát végpont használatára. A következő lépésekkel konfigurálhatja a munkaterületet az ACR használatára a virtuális hálózatban:
Keresse meg a munkaterülethez tartozó Azure Container Registry nevét az alábbi módszerek egyikével:
A KÖVETKEZŐKRE VONATKOZIK:
Azure CLI ml extension v2 (aktuális)
Ha telepítette a Machine Learning v2 bővítményt az Azure CLI-hez, a
az ml workspace show
paranccsal megjelenítheti a munkaterület adatait. A v1 bővítmény nem adja vissza ezeket az információkat.az ml workspace show -n yourworkspacename -g resourcegroupname --query 'container_registry'
Ez a parancs a függvényhez hasonló értéket ad
"/subscriptions/{GUID}/resourceGroups/{resourcegroupname}/providers/Microsoft.ContainerRegistry/registries/{ACRname}"
vissza. A sztring utolsó része a munkaterület Azure Container Registry neve.Korlátozza a virtuális hálózathoz való hozzáférést a Privát csatlakozás egy Azure Container Registry című szakaszban leírt lépésekkel. A virtuális hálózat hozzáadásakor válassza ki az Azure Machine Learning-erőforrások virtuális hálózatát és alhálózatát.
Konfigurálja a munkaterület ACR-ét a Megbízható szolgáltatások általi hozzáférés engedélyezése beállításra.
Azure Machine Learning számítási fürt létrehozása. Ez a fürt Docker-rendszerképek létrehozására szolgál, ha az ACR egy virtuális hálózat mögött van. További információ: Számítási fürt létrehozása.
Az alábbi módszerek egyikével konfigurálhatja a munkaterületet Docker-rendszerképek számítási fürt használatával történő létrehozásához.
Fontos
A következő korlátozások érvényesek, ha számítási fürtöt használ a rendszerkép-buildekhez:
- Csak egy cpu-termékváltozat támogatott.
- Ha nyilvános IP-cím nélkül konfigurált számítási fürtöt használ, meg kell adnia valamilyen módot a fürt számára a nyilvános internet eléréséhez. Internet-hozzáférésre van szükség a Microsoft Container Registryben tárolt képek, a Pypi-on, a Condán stb. telepített csomagok eléréséhez. Konfigurálnia kell a felhasználó által definiált útválasztást (UDR), hogy elérhesse a nyilvános IP-címet az internet eléréséhez. Használhatja például a tűzfal nyilvános IP-címét, vagy használhatja Virtual Network NAT-ot nyilvános IP-címmel. További információ: Biztonságos betanítása virtuális hálózaton.
az ml workspace update
A paranccsal buildszámítást állíthat be. A parancs ugyanaz a gépi tanuláshoz készült v1 és v2 Azure CLI-bővítmények esetében is. A következő parancsban cserélje le a elemetmyworkspace
a munkaterület nevére,myresourcegroup
a munkaterületet tartalmazó erőforráscsoportra ésmycomputecluster
a számítási fürt nevére:az ml workspace update --name myworkspace --resource-group myresourcegroup --image-build-compute mycomputecluster
Tipp
Ha az ACR egy virtuális hálózat mögött található, letilthatja a nyilvános hozzáférést is.
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 – A helyszíni hálózatokat privát kapcsolaton keresztül csatlakoztatja a virtuális hálózathoz. A kapcsolat a nyilvános interneten keresztül történik. Kétféle VPN-átjárót használhat:
- Pont–hely: Minden ügyfélszámítógép VPN-ügyfelet használ a virtuális hálózathoz való csatlakozáshoz.
- Helyek közötti: Egy VPN-eszköz csatlakoztatja a virtuális hálózatot a helyszíni hálózathoz.
ExpressRoute – A helyszíni hálózatokat privát kapcsolaton keresztül csatlakoztatja a felhőhöz. A kapcsolat egy kapcsolatszolgáltató használatával jön létre.
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, hogy a helyi webböngészőből RDP- vagy SSH-munkamenet használatával csatlakozzon a virtuális géphez. Ezután 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. Egy példa a jump box használatára: Oktatóanyag: Biztonságos munkaterület létrehozása.
Fontos
VPN-átjáró vagy ExpressRoute használatakor meg kell terveznie, hogyan működik a névfeloldás 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ákat tapasztal a munkaterülethez való csatlakozás során, tekintse meg a biztonságos munkaterület-kapcsolat hibaelhárítását ismertető cikket.
Munkaterület-diagnosztika
Diagnosztikát futtathat a munkaterületen a Azure Machine Learning stúdió vagy a Python SDK-ból. A diagnosztika futtatása után a rendszer visszaadja az észlelt problémák listáját. Ez a lista a lehetséges megoldásokra mutató hivatkozásokat tartalmaz. További információ: A munkaterület diagnosztikájának használata.
Következő lépések
Ez a cikk egy Azure Machine Learning-munkafolyamat biztonságossá tételéről szóló sorozat része. Tekintse meg a sorozat további cikkeit:
- A virtuális hálózat áttekintése
- A betanítási környezet védelme
- A következtetési környezet védelme
- Studio-funkciók engedélyezése
- Egyéni DNS használata
- Tűzfal használata
- Oktatóanyag: Biztonságos munkaterület létrehozása
- Oktatóanyag: Biztonságos munkaterület létrehozása sablon használatával
- API-platform hálózatelkülönítés