Dataexfiltreringsskydd i Azure Machine Learning

Azure Machine Learning har flera inkommande och utgående beroenden. Vissa av dessa beroenden kan exponera en dataexfiltreringsrisk för skadliga agenter i din organisation. Det här dokumentet beskriver hur du minimerar risken för dataexfiltrering genom att begränsa kraven på inkommande och utgående trafik.

  • Inkommande: Om beräkningsinstansen eller klustret använder en offentlig IP-adress har du en tjänsttagg för azuremachinelearning inkommande trafik (port 44224). Du kan styra den här inkommande trafiken med hjälp av en nätverkssäkerhetsgrupp (NSG) och tjänsttaggar. Det är svårt att dölja Azure-tjänst-IP-adresser, så risken för dataexfiltrering är låg. Du kan också konfigurera beräkningen så att den inte använder en offentlig IP-adress, vilket tar bort inkommande krav.

  • Utgående: Om skadliga agenter inte har skrivåtkomst till utgående målresurser kan de inte använda den utgående informationen för dataexfiltrering. Microsoft Entra-ID, Azure Resource Manager, Azure Machine Learning och Microsoft Container Registry tillhör den här kategorin. Å andra sidan kan Storage och AzureFrontDoor.frontend användas för dataexfiltrering.

    • Utgående lagring: Det här kravet kommer från beräkningsinstansen och beräkningsklustret. En skadlig agent kan använda den här utgående regeln för att exfiltera data genom att etablera och spara data i sitt eget lagringskonto. Du kan ta bort dataexfiltreringsrisken med hjälp av en Azure Service Endpoint Policy och Azure Batchs förenklade nodkommunikationsarkitektur.

    • Utgående AzureFrontDoor.frontend: Azure Front Door används av Azure Machine Learning-studio UI och AutoML. I stället för att tillåta utgående trafik till tjänsttaggen (AzureFrontDoor.frontend) växlar du till följande fullständigt kvalificerade domännamn (FQDN). Om du byter till dessa FQDN:er tas onödig utgående trafik som ingår i tjänsttaggen bort och tillåter endast det som behövs för Azure Machine Learning-studio användargränssnitt och AutoML.

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

Dricks

Informationen i den här artikeln handlar främst om att använda ett virtuellt Azure-nätverk. Azure Machine Learning kan också använda ett hanterat virtuellt nätverk. Med ett hanterat virtuellt nätverk hanterar Azure Machine Learning jobbet med nätverksisolering för din arbetsyta och hanterade beräkningar.

För att hantera problem med dataexfiltrering kan hanterade virtuella nätverk begränsa utgående trafik till endast godkänd utgående trafik. Mer information finns i Hanterad nätverksisolering för arbetsyta.

Förutsättningar

  • En Azure-prenumeration
  • Ett virtuellt Azure-nätverk (VNet)
  • En Azure Machine Learning-arbetsyta med en privat slutpunkt som ansluter till det virtuella nätverket.
    • Lagringskontot som används av arbetsytan måste också ansluta till det virtuella nätverket med hjälp av en privat slutpunkt.
  • Du måste återskapa beräkningsinstansen eller skala ned beräkningsklustret till nollnod.
    • Krävs inte om du har anslutit till förhandsversionen.
    • Krävs inte om du har skapat en ny beräkningsinstans och ett beräkningskluster efter december 2022.

Varför behöver jag använda tjänstslutpunktsprincipen

Med tjänstslutpunktsprinciper kan du filtrera utgående virtuell nätverkstrafik till Azure Storage-konton över tjänstslutpunkten och tillåta dataexfiltrering till endast specifika Azure Storage-konton. Azure Machine Learning-beräkningsinstanser och beräkningskluster kräver åtkomst till Microsoft-hanterade lagringskonton för etableringen. Azure Machine Learning-aliaset i tjänstslutpunktsprinciper innehåller Microsoft-hanterade lagringskonton. Vi använder tjänstslutpunktsprinciper med Azure Machine Learning-aliaset för att förhindra dataexfiltrering eller styra mållagringskontona. Du kan läsa mer i dokumentationen om tjänstslutpunktsprinciper.

