Udostępnij za pośrednictwem


Izolacja sieci za pomocą rejestrów usługi Azure Machine Learning

W tym artykule dowiesz się, jak zabezpieczyć rejestr usługi Azure Machine Learning przy użyciu usługi Azure Virtual Network i prywatnych punktów końcowych.

Prywatne punkty końcowe na platformie Azure zapewniają izolację sieci, umożliwiając dostęp do usług platformy Azure za pośrednictwem prywatnego adresu IP w sieci wirtualnej. Sieć wirtualna zabezpiecza połączenia między zasobami platformy Azure i zapobiega narażeniu poufnych danych na publiczny Internet.

Korzystanie z izolacji sieci z prywatnymi punktami końcowymi uniemożliwia przechodzenie ruchu sieciowego przez publiczny Internet i przeniesienie usługi rejestru Azure Machine Learning do sieci wirtualnej. Cały ruch sieciowy odbywa się za pośrednictwem usługi Azure Private Link , gdy są używane prywatne punkty końcowe.

Wymagania wstępne

Zabezpieczanie rejestru usługi Azure Machine Learning

Uwaga

Dla uproszczenia będziemy odnosić się do obszaru roboczego, jest to skojarzone zasoby i sieć wirtualna, której są częścią bezpiecznej konfiguracji obszaru roboczego. Dowiesz się, jak dodać rejestry usługi Azure Machine Learning w ramach istniejącej konfiguracji.

Na poniższym diagramie przedstawiono podstawową konfigurację sieci i sposób dopasowania rejestru usługi Azure Machine Learning. Jeśli używasz już obszaru roboczego usługi Azure Machine Learning i masz bezpieczną konfigurację obszaru roboczego, w której wszystkie zasoby są częścią sieci wirtualnej, możesz utworzyć prywatny punkt końcowy z istniejącej sieci wirtualnej do rejestru usługi Azure Machine Learning i skojarzonych z nią zasobów (magazyn i usługa ACR).

Jeśli nie masz bezpiecznej konfiguracji obszaru roboczego, możesz go utworzyć przy użyciu artykułu Tworzenie bezpiecznego obszaru roboczego w witrynie Azure Portal, szablonu Bicep lub szablonu narzędzia Terraform.

Diagram rejestru połączonego z siecią wirtualną zawierającą obszar roboczy i skojarzone zasoby przy użyciu prywatnego punktu końcowego.

Ograniczenia

Jeśli używasz rejestru usługi Azure Machine Learning z izolacją sieci, możesz wyświetlić zasoby modelu w usłudze Azure Machine Learning Studio. Nie będzie można wyświetlić innych typów zasobów. Nie będzie można wykonywać żadnych operacji w rejestrze lub zasobach usługi Azure Machine Learning przy użyciu programu Studio. Zamiast tego użyj interfejsu wiersza polecenia usługi Azure Machine Learning lub zestawu SDK.

Scenariusz: konfiguracja obszaru roboczego jest bezpieczna, a rejestr usługi Azure Machine Learning jest publiczny

W tej sekcji opisano scenariusze i wymaganą konfigurację sieci, jeśli masz bezpieczną konfigurację obszaru roboczego, ale używasz rejestru publicznego.

Tworzenie zasobów w rejestrze na podstawie plików lokalnych

Tożsamość (na przykład tożsamość użytkownika firmy Microsoft Entra badacze dancyh) używana do tworzenia zasobów w rejestrze musi mieć przypisaną rolę użytkownika, właściciela lub współautora rejestru usługi AzureML w kontroli dostępu opartej na rolach platformy Azure. Aby uzyskać więcej informacji, zobacz artykuł Zarządzanie dostępem do usługi Azure Machine Learning .

Udostępnianie zasobów z obszaru roboczego do rejestru

Uwaga

Udostępnianie składnika z obszaru roboczego usługi Azure Machine Learning do rejestru usługi Azure Machine Learning nie jest obecnie obsługiwane.

Ze względu na ochronę przed eksfiltracją danych nie można udostępnić zasobu z bezpiecznego obszaru roboczego do rejestru publicznego, jeśli konto magazynu zawierające zasób ma wyłączony dostęp publiczny. Aby włączyć udostępnianie zasobów z obszaru roboczego do rejestru:

  • Przejdź do sekcji Sieć konta magazynu dołączonego do obszaru roboczego (z miejsca, w którym chcesz zezwolić na udostępnianie zasobów do rejestru)
  • Ustaw pozycję Dostęp do sieci publicznej na wartość Włączone z wybranych sieci wirtualnych i adresów IP
  • Przewiń w dół i przejdź do sekcji Wystąpienia zasobów. Wybierz pozycję Typ zasobu na Microsoft.MachineLearningServices/registries i ustaw nazwę wystąpienia na nazwę zasobu rejestru usługi Azure Machine Learning, aby umożliwić udostępnianie z obszaru roboczego.
  • Pamiętaj, aby sprawdzić pozostałe ustawienia zgodnie z konfiguracją sieci.

Używanie zasobów z rejestru w obszarze roboczym

Przykładowe operacje:

  • Prześlij zadanie korzystające z zasobu z rejestru.
  • Użyj składnika z rejestru w potoku.
  • Użyj środowiska z rejestru w składniku.

Korzystanie z zasobów z rejestru do bezpiecznego obszaru roboczego wymaga skonfigurowania dostępu wychodzącego do rejestru.

Wdrażanie modelu z rejestru do obszaru roboczego

Aby wdrożyć model z rejestru w bezpiecznym zarządzanym punkcie końcowym online, wdrożenie musi zostać egress_public_network_access=disabled ustawione. Usługa Azure Machine Learning tworzy niezbędne prywatne punkty końcowe do rejestru podczas wdrażania punktu końcowego. Aby uzyskać więcej informacji, zobacz Tworzenie bezpiecznych zarządzanych punktów końcowych online.

Konfiguracja sieci wychodzącej w celu uzyskania dostępu do dowolnego rejestru usługi Azure Machine Learning

Tag usługi Protokół i porty Purpose
AzureMachineLearning TCP: 443, 877, 18881
UDP: 5831
Korzystanie z usług Azure Machine Learning.
Storage.<region> TCP: 443 Uzyskiwanie dostępu do danych przechowywanych na koncie usługi Azure Storage dla klastrów obliczeniowych i wystąpień obliczeniowych. To wyjście może być wykorzystane do eksfiltracji danych. Aby uzyskać więcej informacji, zobacz Ochrona eksfiltracji danych.
MicrosoftContainerRegistry.<region> TCP: 443 Uzyskiwanie dostępu do obrazów platformy Docker udostępnianych przez firmę Microsoft.
AzureContainerRegistry.<region> TCP: 443 Uzyskiwanie dostępu do obrazów platformy Docker dla środowisk.

Scenariusz: konfiguracja obszaru roboczego jest bezpieczna, a rejestr usługi Azure Machine Learning jest połączony z sieciami wirtualnymi przy użyciu prywatnych punktów końcowych

W tej sekcji opisano scenariusze i wymaganą konfigurację sieci, jeśli masz bezpieczną konfigurację obszaru roboczego z rejestrami usługi Azure Machine Learning połączonymi przy użyciu prywatnego punktu końcowego z siecią wirtualną.

Rejestr usługi Azure Machine Learning ma skojarzone wystąpienia usługi Storage/ACR. Te wystąpienia usługi można również połączyć z siecią wirtualną przy użyciu prywatnych punktów końcowych w celu zabezpieczenia konfiguracji. Aby uzyskać więcej informacji, zobacz sekcję How to create a private endpoint (Jak utworzyć prywatny punkt końcowy ).

Jak znaleźć konto usługi Azure Storage i usługę Azure Container Registry używane przez rejestr

Konto magazynu i usługa ACR używane przez rejestr usługi Azure Machine Learning są tworzone w ramach zarządzanej grupy zasobów w ramach subskrypcji platformy Azure. Nazwa zarządzanej grupy zasobów jest zgodna ze wzorcem .azureml-rg-<name-of-your-registry>_<GUID> Identyfikator GUID jest losowo generowanym ciągiem. Jeśli na przykład nazwa rejestru to "contosoreg", nazwą zarządzanej grupy zasobów będzie azureml-rg-contosoreg_<GUID>.

W witrynie Azure Portal tę grupę zasobów można znaleźć, wyszukując ciąg azureml_rg-<name-of-your-registry>. Wszystkie zasoby magazynu i usługi ACR dla rejestru są dostępne w tej grupie zasobów.

Tworzenie zasobów w rejestrze na podstawie plików lokalnych

Uwaga

Tworzenie zasobu środowiska nie jest obsługiwane w rejestrze prywatnym, w którym skojarzony rejestr usługi ACR ma wyłączony dostęp publiczny. Aby obejść ten problem, możesz utworzyć środowisko w obszarze roboczym usługi Azure Machine Learning i udostępnić je rejestrowi usługi Azure Machine Learning.

Klienci muszą być połączeni z siecią wirtualną, z którą rejestr jest połączony z prywatnym punktem końcowym.

Bezpieczne nawiązywanie połączenia z rejestrem

Aby nawiązać połączenie z rejestrem 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 bezpośrednio uzyskać dostęp do rejestru.

Udostępnianie zasobów z obszaru roboczego do rejestru

Uwaga

Udostępnianie składnika z obszaru roboczego usługi Azure Machine Learning do rejestru usługi Azure Machine Learning nie jest obecnie obsługiwane.

