Przepływ ruchu sieciowego podczas korzystania z zabezpieczonego obszaru roboczego
Po wprowadzeniu obszaru roboczego usługi Azure Machine Learning i skojarzonych zasobów w sieci wirtualnej platformy Azure zmienia ruch sieciowy między zasobami. Bez sieci wirtualnej ruch sieciowy przepływa przez publiczny Internet lub w centrum danych platformy Azure. Po wprowadzeniu sieci wirtualnej warto również wzmocnić zabezpieczenia sieci. Możesz na przykład zablokować komunikację przychodzącą i wychodzącą między siecią wirtualną a publicznym Internetem. Jednak usługa Azure Machine Learning wymaga dostępu do niektórych zasobów w publicznym Internecie. Na przykład używa usługi Azure Resource Manager na potrzeby wdrożeń i operacji zarządzania.
W tym artykule wymieniono wymagany ruch do i z publicznego Internetu. Wyjaśniono również, w jaki sposób przepływ ruchu sieciowego między środowiskiem deweloperskim klienta i zabezpieczonym obszarem roboczym usługi Azure Machine Learning w następujących scenariuszach:
Korzystanie z usługi Azure Machine Learning Studio do pracy z:
- Obszar roboczy
- AutoML
- Projektant
- Zestawy danych i magazyny danych
Azure Machine Learning Studio to internetowy interfejs użytkownika, który działa częściowo w przeglądarce internetowej. Wykonuje ona wywołania usług platformy Azure w celu wykonywania zadań, takich jak trenowanie modelu, używanie projektanta lub wyświetlanie zestawów danych. Niektóre z tych wywołań używają innego przepływu komunikacji niż w przypadku korzystania z zestawu AZURE Machine Learning SDK, interfejsu wiersza polecenia platformy Azure, interfejsu API REST lub programu Visual Studio Code.
Korzystanie z usługi Azure Machine Learning Studio, zestawu SDK usługi Azure Machine Learning, interfejsu wiersza polecenia platformy Azure lub interfejsu API REST do pracy z:
- Wystąpienia obliczeniowe i klastry
- Azure Kubernetes Service (AKS)
- Obrazy platformy Docker zarządzane przez usługę Azure Machine Learning
Jeśli scenariusz lub zadanie nie jest tutaj wymienione, powinno działać tak samo z zabezpieczonym obszarem roboczym lub bez niego.
Założenia
W tym artykule założono następującą konfigurację:
- Obszar roboczy usługi Azure Machine Learning używa prywatnego punktu końcowego do komunikowania się z siecią wirtualną.
- Konto usługi Azure Storage, magazyn kluczy i rejestr kontenerów, którego obszar roboczy używa również prywatnego punktu końcowego do komunikowania się z siecią wirtualną.
- Stacje robocze klienta używają bramy sieci VPN lub usługi Azure ExpressRoute do uzyskiwania dostępu do sieci wirtualnej.
Wymagania dotyczące ruchu przychodzącego i wychodzącego
Scenariusz | Wymagany ruch przychodzący | Wymagany ruch wychodzący | Dodatkowa konfiguracja |
---|---|---|---|
Uzyskiwanie dostępu do obszaru roboczego z poziomu programu Studio | Nie dotyczy |
|
Może być konieczne użycie niestandardowego serwera DNS. Aby uzyskać więcej informacji, zobacz Use your workspace with a custom DNS server (Używanie obszaru roboczego z niestandardowym serwerem DNS). |
Używanie rozwiązania AutoML, projektanta, zestawu danych i magazynu danych z programu Studio | Nie dotyczy | Nie dotyczy |
|
Używanie wystąpienia obliczeniowego i klastra obliczeniowego |
|
|
Jeśli używasz zapory, utwórz trasy zdefiniowane przez użytkownika. Aby uzyskać więcej informacji, zobacz Konfigurowanie ruchu przychodzącego i wychodzącego ruchu sieciowego. |
Korzystanie z usługi Azure Kubernetes Service | Nie dotyczy | Aby uzyskać informacje na temat konfiguracji ruchu wychodzącego dla usługi AKS, zobacz Secure Azure Kubernetes Service inferencing environment (Zabezpieczanie środowiska wnioskowania usługi Azure Kubernetes Service). | |
Korzystanie z obrazów platformy Docker zarządzanych przez usługę Azure Machine Learning | Nie dotyczy | Rejestr Artefaktów Microsoft | Jeśli rejestr kontenerów dla obszaru roboczego znajduje się za siecią wirtualną, skonfiguruj obszar roboczy tak, aby używał klastra obliczeniowego do kompilowania obrazów. Aby uzyskać więcej informacji, zobacz Zabezpieczanie obszaru roboczego usługi Azure Machine Learning za pomocą sieci wirtualnych. |
Cele kont magazynu
Usługa Azure Machine Learning używa wielu kont magazynu. Każdy przechowuje różne dane i ma inny cel:
Magazyn: konta magazynu w ramach subskrypcji platformy Azure przechowują dane i artefakty, takie jak modele, dane szkoleniowe, dzienniki trenowania i skrypty języka Python. Na przykład domyślne konto magazynu dla obszaru roboczego znajduje się w subskrypcji. Wystąpienie obliczeniowe usługi Azure Machine Learning i dane klastra obliczeniowego uzyskują dostęp do plików i obiektów blob w tym magazynie za pośrednictwem portów 445 (SMB) i 443 (HTTPS).
W przypadku korzystania z wystąpienia obliczeniowego lub klastra obliczeniowego konto magazynu jest instalowane jako udział plików za pośrednictwem protokołu SMB. Wystąpienie obliczeniowe i klaster używają tego udziału plików do przechowywania elementów, takich jak dane, modele, notesy Jupyter i zestawy danych. Wystąpienie obliczeniowe i klaster używają prywatnego punktu końcowego podczas uzyskiwania dostępu do konta magazynu.
Magazyn firmy Microsoft: wystąpienie obliczeniowe i klaster obliczeniowy usługi Azure Machine Learning korzystają z usługi Azure Batch. Uzyskują dostęp do magazynu znajdującego się w subskrypcji firmy Microsoft. Ten magazyn jest używany tylko do zarządzania wystąpieniem obliczeniowym lub klastrem. Żadne z Twoich danych nie jest tutaj przechowywane. Wystąpienie obliczeniowe i klaster obliczeniowy uzyskują dostęp do danych obiektów blob, tabel i kolejek w tym magazynie przy użyciu portu 443 (HTTPS).
Usługa Machine Learning przechowuje również metadane w wystąpieniu usługi Azure Cosmos DB. Domyślnie to wystąpienie jest hostowane w ramach subskrypcji firmy Microsoft i zarządza nim firma Microsoft. Opcjonalnie możesz użyć wystąpienia usługi Azure Cosmos DB w ramach subskrypcji platformy Azure. Aby uzyskać więcej informacji, zobacz Szyfrowanie danych za pomocą usługi Azure Machine Learning.
Scenariusz: uzyskiwanie dostępu do obszaru roboczego z poziomu programu Studio
Uwaga
Informacje w tej sekcji dotyczą korzystania z obszaru roboczego z usługi Azure Machine Learning Studio. Jeśli używasz zestawu AZURE Machine Learning SDK, interfejsu API REST, interfejsu wiersza polecenia platformy Azure lub programu Visual Studio Code, informacje przedstawione w tej sekcji nie dotyczą Ciebie.
Gdy uzyskujesz dostęp do obszaru roboczego z poziomu programu Studio, przepływy ruchu sieciowego są następujące:
- Aby uwierzytelnić się w zasobach, konfiguracja używa identyfikatora Entra firmy Microsoft.
- W przypadku operacji zarządzania i wdrażania konfiguracja używa usługi Azure Resource Manager.
- W przypadku zadań specyficznych dla usługi Azure Machine Learning konfiguracja korzysta z usługi Azure Machine Learning.
- Aby uzyskać dostęp do usługi Azure Machine Learning Studio, konfiguracja korzysta z usługi Azure Front Door.
- W przypadku większości operacji magazynowania ruch przepływa przez prywatny punkt końcowy domyślnego magazynu dla obszaru roboczego. W sekcji Używanie automatycznego uczenia maszynowego, projektanta, zestawu danych i magazynu danych z sekcji studio tego artykułu omówiono wyjątki.
- Należy również skonfigurować rozwiązanie DNS, które umożliwia rozpoznawanie nazw zasobów w sieci wirtualnej. Aby uzyskać więcej informacji, zobacz Use your workspace with a custom DNS server (Używanie obszaru roboczego z niestandardowym serwerem DNS).
Scenariusz: użyj rozwiązania AutoML, projektanta, zestawu danych i magazynu danych z poziomu studia
Następujące funkcje usługi Azure Machine Learning Studio korzystają z profilowania danych:
- Zestaw danych: eksplorowanie zestawu danych z poziomu programu Studio.
- Projektant: wizualizowanie danych wyjściowych modułu.
- AutoML: wyświetl podgląd danych lub profil i wybierz kolumnę docelową.
- Etykietowanie: użyj etykiet, aby przygotować dane do projektu uczenia maszynowego.
Profilowanie danych zależy od możliwości dostępu do domyślnego konta usługi Azure Storage dla obszaru roboczego przez usługę Azure Machine Learning. Usługa zarządzana nie istnieje w sieci wirtualnej, więc nie może bezpośrednio uzyskać dostępu do konta magazynu w sieci wirtualnej. Zamiast tego obszar roboczy używa jednostki usługi do uzyskiwania dostępu do magazynu.
Napiwek
Jednostkę usługi można podać podczas tworzenia obszaru roboczego. Jeśli tego nie zrobisz, zostanie on utworzony dla Ciebie i ma taką samą nazwę jak obszar roboczy.
Aby zezwolić na dostęp do konta magazynu, skonfiguruj konto magazynu, aby zezwolić na wystąpienie zasobu dla obszaru roboczego lub wybierz pozycję Zezwalaj usługom platformy Azure na liście zaufanych usług na dostęp do tego konta magazynu. To ustawienie umożliwia usłudze zarządzanej dostęp do magazynu za pośrednictwem sieci centrum danych platformy Azure.
Następnie dodaj jednostkę usługi dla obszaru roboczego do roli Czytelnik do prywatnego punktu końcowego konta magazynu. Platforma Azure używa tej roli do weryfikowania informacji o obszarze roboczym i podsieci magazynu. Jeśli są one takie same, platforma Azure zezwala na dostęp. Na koniec jednostka usługi wymaga również dostępu współautora danych obiektu blob do konta magazynu.
Aby uzyskać więcej informacji, zobacz sekcję "Zabezpieczanie kont magazynu platformy Azure" w obszarze roboczym Zabezpieczanie usługi Azure Machine Learning za pomocą sieci wirtualnych.
Scenariusz: używanie wystąpienia obliczeniowego i klastra obliczeniowego
Wystąpienie obliczeniowe i klaster obliczeniowy usługi Azure Machine Learning to usługi zarządzane hostowane przez firmę Microsoft. Są one oparte na usłudze Azure Batch. Mimo że istnieją one w środowisku zarządzanym przez firmę Microsoft, są one również wstrzykiwane do sieci wirtualnej.
Podczas tworzenia wystąpienia obliczeniowego lub klastra obliczeniowego w sieci wirtualnej są również tworzone następujące zasoby:
Sieciowa grupa zabezpieczeń z wymaganymi regułami ruchu wychodzącego. Te reguły zezwalają na dostęp przychodzący z usługi Azure Machine Learning (TCP na porcie 44224) i azure Batch (TCP na portach 29876-29877).
Ważne
Jeśli używasz zapory do blokowania dostępu do Internetu w sieci wirtualnej, musisz skonfigurować zaporę, aby zezwolić na ten ruch. Na przykład za pomocą usługi Azure Firewall można tworzyć trasy zdefiniowane przez użytkownika. Aby uzyskać więcej informacji, zobacz Konfigurowanie ruchu przychodzącego i wychodzącego ruchu sieciowego.
Moduł równoważenia obciążenia z publicznym adresem IP.
Zezwalaj również na dostęp wychodzący do następujących tagów usługi. Dla każdego tagu zastąp element region
regionem świadczenia usługi Azure wystąpienia obliczeniowego lub klastra:
Storage.region
: ten dostęp wychodzący służy do nawiązywania połączenia z kontem usługi Azure Storage w zarządzanej sieci wirtualnej usługi Azure Batch.Keyvault.region
: ten dostęp wychodzący służy do nawiązywania połączenia z kontem usługi Azure Key Vault w zarządzanej sieci wirtualnej usługi Azure Batch.
Dostęp do danych z wystąpienia obliczeniowego lub klastra przechodzi przez prywatny punkt końcowy konta magazynu dla sieci wirtualnej.
Jeśli używasz programu Visual Studio Code w wystąpieniu obliczeniowym, musisz zezwolić na inny ruch wychodzący. Aby uzyskać więcej informacji, zobacz Konfigurowanie ruchu przychodzącego i wychodzącego ruchu sieciowego.
Scenariusz: Używanie punktów końcowych online
Zabezpieczenia dla komunikacji przychodzącej i wychodzącej można skonfigurować oddzielnie dla zarządzanych punktów końcowych online.
Komunikacja przychodząca
Możesz pomóc zabezpieczyć komunikację przychodzącą z adresem URL oceniania punktu końcowego online przy użyciu public_network_access
flagi w punkcie końcowym. Ustawienie flagi w celu disabled
zapewnienia, że punkt końcowy online odbiera ruch tylko z sieci wirtualnej klienta za pośrednictwem prywatnego punktu końcowego obszaru roboczego usługi Azure Machine Learning.
Flaga public_network_access
obszaru roboczego usługi Azure Machine Learning kontroluje również widoczność punktu końcowego online. Jeśli ta flaga to disabled
, można uzyskać dostęp do punktów końcowych oceniania tylko z sieci wirtualnych, które zawierają prywatny punkt końcowy dla obszaru roboczego. Jeśli ta flaga to enabled
, można uzyskać dostęp do punktu końcowego oceniania z sieci wirtualnej i sieci publicznych.
Komunikacja wychodząca
Możesz pomóc zabezpieczyć komunikację wychodzącą z wdrożenia na poziomie obszaru roboczego przy użyciu izolacji zarządzanej sieci wirtualnej dla obszaru roboczego usługi Azure Machine Learning. Użycie tego ustawienia powoduje utworzenie zarządzanej sieci wirtualnej dla obszaru roboczego przez usługę Azure Machine Learning. Wszystkie wdrożenia w zarządzanej sieci wirtualnej obszaru roboczego mogą używać prywatnych punktów końcowych sieci wirtualnej do komunikacji wychodzącej.
Starsza metoda izolacji sieci na potrzeby zabezpieczania komunikacji wychodzącej działała przez wyłączenie flagi egress_public_network_access
wdrożenia. Zdecydowanie zalecamy zabezpieczenie komunikacji wychodzącej dla wdrożeń przy użyciu zarządzanej sieci wirtualnej obszaru roboczego. W przeciwieństwie do starszego podejścia flaga egress_public_network_access
wdrożenia nie ma już zastosowania w przypadku korzystania z sieci wirtualnej zarządzanej przez obszar roboczy z wdrożeniem. Zamiast tego reguły ustawione dla zarządzanej sieci wirtualnej obszaru roboczego kontrolują komunikację wychodzącą.
Scenariusz: Korzystanie z usługi Azure Kubernetes Service
Aby uzyskać informacje na temat wymaganej konfiguracji ruchu wychodzącego dla usługi Azure Kubernetes Service, zobacz Zabezpieczanie środowiska wnioskowania usługi Azure Machine Learning za pomocą sieci wirtualnych.
Uwaga
Moduł równoważenia obciążenia usługi Azure Kubernetes Service nie jest taki sam jak moduł równoważenia obciążenia tworzony przez usługę Azure Machine Learning. Jeśli chcesz hostować model jako zabezpieczoną aplikację dostępną tylko w sieci wirtualnej, użyj wewnętrznego modułu równoważenia obciążenia tworzonego przez usługę Azure Machine Learning. Jeśli chcesz zezwolić na dostęp publiczny, użyj publicznego modułu równoważenia obciążenia utworzonego przez usługę Azure Machine Learning.
Jeśli model wymaga dodatkowej łączności przychodzącej lub wychodzącej, takiej jak zewnętrzne źródło danych, użyj sieciowej grupy zabezpieczeń lub zapory, aby zezwolić na ruch.
Scenariusz: używanie obrazów platformy Docker zarządzanych przez usługę Azure Machine Learning
Usługa Azure Machine Learning udostępnia obrazy platformy Docker, których można użyć do trenowania modeli lub wnioskowania. Te obrazy są hostowane w Rejestr Artefaktów Microsoft.
Jeśli podasz własne obrazy platformy Docker, takie jak w określonym rejestrze kontenerów, nie potrzebujesz komunikacji wychodzącej z usługą Artifact Registry.
Napiwek
Jeśli rejestr kontenerów jest zabezpieczony w sieci wirtualnej, usługa Azure Machine Learning nie może jej używać do tworzenia obrazów platformy Docker. Zamiast tego należy wyznaczyć klaster obliczeniowy usługi Azure Machine Learning, aby tworzyć obrazy. Aby uzyskać więcej informacji, zobacz Zabezpieczanie obszaru roboczego usługi Azure Machine Learning za pomocą sieci wirtualnych.
Następne kroki
Teraz, gdy wiesz już, jak przepływa ruch sieciowy w zabezpieczonej konfiguracji, dowiedz się więcej na temat zabezpieczania usługi Azure Machine Learning w sieci wirtualnej, czytając artykuł z omówieniem dotyczący izolacji sieci wirtualnej i prywatności.
Aby uzyskać informacje na temat najlepszych rozwiązań, zobacz artykuł Azure Machine Learning best practices for enterprise security (Najlepsze rozwiązania dotyczące zabezpieczeń przedsiębiorstwa w usłudze Azure Machine Learning).