Zapobieganie eksfiltracji danych usługi Azure Machine Learning

Usługa Azure Machine Learning ma kilka zależności przychodzących i wychodzących. Niektóre z tych zależności mogą ujawnić ryzyko eksfiltracji danych przez złośliwych agentów w organizacji. W tym dokumencie wyjaśniono, jak zminimalizować ryzyko eksfiltracji danych przez ograniczenie wymagań dotyczących ruchu przychodzącego i wychodzącego.

  • Ruch przychodzący: jeśli wystąpienie obliczeniowe lub klaster używa publicznego adresu IP, masz tag usługi przychodzący azuremachinelearning (port 44224). Ten ruch przychodzący można kontrolować przy użyciu sieciowej grupy zabezpieczeń i tagów usługi. Trudno jest ukryć adresy IP usługi platformy Azure, więc istnieje niskie ryzyko eksfiltracji danych. Możesz również skonfigurować obliczenia tak, aby nie używały publicznego adresu IP, który usuwa wymagania dotyczące ruchu przychodzącego.

  • Ruch wychodzący: jeśli złośliwi agenci nie mają dostępu do zapisu do zasobów docelowych ruchu wychodzącego, nie mogą używać tego ruchu wychodzącego na potrzeby eksfiltracji danych. Do tej kategorii należą usługi Azure Active Directory, Azure Resource Manager, Azure Machine Learning i Microsoft Container Registry. Z drugiej strony usługi Storage i AzureFrontDoor.frontend mogą służyć do eksfiltracji danych.

    • Ruch wychodzący magazynu: to wymaganie pochodzi z wystąpienia obliczeniowego i klastra obliczeniowego. Złośliwy agent może używać tej reguły ruchu wychodzącego do eksfiltrowania danych przez aprowizowanie i zapisywanie danych na własnym koncie magazynu. Ryzyko eksfiltracji danych można usunąć przy użyciu zasad punktu końcowego usługi platformy Azure i uproszczonej architektury komunikacji węzłów Azure Batch.

    • Ruch wychodzący AzureFrontDoor.frontend: usługa Azure Front Door jest używana przez interfejs użytkownika Azure Machine Learning studio i rozwiązanie AutoML. Zamiast zezwalać na ruch wychodzący do tagu usługi (AzureFrontDoor.frontend), przejdź do następujących w pełni kwalifikowanych nazw domen (FQDN). Przełączenie do tych nazw FQDN usuwa niepotrzebny ruch wychodzący uwzględniony w tagu usługi i umożliwia tylko to, co jest potrzebne dla interfejsu użytkownika Azure Machine Learning studio i rozwiązania AutoML.

      • ml.azure.com
      • automlresources-prod.azureedge.net

Porada

Informacje zawarte w tym artykule dotyczą głównie korzystania z usługi Azure Virtual Network. Usługa Azure Machine Learning może również używać zarządzanych sieci wirtualnych (wersja zapoznawcza). W przypadku zarządzanej sieci wirtualnej usługa Azure Machine Learning obsługuje zadanie izolacji sieci dla obszaru roboczego i zarządzanych zasobów obliczeniowych.

Aby rozwiązać problemy z eksfiltracją danych, zarządzane sieci wirtualne umożliwiają ograniczenie ruchu wychodzącego tylko do zatwierdzonego ruchu wychodzącego. Aby uzyskać więcej informacji, zobacz Obszar roboczy zarządzana izolacja sieci.

Wymagania wstępne

  • Subskrypcja platformy Azure
  • Azure Virtual Network (sieć wirtualna)
  • Obszar roboczy usługi Azure Machine Learning z prywatnym punktem końcowym, który łączy się z siecią wirtualną.
    • Konto magazynu używane przez obszar roboczy musi również łączyć się z siecią wirtualną przy użyciu prywatnego punktu końcowego.
  • Należy ponownie utworzyć wystąpienie obliczeniowe lub przeskalować klaster obliczeniowy w dół do zera.
    • Nie jest wymagane, jeśli dołączono do wersji zapoznawczej.
    • Nie jest wymagane, jeśli masz nowe wystąpienie obliczeniowe i klaster obliczeniowy utworzony po grudniu 2022 r.

Dlaczego muszę używać zasad punktu końcowego usługi

Zasady punktu końcowego usługi umożliwiają filtrowanie ruchu sieciowego wychodzącego do kont usługi Azure Storage za pośrednictwem punktu końcowego usługi i zezwalanie na eksfiltrację danych tylko do określonych kont usługi Azure Storage. Wystąpienie obliczeniowe usługi Azure Machine Learning i klaster obliczeniowy wymagają dostępu do kont magazynu zarządzanego przez firmę Microsoft na potrzeby aprowizacji. Alias usługi Azure Machine Learning w zasadach punktu końcowego usługi obejmuje konta magazynu zarządzane przez firmę Microsoft. Używamy zasad punktu końcowego usługi z aliasem usługi Azure Machine Learning, aby zapobiec eksfiltracji danych lub kontrolować docelowe konta magazynu. Więcej informacji można uzyskać w dokumentacji zasad punktu końcowego usługi.

1. Tworzenie zasad punktu końcowego usługi

  1. W Azure Portal dodaj nowe zasady punktu końcowego usługi. Na karcie Podstawy podaj wymagane informacje, a następnie wybierz pozycję Dalej.

  2. Na karcie Definicje zasad wykonaj następujące akcje:

    1. Wybierz pozycję + Dodaj zasób, a następnie podaj następujące informacje:

      • Usługa: Microsoft.Storage
      • Zakres: wybierz zakres jako Jedno konto , aby ograniczyć ruch sieciowy do jednego konta magazynu.
      • Subskrypcja: subskrypcja platformy Azure zawierająca konto magazynu.
      • Grupa zasobów: grupa zasobów zawierająca konto magazynu.
      • Zasób: domyślne konto magazynu obszaru roboczego.

      Wybierz pozycję Dodaj , aby dodać informacje o zasobie.

      Zrzut ekranu przedstawiający sposób tworzenia zasad punktu końcowego usługi.

    2. Wybierz pozycję + Dodaj alias, a następnie wybierz /services/Azure/MachineLearning wartość Alias serwera . Wybierz pozycję Dodaj , aby dodać alias.

      Uwaga

      Interfejs wiersza polecenia platformy Azure i Azure PowerShell nie zapewniają obsługi dodawania aliasu do zasad.

  3. Wybierz pozycję Przejrzyj i utwórz, a następnie wybierz pozycję Utwórz.

Ważne

Jeśli wystąpienie obliczeniowe i klaster obliczeniowy potrzebują dostępu do dodatkowych kont magazynu, zasady punktu końcowego usługi powinny zawierać dodatkowe konta magazynu w sekcji zasobów. Należy pamiętać, że nie jest to wymagane, jeśli używasz prywatnych punktów końcowych usługi Storage. Zasady punktu końcowego usługi i prywatny punkt końcowy są niezależne.

2. Zezwalaj na ruch sieciowy przychodzący i wychodzący

Przychodzący

Ważne

Poniższe informacje modyfikują wskazówki podane w artykule How to secure training environment (Jak zabezpieczyć środowisko szkoleniowe ).

Ważne

Poniższe informacje modyfikują wskazówki podane w artykule How to secure training environment (Jak zabezpieczyć środowisko szkoleniowe ).

W przypadku korzystania z wystąpienia obliczeniowego usługi Azure Machine Learning z publicznym adresem IP zezwalaj na ruch przychodzący z zarządzania Azure Batch (tag BatchNodeManagement.<region>usługi). Wystąpienie obliczeniowe bez publicznego adresu IPnie wymaga tej komunikacji przychodzącej.

Wychodzący

Wybierz konfigurację, której używasz:

Zezwalaj na ruch wychodzący do następujących tagów usługi. Zastąp element <region> regionem platformy Azure zawierającym klaster obliczeniowy lub wystąpienie:

Tag usługi Protokół Port
BatchNodeManagement.<region> WSZELKIE 443
AzureMachineLearning TCP 443
Storage.<region> TCP 443

Uwaga

W przypadku ruchu wychodzącego magazynu zasady punktu końcowego usługi zostaną zastosowane w późniejszym kroku, aby ograniczyć ruch wychodzący.

3. Włączanie punktu końcowego magazynu dla podsieci

  1. W Azure Portal wybierz pozycję Azure Virtual Network dla obszaru roboczego usługi Azure Machine Learning.
  2. Z lewej strony wybierz pozycję Podsieci , a następnie wybierz podsieć zawierającą zasoby klastra obliczeniowego/wystąpienia.
  3. W wyświetlonym formularzu rozwiń listę rozwijaną Usługi , a następnie włącz pozycję Microsoft.Storage. Wybierz pozycję Zapisz, aby zapisać te zmiany.
  4. Zastosuj zasady punktu końcowego usługi do podsieci obszaru roboczego.

Zrzut ekranu przedstawiający Azure Portal sposób włączania punktu końcowego magazynu dla podsieci.

4. Wyselekcjonowane środowiska

W przypadku korzystania ze środowisk wyselekcjonowanych usługi Azure Machine Learning upewnij się, że używasz najnowszej wersji środowiska. Rejestr kontenerów dla środowiska musi również mieć wartość mcr.microsoft.com. Aby sprawdzić rejestr kontenerów, wykonaj następujące czynności:

  1. W Azure Machine Learning studio wybierz obszar roboczy, a następnie wybierz pozycję Środowiska.

  2. Sprawdź, czy rejestr kontenerówmcr.microsoft.complatformy Azure rozpoczyna się od wartości .

    Ważne

    Jeśli rejestr kontenerów nie viennaglobal.azurecr.io może używać nadzorowanych środowisk z eksfiltracją danych. Spróbuj przeprowadzić uaktualnienie do najnowszej wersji środowiska nadzorowanego.

  3. W przypadku korzystania z programu mcr.microsoft.comnależy również zezwolić na konfigurację ruchu wychodzącego do następujących zasobów. Wybierz opcję konfiguracji, której używasz:

    Zezwalaj na ruch wychodzący przez port TCP 443 do następujących tagów usługi. Zastąp <region> element regionem platformy Azure zawierającym klaster obliczeniowy lub wystąpienie.

    • MicrosoftContainerRegistry.<region>
    • AzureFrontDoor.FirstParty

Następne kroki

Aby uzyskać więcej informacji, zobacz następujące artykuły: