Azure Machine Learning 데이터 반출 방지

Azure Machine Learning에는 여러 인바운드 및 아웃바운드 종속성이 있습니다. 이러한 종속성 중 일부는 조직 내의 악의적인 에이전트에 의한 데이터 유출 위험을 노출시킬 수 있습니다. 이 문서에서는 인바운드 및 아웃바운드 요구 사항을 제한하여 데이터 반출 위험을 최소화하는 방법에 대해 설명합니다.

  • 인바운드: 컴퓨팅 인스턴스 또는 클러스터에서 공용 IP 주소를 사용하는 경우 인바운드( azuremachinelearning 포트 44224) 서비스 태그가 있습니다. 이 인바운드 트래픽은 NSG(네트워크 보안 그룹)를 사용하여 제어할 수 있습니다. Azure 서비스 IP를 위장하기 어려우므로 데이터 반출 위험이 낮습니다. 인바운드 요구 사항을 제거하는 공용 IP를 사용하지 않도록 컴퓨팅을 구성할 수도 있습니다.

  • 아웃바운드: 악의적인 에이전트에 아웃바운드 대상 리소스에 대한 쓰기 액세스 권한이 없는 경우 해당 아웃바운드를 데이터 반출에 사용할 수 없습니다. Microsoft Entra ID, Azure Resource Manager, Azure Machine Learning 및 Microsoft Container Registry는 이 범주에 속합니다. 반면에 Storage 및 AzureFrontDoor.frontend는 데이터 반출에 사용할 수 있습니다.

    • 스토리지 아웃바운드: 이 요구 사항은 컴퓨팅 인스턴스 및 컴퓨팅 클러스터에서 발생합니다. 악의적인 에이전트는 이 아웃바운드 규칙을 사용하여 데이터를 자체의 스토리지 계정에 프로비전하고 저장하여 데이터를 반출할 수 있습니다. Azure 서비스 엔드포인트 정책 및 Azure Batch의 간소화된 노드 통신 아키텍처를 사용하여 데이터 반출 위험을 제거할 수 있습니다.

    • AzureFrontDoor.frontend 아웃바운드: Azure Front Door는 Azure Machine Learning 스튜디오 UI 및 AutoML에서 사용됩니다. 서비스 태그(AzureFrontDoor.frontend)에 아웃바운드를 허용하는 대신 다음 FQDN(정규화된 do기본 이름)으로 전환합니다. 이러한 FQDN으로 전환하면 서비스 태그에 포함된 불필요한 아웃바운드 트래픽이 제거되고 Azure Machine Learning 스튜디오 UI 및 AutoML에 필요한 것만 허용됩니다.

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

이 문서의 정보는 주로 Azure Virtual Network 사용에 관한 것입니다. Azure Machine Learning은 관리형 가상 네트워크를 사용할 수도 있습니다. 관리되는 가상 네트워크를 통해 Azure Machine Learning은 작업 영역 및 관리 컴퓨팅에 대한 네트워크 격리 작업을 처리합니다.

데이터 반출 문제를 해결하기 위해 관리되는 가상 네트워크를 사용하면 승인된 아웃바운드 트래픽으로만 송신을 제한할 수 있습니다. 자세한 내용은 작업 영역 관리되는 네트워크 격리를 참조하세요.

필수 조건

  • Azure 구독
  • Azure VNet(Virtual Network)
  • VNet에 연결하는 프라이빗 엔드포인트가 있는 Azure Machine Learning 작업 영역
    • 작업 영역에서 사용하는 스토리지 계정도 프라이빗 엔드포인트를 사용하여 VNet에 연결해야 합니다.
  • 컴퓨팅 인스턴스를 다시 만들거나 컴퓨팅 클러스터를 노드 0으로 축소해야 합니다.
    • 미리 보기에 조인한 경우에는 필요하지 않습니다.
    • 2022년 12월 이후에 만들어진 새 컴퓨팅 인스턴스 및 컴퓨팅 클러스터가 있는 경우에는 필요하지 않습니다.

서비스 엔드포인트 정책을 사용해야 하는 이유

서비스 엔드포인트 정책을 사용하면 서비스 엔드포인트를 통해 Azure Storage 계정에 대한 송신 가상 네트워크 트래픽을 필터링하고 특정 Azure Storage 계정으로만 데이터 반출을 허용할 수 있습니다. Azure Machine Learning 컴퓨팅 인스턴스 및 컴퓨팅 클러스터는 프로비저닝을 위해 Microsoft 관리 스토리지 계정에 액세스해야 합니다. 서비스 엔드포인트 정책의 Azure Machine Learning 별칭에는 Microsoft 관리형 스토리지 계정이 포함됩니다. Azure Machine Learning 별칭과 함께 서비스 엔드포인트 정책을 사용하여 데이터 반출을 방지하거나 대상 스토리지 계정을 제어합니다. 서비스 엔드포인트 정책 설명서에서 자세히 알아볼 수 있습니다.