Ze względu na ochronę przed eksfiltracją danych nie można udostępnić zasobu z bezpiecznego obszaru roboczego do rejestru prywatnego, jeśli konto magazynu zawierające zasób ma wyłączony dostęp publiczny. Aby włączyć udostępnianie zasobów z obszaru roboczego do rejestru:

  • Przejdź do sekcji Sieć konta magazynu dołączonego do obszaru roboczego (z miejsca, w którym chcesz zezwolić na udostępnianie zasobów do rejestru)
  • Ustaw pozycję Dostęp do sieci publicznej na wartość Włączone z wybranych sieci wirtualnych i adresów IP
  • Przewiń w dół i przejdź do sekcji Wystąpienia zasobów. Wybierz pozycję Typ zasobu na Microsoft.MachineLearningServices/registries i ustaw nazwę wystąpienia na nazwę zasobu rejestru usługi Azure Machine Learning, aby umożliwić udostępnianie z obszaru roboczego.
  • Pamiętaj, aby sprawdzić pozostałe ustawienia zgodnie z konfiguracją sieci.

Używanie zasobów z rejestru w obszarze roboczym

Przykładowe operacje:

  • Prześlij zadanie korzystające z zasobu z rejestru.
  • Użyj składnika z rejestru w potoku.
  • Użyj środowiska z rejestru w składniku.

Utwórz prywatny punkt końcowy w rejestrze, magazynie i usłudze ACR z sieci wirtualnej obszaru roboczego. Jeśli próbujesz nawiązać połączenie z wieloma rejestrami, utwórz prywatny punkt końcowy dla każdego rejestru oraz skojarzonych magazynów i usług ACL. Aby uzyskać więcej informacji, zobacz sekcję How to create a private endpoint (Jak utworzyć prywatny punkt końcowy ).

Wdrażanie modelu z rejestru do obszaru roboczego

Aby wdrożyć model z rejestru w bezpiecznym zarządzanym punkcie końcowym online, wdrożenie musi zostać egress_public_network_access=disabled ustawione. Usługa Azure Machine Learning tworzy niezbędne prywatne punkty końcowe do rejestru podczas wdrażania punktu końcowego. Aby uzyskać więcej informacji, zobacz Tworzenie bezpiecznych zarządzanych punktów końcowych online.

Jak utworzyć prywatny punkt końcowy

Użyj kart, aby wyświetlić instrukcje, aby dodać prywatny punkt końcowy do istniejącego rejestru lub utworzyć nowy rejestr , który ma prywatny punkt końcowy:

  1. W witrynie Azure Portal wyszukaj pozycję Prywatny punkt końcowy, a następnie wybierz wpis Prywatne punkty końcowe , aby przejść do centrum łącza prywatnego.

  2. Na stronie Przegląd centrum łącza prywatnego wybierz pozycję + Utwórz.

  3. Podaj żądane informacje. W polu Region wybierz ten sam region co sieć wirtualna platformy Azure. Wybierz Dalej.

  4. Na karcie Zasób po wybraniu pozycji Typ zasobu wybierz pozycję Microsoft.MachineLearningServices/registries. Ustaw pole Zasób na nazwę rejestru usługi Azure Machine Learning, a następnie wybierz pozycję Dalej.

  5. Na karcie Sieć wirtualna wybierz sieć wirtualną i podsieć dla zasobów usługi Azure Machine Learning. Wybierz przycisk Dalej, aby kontynuować.

  6. Na karcie DNS pozostaw wartości domyślne, chyba że masz określone wymagania dotyczące integracji z prywatną usługą DNS. Wybierz przycisk Dalej, aby kontynuować.

  7. Na karcie Przeglądanie + tworzenie wybierz pozycję Utwórz, aby utworzyć prywatny punkt końcowy.

  8. Jeśli chcesz ustawić dostęp do sieci publicznej na wartość wyłączone, użyj następującego polecenia. Upewnij się, że magazyn i usługa ACR mają również wyłączony dostęp do sieci publicznej.

    az ml registry update --set publicNetworkAccess=Disabled --name <name-of-registry>
    

Jak znaleźć konto usługi Azure Storage i usługę Azure Container Registry używane przez rejestr

Konto magazynu i usługa ACR używane przez rejestr usługi Azure Machine Learning są tworzone w ramach zarządzanej grupy zasobów w ramach subskrypcji platformy Azure. Nazwa zarządzanej grupy zasobów jest zgodna ze wzorcem .azureml-rg-<name-of-your-registry>_<GUID> Identyfikator GUID jest losowo generowanym ciągiem. Jeśli na przykład nazwa rejestru to "contosoreg", nazwą zarządzanej grupy zasobów będzie azureml-rg-contosoreg_<GUID>.

W witrynie Azure Portal tę grupę zasobów można znaleźć, wyszukując ciąg azureml_rg-<name-of-your-registry>. Wszystkie zasoby magazynu i usługi ACR dla rejestru są dostępne w tej grupie zasobów.

Jak utworzyć prywatny punkt końcowy dla konta usługi Azure Storage

Aby utworzyć prywatny punkt końcowy dla konta magazynu używanego przez rejestr, wykonaj następujące kroki:

  1. W witrynie Azure Portal wyszukaj pozycję Prywatny punkt końcowy, a następnie wybierz wpis Prywatne punkty końcowe , aby przejść do centrum łącza prywatnego.
  2. Na stronie Przegląd centrum łącza prywatnego wybierz pozycję + Utwórz.
  3. Podaj żądane informacje. W polu Region wybierz ten sam region co sieć wirtualna platformy Azure. Wybierz Dalej.
  4. Na karcie Zasób po wybraniu pozycji Typ zasobu wybierz pozycję Microsoft.Storage/storageAccounts. Ustaw pole Zasób na nazwę konta magazynu. Ustaw zasób podrzędny na Blob, a następnie wybierz przycisk Dalej.
  5. Na karcie Sieć wirtualna wybierz sieć wirtualną i podsieć dla zasobów usługi Azure Machine Learning. Wybierz przycisk Dalej, aby kontynuować.
  6. Na karcie DNS pozostaw wartości domyślne, chyba że masz określone wymagania dotyczące integracji z prywatną usługą DNS. Wybierz przycisk Dalej, aby kontynuować.
  7. Na karcie Przeglądanie + tworzenie wybierz pozycję Utwórz, aby utworzyć prywatny punkt końcowy.

Ochrona przed eksfiltracją danych

W przypadku użytkownika utworzonego rejestru usługi Azure Machine Learning zalecamy użycie prywatnego punktu końcowego dla rejestru, zarządzanego konta magazynu i zarządzanego rejestru usługi ACR.

W przypadku rejestru systemowego zalecamy utworzenie zasad punktu końcowego usługi dla konta magazynu przy użyciu aliasu /services/Azure/MachineLearning . Aby uzyskać więcej informacji, zobacz Konfigurowanie zapobiegania eksfiltracji danych.

Jak znaleźć w pełni kwalifikowaną nazwę domeny rejestru

Uwaga

Upewnij się, że system DNS jest w stanie rozpoznać prywatną nazwę FQDN rejestru, która ma następujący format: <registry-guid>.registry.<region>.privatelink.api.azureml.ms ponieważ nie ma nazwy FQDN specyficznej dla zasobu publicznego, która jest rekursywnie rozpoznawana przez usługę Azure DNS.

W poniższych przykładach pokazano, jak za pomocą adresu URL odnajdywania uzyskać w pełni kwalifikowaną nazwę domeny (FQDN) rejestru. Podczas wywoływania adresu URL odnajdywania należy podać token dostępu platformy Azure w nagłówku żądania. W poniższych przykładach pokazano, jak uzyskać token dostępu i wywołać adres URL odnajdywania:

Napiwek

Format adresu URL odnajdywania to https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery, gdzie <region> to region, w którym znajduje się rejestr i <registry_name> jest nazwą rejestru. Aby wywołać adres URL, utwórz żądanie GET:

   GET https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery 
$region = "<region>"
$registryName = "<registry_name>"
$accessToken = (az account get-access-token | ConvertFrom-Json).accessToken 
(Invoke-RestMethod -Method Get `
                   -Uri "https://$region.api.azureml.ms/registrymanagement/v1.0/registries/$registryName/discovery" `
                   -Headers @{ Authorization="Bearer $accessToken" }).registryFqdns
  • Interfejs API REST

Uwaga

Aby uzyskać więcej informacji na temat korzystania z interfejsów API REST platformy Azure, zobacz dokumentację interfejsu API REST platformy Azure.

  1. Pobierz token dostępu platformy Azure. Aby uzyskać token, możesz użyć następującego polecenia interfejsu wiersza polecenia platformy Azure:

    az account get-access-token --query accessToken
    
  2. Użyj klienta REST, takiego jak Curl, aby wysłać żądanie GET do adresu URL odnajdywania. Użyj tokenu dostępu pobranego w poprzednim kroku na potrzeby autoryzacji. W poniższym przykładzie zastąp ciąg <region> regionem, w którym znajduje się rejestr, i <registry_name> nazwą rejestru. Zastąp <token> element tokenem dostępu pobranym w poprzednim kroku:

    curl -X GET "https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery" -H "Authorization: Bearer <token>" -H "Content-Type: application/json"
    

Następny krok

Dowiedz się, jak udostępniać modele, składniki i środowiska między obszarami roboczymi przy użyciu rejestrów.