Konfigurowanie prywatnego punktu końcowego dla obszaru roboczego usługi Azure Machine Learning przy użyciu zestawu SDK i interfejsu wiersza polecenia w wersji 1
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 1zestawu SDK języka Python azureml v1
Z tego dokumentu dowiesz się, jak skonfigurować prywatny punkt końcowy dla obszaru roboczego usługi Azure Machine Learning. Aby uzyskać informacje na temat tworzenia sieci wirtualnej dla usługi Azure Machine Learning, zobacz Omówienie izolacji sieci wirtualnej i prywatności.
Usługa Azure Private Link umożliwia łączenie się z obszarem roboczym przy użyciu prywatnego punktu końcowego. Prywatny punkt końcowy jest zestawem prywatnych adresów IP w sieci wirtualnej. Następnie możesz ograniczyć dostęp do obszaru roboczego tylko w przypadku prywatnych adresów IP. Prywatny punkt końcowy pomaga zmniejszyć ryzyko eksfiltracji danych. Aby dowiedzieć się więcej na temat prywatnych punktów końcowych, zobacz artykuł Dotyczący usługi Azure Private Link .
Ostrzeżenie
Zabezpieczanie obszaru roboczego przy użyciu prywatnych punktów końcowych nie zapewnia samodzielnie kompleksowego zabezpieczeń. Należy zabezpieczyć wszystkie poszczególne składniki rozwiązania. Jeśli na przykład używasz prywatnego punktu końcowego dla obszaru roboczego, ale twoje konto usługi Azure Storage nie znajduje się za siecią wirtualną, ruch między obszarem roboczym a magazynem nie używa sieci wirtualnej do zabezpieczeń.
Aby uzyskać więcej informacji na temat zabezpieczania zasobów używanych przez usługę Azure Machine Learning, zobacz następujące artykuły:
- Omówienie izolacji i prywatności sieci wirtualnej.
- Zabezpieczanie zasobów obszaru roboczego.
- Bezpieczne środowiska szkoleniowe (wersja 1).
- Bezpieczne środowisko wnioskowania (wersja 1)
- Użyj usługi Azure Machine Learning Studio w sieci wirtualnej.
- Izolacja sieci platformy interfejsu API.
Wymagania wstępne
- Aby utworzyć prywatny punkt końcowy, musisz mieć istniejącą sieć wirtualną.
- Wyłącz zasady sieci dla prywatnych punktów końcowych przed dodaniem prywatnego punktu końcowego.
Ograniczenia
Jeśli włączysz dostęp publiczny dla obszaru roboczego zabezpieczonego prywatnym punktem końcowym i użyjesz usługi Azure Machine Learning Studio za pośrednictwem publicznego Internetu, niektóre funkcje, takie jak projektant, mogą nie uzyskać dostępu do danych. Ten problem występuje, gdy dane są przechowywane w usłudze znajdującej się za siecią wirtualną. Przykład: konto usługi Microsoft Azure Storage.
Jeśli używasz przeglądarki Mozilla Firefox, możesz napotkać problemy podczas próby uzyskania dostępu do prywatnego punktu końcowego dla obszaru roboczego. Ten problem może być związany z systemem DNS za pośrednictwem protokołu HTTPS w Mozilla Firefox. Zalecamy używanie przeglądarki Microsoft Edge lub Google Chrome jako obejścia problemu.
Korzystanie z prywatnego punktu końcowego nie ma wpływu na płaszczyznę sterowania platformy Azure (operacje zarządzania), takie jak usuwanie obszaru roboczego lub zarządzanie zasobami obliczeniowymi. Na przykład tworzenie, aktualizowanie lub usuwanie docelowego obiektu obliczeniowego. Te operacje są wykonywane za pośrednictwem publicznego Internetu w normalny sposób. Operacje płaszczyzny danych, takie jak korzystanie z usługi Azure Machine Learning Studio, interfejsów API (w tym opublikowanych potoków) lub zestawu SDK używają prywatnego punktu końcowego.
Podczas tworzenia wystąpienia obliczeniowego lub klastra obliczeniowego w obszarze roboczym z prywatnym punktem końcowym wystąpienie obliczeniowe i klaster obliczeniowy muszą znajdować się w tym samym regionie świadczenia platformy Azure co obszar roboczy.
Podczas tworzenia lub dołączania klastra usługi Azure Kubernetes Service do obszaru roboczego z prywatnym punktem końcowym klaster musi znajdować się w tym samym regionie co obszar roboczy.
W przypadku korzystania z obszaru roboczego z wieloma prywatnymi punktami końcowymi jeden z prywatnych punktów końcowych musi znajdować się w tej samej sieci wirtualnej co następujące usługi zależności:
- Konto usługi Azure Storage, które udostępnia domyślny magazyn dla obszaru roboczego
- Usługa Azure Key Vault dla obszaru roboczego
- Usługa Azure Container Registry dla obszaru roboczego.
Na przykład jedna sieć wirtualna ("usługi") będzie zawierać prywatny punkt końcowy dla usług zależności i obszaru roboczego. Ta konfiguracja umożliwia obszarowi roboczemu komunikowanie się z usługami. Inna sieć wirtualna ("klienci") może zawierać tylko prywatny punkt końcowy dla obszaru roboczego i być używana tylko do komunikacji między maszynami deweloperzymi klienta a obszarem roboczym.
Tworzenie obszaru roboczego korzystającego z prywatnego punktu końcowego
Użyj jednej z poniższych metod, aby utworzyć obszar roboczy z prywatnym punktem końcowym. Każda z tych metod wymaga istniejącej sieci wirtualnej:
Napiwek
Jeśli chcesz jednocześnie utworzyć obszar roboczy, prywatny punkt końcowy i sieć wirtualną, zobacz Tworzenie obszaru roboczego dla usługi Azure Machine Learning przy użyciu szablonu usługi Azure Resource Manager.
Zestaw SDK języka Python usługi Azure Machine Learning udostępnia klasę PrivateEndpointConfig , której można użyć z elementem Workspace.create() do utworzenia obszaru roboczego z prywatnym punktem końcowym. Ta klasa wymaga istniejącej sieci wirtualnej.
DOTYCZY: Zestaw SDK języka Python w wersji 1
from azureml.core import Workspace
from azureml.core import PrivateEndPointConfig
pe = PrivateEndPointConfig(name='myprivateendpoint', vnet_name='myvnet', vnet_subnet_name='default')
ws = Workspace.create(name='myworkspace',
subscription_id='<my-subscription-id>',
resource_group='myresourcegroup',
location='eastus2',
private_endpoint_config=pe,
private_endpoint_auto_approval=True,
show_output=True)
Dodawanie prywatnego punktu końcowego do obszaru roboczego
Użyj jednej z następujących metod, aby dodać prywatny punkt końcowy do istniejącego obszaru roboczego:
Ostrzeżenie
Jeśli masz jakiekolwiek obiekty docelowe obliczeniowe skojarzone z tym obszarem roboczym i nie znajdują się one za tą samą siecią wirtualną, w której jest tworzony prywatny punkt końcowy, nie będą działać.
DOTYCZY: Zestaw SDK języka Python w wersji 1
from azureml.core import Workspace
from azureml.core import PrivateEndPointConfig
pe = PrivateEndPointConfig(name='myprivateendpoint', vnet_name='myvnet', vnet_subnet_name='default')
ws = Workspace.from_config()
ws.add_private_endpoint(private_endpoint_config=pe, private_endpoint_auto_approval=True, show_output=True)
Aby uzyskać więcej informacji na temat klas i metod używanych w tym przykładzie, zobacz PrivateEndpointConfig i Workspace.add_private_endpoint.
Usuwanie prywatnego punktu końcowego
Możesz usunąć jeden lub wszystkie prywatne punkty końcowe dla obszaru roboczego. Usunięcie prywatnego punktu końcowego usuwa obszar roboczy z sieci wirtualnej, z którą skojarzono punkt końcowy. Usunięcie prywatnego punktu końcowego może uniemożliwić obszarowi roboczemu dostęp do zasobów w tej sieci wirtualnej lub zasoby w sieci wirtualnej z dostępem do obszaru roboczego. Jeśli na przykład sieć wirtualna nie zezwala na dostęp do publicznego Internetu lub z internetu.
Ostrzeżenie
Usunięcie prywatnych punktów końcowych dla obszaru roboczego nie spowoduje publicznego udostępnienia. Aby obszar roboczy był publicznie dostępny, wykonaj kroki opisane w sekcji Włączanie dostępu publicznego.
Aby usunąć prywatny punkt końcowy, skorzystaj z następujących informacji:
Aby usunąć prywatny punkt końcowy, użyj Workspace.delete_private_endpoint_connection. W poniższym przykładzie pokazano, jak usunąć prywatny punkt końcowy:
DOTYCZY: Zestaw SDK języka Python w wersji 1
from azureml.core import Workspace
ws = Workspace.from_config()
# get the connection name
_, _, connection_name = ws.get_details()['privateEndpointConnections'][0]['id'].rpartition('/')
ws.delete_private_endpoint_connection(private_endpoint_connection_name=connection_name)
Włączanie dostępu publicznego
W niektórych sytuacjach możesz zezwolić komuś na łączenie się z zabezpieczonym obszarem roboczym za pośrednictwem publicznego punktu końcowego zamiast za pośrednictwem sieci wirtualnej. Możesz też usunąć obszar roboczy z sieci wirtualnej i ponownie włączyć dostęp publiczny.
Ważne
Włączenie dostępu publicznego nie powoduje usunięcia żadnych prywatnych punktów końcowych, które istnieją. Cała komunikacja między składnikami sieci wirtualnej, z którymi łączą się prywatne punkty końcowe, są nadal zabezpieczone. Umożliwia ona dostęp publiczny tylko do obszaru roboczego, oprócz dostępu prywatnego za pośrednictwem jakichkolwiek prywatnych punktów końcowych.
Ostrzeżenie
Podczas nawiązywania połączenia za pośrednictwem publicznego punktu końcowego obszar roboczy używa prywatnego punktu końcowego do komunikowania się z innymi zasobami:
- Niektóre funkcje programu Studio nie będą mieć dostępu do danych. Ten problem występuje, gdy dane są przechowywane w usłudze zabezpieczonej za siecią wirtualną. Przykład: konto usługi Microsoft Azure Storage.
- Korzystanie z aplikacji Jupyter, JupyterLab, RStudio lub Posit Workbench (dawniej RStudio Workbench) w wystąpieniu obliczeniowym, w tym uruchamiania notesów, nie jest obsługiwane.
Aby włączyć dostęp publiczny, wykonaj następujące kroki:
Napiwek
Istnieją dwie możliwe właściwości, które można skonfigurować:
allow_public_access_when_behind_vnet
— używane przez zestaw SDK języka Python i interfejs wiersza polecenia w wersji 2public_network_access
— używane przez zestaw SDK języka Python i interfejs wiersza polecenia w wersji 2 Każda właściwość zastępuje drugą. Na przykład ustawieniepublic_network_access
spowoduje zastąpienie dowolnego poprzedniego ustawienia wartościąallow_public_access_when_behind_vnet
.
Firma Microsoft zaleca używanie public_network_access
polecenia w celu włączenia lub wyłączenia publicznego dostępu do obszaru roboczego.
Aby włączyć dostęp publiczny, użyj opcji Workspace.update i ustaw wartość allow_public_access_when_behind_vnet=True
.
DOTYCZY: Zestaw SDK języka Python w wersji 1
from azureml.core import Workspace
ws = Workspace.from_config()
ws.update(allow_public_access_when_behind_vnet=True)
Bezpieczne nawiązywanie połączenia z obszarem roboczym
Aby nawiązać połączenie z obszarem roboczym zabezpieczonym za siecią wirtualną, użyj jednej z następujących metod:
Brama sieci VPN platformy Azure — łączy sieci lokalne z siecią wirtualną za pośrednictwem połączenia prywatnego. Połączenie odbywa się za pośrednictwem publicznego Internetu. Istnieją dwa typy bram sieci VPN, których można użyć:
- Punkt-lokacja: każdy komputer kliencki używa klienta sieci VPN do nawiązywania połączenia z siecią wirtualną.
- Lokacja-lokacja: urządzenie sieci VPN łączy sieć wirtualną z siecią lokalną.
ExpressRoute — łączy sieci lokalne z chmurą za pośrednictwem połączenia prywatnego. Połączenie jest wykonywane przy użyciu dostawcy łączności.
Azure Bastion — w tym scenariuszu tworzysz maszynę wirtualną platformy Azure (czasami nazywaną serwerem przesiadkowym) w sieci wirtualnej. Następnie połączysz się z maszyną wirtualną przy użyciu usługi Azure Bastion. Usługa Bastion umożliwia nawiązywanie połączenia z maszyną wirtualną przy użyciu sesji protokołu RDP lub SSH z lokalnej przeglądarki internetowej. Następnie użyjesz pola przesiadkowego jako środowiska programistycznego. Ponieważ znajduje się ona wewnątrz sieci wirtualnej, może ona uzyskiwać bezpośredni dostęp do obszaru roboczego. Aby zapoznać się z przykładem użycia serwera przesiadkowego, zobacz Samouczek: tworzenie bezpiecznego obszaru roboczego.
Ważne
W przypadku korzystania z bramy sieci VPN lub usługi ExpressRoute należy zaplanować sposób działania rozpoznawania nazw między zasobami lokalnymi a tymi w sieci wirtualnej. Aby uzyskać więcej informacji, zobacz Używanie niestandardowego serwera DNS.
Jeśli masz problemy z nawiązywaniem połączenia z obszarem roboczym, zobacz Rozwiązywanie problemów z bezpieczną łącznością z obszarem roboczym.
Wiele prywatnych punktów końcowych
Usługa Azure Machine Learning obsługuje wiele prywatnych punktów końcowych dla obszaru roboczego. Wiele prywatnych punktów końcowych jest często używanych, gdy chcesz zachować oddzielne środowiska. Poniżej przedstawiono niektóre scenariusze, które są włączone przy użyciu wielu prywatnych punktów końcowych:
Środowiska programistyczne klienta w oddzielnej sieci wirtualnej.
Klaster usługi Azure Kubernetes Service (AKS) w oddzielnej sieci wirtualnej.
Inne usługi platformy Azure w oddzielnej sieci wirtualnej. Na przykład usługi Azure Synapse i Azure Data Factory mogą używać sieci wirtualnej zarządzanej przez firmę Microsoft. W obu przypadkach prywatny punkt końcowy obszaru roboczego można dodać do zarządzanej sieci wirtualnej używanej przez te usługi. Aby uzyskać więcej informacji na temat korzystania z zarządzanej sieci wirtualnej z tymi usługami, zobacz następujące artykuły:
- Zarządzane prywatne punkty końcowe usługi Synapse.
- Zarządzana sieć wirtualna usługi Azure Data Factory.
Ważne
Ochrona eksfiltracji danych usługi Synapse nie jest obsługiwana w usłudze Azure Machine Learning.
Ważne
Każda sieć wirtualna zawierająca prywatny punkt końcowy dla obszaru roboczego musi również mieć dostęp do konta usługi Azure Storage, usługi Azure Key Vault i usługi Azure Container Registry używanego przez obszar roboczy. Można na przykład utworzyć prywatny punkt końcowy dla usług w każdej sieci wirtualnej.
Dodanie wielu prywatnych punktów końcowych używa tych samych kroków, co opisano w sekcji Dodawanie prywatnego punktu końcowego do obszaru roboczego .
Scenariusz: izolowani klienci
Jeśli chcesz odizolować klientów programistycznych, aby nie mieli bezpośredniego dostępu do zasobów obliczeniowych używanych przez usługę Azure Machine Learning, wykonaj następujące kroki:
Uwaga
W tych krokach założono, że masz istniejący obszar roboczy, konto usługi Azure Storage, usługę Azure Key Vault i usługę Azure Container Registry. Każda z tych usług ma prywatne punkty końcowe w istniejącej sieci wirtualnej.
- Utwórz inną sieć wirtualną dla klientów. Ta sieć wirtualna może zawierać maszyny wirtualne platformy Azure, które działają jako klienci, lub może zawierać bramę sieci VPN używaną przez klientów lokalnych do łączenia się z siecią wirtualną.
- Dodaj nowy prywatny punkt końcowy dla konta usługi Azure Storage, usługi Azure Key Vault i usługi Azure Container Registry używanego przez obszar roboczy. Te prywatne punkty końcowe powinny istnieć w sieci wirtualnej klienta.
- Jeśli masz inny magazyn używany przez obszar roboczy, dodaj nowy prywatny punkt końcowy dla tego magazynu. Prywatny punkt końcowy powinien istnieć w sieci wirtualnej klienta i mieć włączoną integrację prywatnej strefy DNS.
- Dodaj nowy prywatny punkt końcowy do obszaru roboczego. Ten prywatny punkt końcowy powinien istnieć w sieci wirtualnej klienta i mieć włączoną integrację prywatnej strefy DNS.
- Wykonaj kroki opisane w artykule Use studio in a virtual network (Używanie programu Studio w sieci wirtualnej), aby umożliwić programowi Studio dostęp do kont magazynu.
Na poniższym diagramie przedstawiono tę konfigurację. Sieć wirtualna obciążenia zawiera obliczenia utworzone przez obszar roboczy na potrzeby trenowania i wdrażania. Sieć wirtualna klienta zawiera klientów lub połączenia usługi ExpressRoute/VPN klienta. Obie sieci wirtualne zawierają prywatne punkty końcowe dla obszaru roboczego, konta usługi Azure Storage, usługi Azure Key Vault i usługi Azure Container Registry.
Scenariusz: izolowana usługa Azure Kubernetes Service
Jeśli chcesz utworzyć izolowana usługę Azure Kubernetes Service używaną przez obszar roboczy, wykonaj następujące kroki:
Uwaga
W tych krokach założono, że masz istniejący obszar roboczy, konto usługi Azure Storage, usługę Azure Key Vault i usługę Azure Container Registry. Każda z tych usług ma prywatne punkty końcowe w istniejącej sieci wirtualnej.
- Utwórz wystąpienie usługi Azure Kubernetes Service. Podczas tworzenia usługa AKS tworzy sieć wirtualną zawierającą klaster usługi AKS.
- Dodaj nowy prywatny punkt końcowy dla konta usługi Azure Storage, usługi Azure Key Vault i usługi Azure Container Registry używanego przez obszar roboczy. Te prywatne punkty końcowe powinny istnieć w sieci wirtualnej klienta.
- Jeśli masz inny magazyn używany przez obszar roboczy, dodaj nowy prywatny punkt końcowy dla tego magazynu. Prywatny punkt końcowy powinien istnieć w sieci wirtualnej klienta i mieć włączoną integrację prywatnej strefy DNS.
- Dodaj nowy prywatny punkt końcowy do obszaru roboczego. Ten prywatny punkt końcowy powinien istnieć w sieci wirtualnej klienta i mieć włączoną integrację prywatnej strefy DNS.
- Dołącz klaster usługi AKS do obszaru roboczego usługi Azure Machine Learning. Aby uzyskać więcej informacji, zobacz Tworzenie i dołączanie klastra usługi Azure Kubernetes Service.
Następne kroki
Aby uzyskać więcej informacji na temat zabezpieczania obszaru roboczego usługi Azure Machine Learning, zobacz artykuł Omówienie izolacji sieci wirtualnej i prywatności .
Jeśli planujesz używać niestandardowego rozwiązania DNS w sieci wirtualnej, zobacz , jak używać obszaru roboczego z niestandardowym serwerem DNS.