1. 서비스 엔드포인트 정책 만들기

  1. Azure Portal에서 새 서비스 엔드포인트 정책을 추가합니다. 기본 사항 탭에서 필요한 정보를 제공하고, 다음을 선택합니다.

  2. 정책 정의 탭에서 다음 작업을 수행합니다.

    1. + 리소스 추가를 선택하고, 다음 정보를 제공합니다.

      • 서비스: Microsoft.Storage
      • 범위: 단일 계정으로 범위를 선택하여 네트워크 트래픽을 하나의 스토리지 계정으로 제한합니다.
      • 구독: 스토리지 계정이 포함된 Azure 구독입니다.
      • 리소스 그룹: 스토리지 계정이 포함된 리소스 그룹입니다.
      • 리소스: 작업 영역의 기본 스토리지 계정입니다.

      추가를 선택하여 리소스 정보를 추가합니다.

      A screenshot showing how to create a service endpoint policy.

    2. + 별칭 추가를 선택한 다음, 서버 별칭 값으로 /services/Azure/MachineLearning을 선택합니다. 별칭을 추가하려면 추가를 선택합니다.

      참고 항목

      Azure CLI 및 Azure PowerShell은 정책에 별칭을 추가하는 기능을 지원하지 않습니다.

  3. 검토 + 만들기를 선택한 후 만들기를 선택합니다.

Important

컴퓨팅 인스턴스 및 컴퓨팅 클러스터가 추가 스토리지 계정에 액세스해야 하는 경우 서비스 엔드포인트 정책에 리소스 섹션에 추가 스토리지 계정이 포함되어야 합니다. 스토리지 프라이빗 엔드포인트를 사용하는 경우에는 필요하지 않습니다. 서비스 엔드포인트 정책 및 프라이빗 엔드포인트는 독립적입니다.

2. 인바운드 및 아웃바운드 네트워크 트래픽 허용

인바운드

Important

다음 정보는 학습 환경 보안 방법 문서에 제공된 지침을 수정합니다.

Important

다음 정보는 학습 환경 보안 방법 문서에 제공된 지침을 수정합니다.

Azure Machine Learning 컴퓨팅 인스턴스와 공용 IP 주소를 사용하는 경우 Azure Batch 관리(서비스 태그 BatchNodeManagement.<region>)에서 인바운드 트래픽을 허용합니다. 공용 IP가 없는 컴퓨팅 인스턴스에는 이 인바운드 통신이 필요하지 않습니다.

아웃바운드

Important

다음 정보는 가상 네트워크를 사용하는 보안 학습 환경인바운드 및 아웃바운드 네트워크 트래픽 구성 문서에 제공된 지침에 추가합니다.

Important

다음 정보는 가상 네트워크를 사용하는 보안 학습 환경인바운드 및 아웃바운드 네트워크 트래픽 구성 문서에 제공된 지침에 추가합니다.

사용하고 있는 구성을 선택합니다.

다음 서비스 태그에 대한 아웃바운드 트래픽을 허용합니다. <region>을 컴퓨팅 클러스터 또는 인스턴스가 포함된 Azure 지역으로 바꿉니다.

서비스 태그 프로토콜 포트
BatchNodeManagement.<region> ANY 443
AzureMachineLearning TCP 443
Storage.<region> TCP 443

참고 항목

스토리지 아웃바운드의 경우 서비스 엔드포인트 정책이 이후 단계에서 적용되어 아웃바운드 트래픽을 제한합니다.

3. 서브넷에 스토리지 엔드포인트 사용

다음 단계를 사용하여 Azure Machine Learning 컴퓨팅 클러스터 및 컴퓨팅 인스턴스를 포함하는 서브넷에 대한 스토리지 엔드포인트를 사용하도록 설정합니다.

  1. Azure Portal에서 Azure Machine Learning 작업 영역에 대한 Azure Virtual Network를 선택합니다.
  2. 페이지 왼쪽에서 서브넷을 선택한 다음 컴퓨팅 클러스터 및 컴퓨팅 인스턴스가 포함된 서브넷을 선택합니다.
  3. 표시되는 양식에서 서비스 드롭다운을 펼친 다음, Microsoft.Storage를 사용하도록 설정합니다. 저장을 선택하여 이러한 변경 내용을 저장합니다.
  4. 서비스 엔드포인트 정책을 작업 영역 서브넷에 적용합니다.

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

4. 큐레이팅된 환경

Azure Machine Learning 큐레이팅된 환경을 사용하는 경우 최신 환경 버전을 사용해야 합니다. 환경에 대한 컨테이너 레지스트리도 mcr.microsoft.com이어야 합니다. 컨테이너 레지스트리를 확인하려면 다음 단계를 사용합니다.

  1. Azure Machine Learning 스튜디오 작업 영역을 선택한 다음 환경을 선택합니다.

  2. Azure 컨테이너 레지스트리mcr.microsoft.com 값으로 시작하는지 확인합니다.

    Important

    컨테이너 레지스트리인 viennaglobal.azurecr.io 경우 데이터 반출과 함께 큐레이팅된 환경을 사용할 수 없습니다. 최신 버전의 큐레이팅된 환경으로 업그레이드해 보세요.

  3. mcr.microsoft.com을 사용하는 경우 다음 리소스에 대한 아웃바운드 구성도 허용해야 합니다. 사용하고 있는 구성 옵션을 선택합니다.

    다음 서비스 태그에 대한 443 TCP 포트를 통한 아웃바운드 트래픽을 허용합니다. <region>을 컴퓨팅 클러스터 또는 인스턴스가 포함된 Azure 지역으로 바꿉니다.

    • MicrosoftContainerRegistry.<region>
    • AzureFrontDoor.FirstParty

다음 단계

자세한 내용은 다음 문서를 참조하세요.