1. Skapa tjänstslutpunktsprincipen

  1. Från Azure-portalen lägger du till en ny tjänstslutpunktsprincip. På fliken Grundläggande anger du nödvändig information och väljer sedan Nästa.

  2. Utför följande åtgärder på fliken Principdefinitioner :

    1. Välj + Lägg till en resurs och ange sedan följande information:

      • Tjänst: Microsoft.Storage
      • Omfång: Välj omfånget som Enskilt konto för att begränsa nätverkstrafiken till ett lagringskonto.
      • Prenumeration: Den Azure-prenumeration som innehåller lagringskontot.
      • Resursgrupp: Den resursgrupp som innehåller lagringskontot.
      • Resurs: Standardlagringskontot för din arbetsyta.

      Välj Lägg till för att lägga till resursinformationen.

      A screenshot showing how to create a service endpoint policy.

    2. Välj + Lägg till ett alias och välj /services/Azure/MachineLearning sedan som serveraliasvärde. Välj Lägg till för att lägga till aliaset.

      Kommentar

      Azure CLI och Azure PowerShell har inte stöd för att lägga till ett alias i principen.

  3. Välj Granska + skapaoch välj sedan Skapa.

Viktigt!

Om beräkningsinstansen och beräkningsklustret behöver åtkomst till ytterligare lagringskonton bör din tjänstslutpunktsprincip innehålla de ytterligare lagringskontona i avsnittet resurser. Observera att det inte krävs om du använder privata lagringsslutpunkter. Tjänstens slutpunktsprincip och privata slutpunkt är oberoende.

2. Tillåt inkommande och utgående nätverkstrafik

Inkommande

Viktigt!

Följande information ändrar vägledningen i artikeln Så här skyddar du träningsmiljön .

Viktigt!

Följande information ändrar vägledningen i artikeln Så här skyddar du träningsmiljön .

När du använder Azure Machine Learning-beräkningsinstansen med en offentlig IP-adress tillåter du inkommande trafik från Azure Batch-hantering (tjänsttaggen BatchNodeManagement.<region>). En beräkningsinstans utan offentlig IP-adresskräver inte den här inkommande kommunikationen.

Utgående

Viktigt!

Följande information finns utöver de riktlinjer som ges i utbildningsmiljön Säker med virtuella nätverk och Artikeln Konfigurera inkommande och utgående nätverkstrafik .

Viktigt!

Följande information finns utöver de riktlinjer som ges i utbildningsmiljön Säker med virtuella nätverk och Artikeln Konfigurera inkommande och utgående nätverkstrafik .

Välj den konfiguration som du använder:

Tillåt utgående trafik till följande tjänsttaggar. Ersätt <region> med Azure-regionen som innehåller ditt beräkningskluster eller din instans:

Tjänsttagg Protokoll Port
BatchNodeManagement.<region> NÅGON 443
AzureMachineLearning TCP 443
Storage.<region> TCP 443

Kommentar

För utgående lagring tillämpas en tjänstslutpunktsprincip i ett senare steg för att begränsa utgående trafik.

3. Aktivera lagringsslutpunkt för undernätet

Använd följande steg för att aktivera en lagringsslutpunkt för undernätet som innehåller dina Azure Machine Learning-beräkningskluster och beräkningsinstanser:

  1. I Azure-portalen väljer du Azure Virtual Network för din Azure Machine Learning-arbetsyta.
  2. Till vänster på sidan väljer du Undernät och sedan det undernät som innehåller beräkningsklustret och beräkningsinstansen.
  3. I formuläret som visas expanderar du listrutan Tjänster och aktiverar sedan Microsoft.Storage. Spara ändringarna genom att välja Spara .
  4. Tillämpa tjänstslutpunktsprincipen på arbetsytans undernät.

A screenshot of the Azure portal showing how to enable storage endpoint for the subnet.

4. Utvalda miljöer

När du använder Azure Machine Learning-kurerade miljöer bör du använda den senaste miljöversionen. Containerregistret för miljön måste också vara mcr.microsoft.com. Använd följande steg för att kontrollera containerregistret:

  1. Välj din arbetsyta från Azure Machine Learning-studio och välj sedan Miljöer.

  2. Kontrollera att Azure-containerregistret börjar med värdet mcr.microsoft.com.

    Viktigt!

    Om containerregistret är viennaglobal.azurecr.io kan du inte använda den kurerade miljön med dataexfiltreringen. Prova att uppgradera till den senaste versionen av den granskade miljön.

  3. När du använder mcr.microsoft.commåste du också tillåta utgående konfiguration till följande resurser. Välj det konfigurationsalternativ som du använder:

    Tillåt utgående trafik via TCP-port 443 till följande tjänsttaggar. Ersätt <region> med Azure-regionen som innehåller ditt beräkningskluster eller din instans.

    • MicrosoftContainerRegistry.<region>
    • AzureFrontDoor.FirstParty

Nästa steg

Mer information finns i följande artiklar: