다음을 통해 공유


데이터 관리

데이터 액세스를 관리하는 방법 및 Azure Machine Learning에서 인증하는 방법을 알아봅니다.

적용 대상:Azure CLI ml 확장 v2(현재)Python SDK azure-ai-ml v2(현재)

Important

이 문서의 정보는 Azure Machine Learning 솔루션에 필요한 인프라를 만들려는 Azure 관리자를 위한 것입니다.

자격 증명 기반 데이터 인증

일반적으로 자격 증명 기반 데이터 인증에는 다음 검사가 포함됩니다.

  • 자격 증명 기반 데이터 저장소의 데이터에 액세스하는 사용자에게 Microsoft.MachineLearningServices/workspaces/datastores/listsecrets/action이 포함된 RBAC(역할 기반 액세스 제어)이 포함된 역할이 할당되었는지 확인합니다.

    • 이 권한은 사용자의 데이터 저장소에서 자격 증명을 검색하는 데 필요합니다.

    • 이 권한이 이미 포함된 기본 제공 역할:

    • 어떤 특정 사용자가 데이터에 액세스하려고 하는지 알아야 합니다. 특정 사용자는 사용자 ID가 있는 실제 사용자일 수 있습니다. 컴퓨팅 관리 ID(MSI)가 있는 컴퓨터일 수도 있습니다. 자세한 내용은 시나리오 및 인증 옵션 섹션을 방문하여 추가된 권한이 필요한 ID를 확인합니다.

  • 저장된 자격 증명(서비스 주체, 계정 키 또는 공유 액세스 서명 토큰)이 데이터 리소스에 액세스할 수 있나요?

ID 기반 데이터 인증

일반적으로 ID 기반 데이터 인증에는 다음 검사가 포함됩니다.

  • 리소스에 액세스하려는 사용자
    • 데이터가 액세스되는 상황에 따라 다음과 같은 다양한 인증 유형을 사용할 수 있습니다. 예:
      • 사용자 ID
      • 컴퓨팅 관리 ID
      • 작업 영역 관리 ID
    • 데이터 세트 Generate Profile 옵션을 포함한 작업은 구독의 컴퓨팅 리소스에서 실행되고 해당 위치의 데이터에 액세스합니다. 작업을 제출하는 사용자의 ID가 아닌 컴퓨팅 관리 ID에 스토리지 리소스에 액세스하기 위한 권한이 필요합니다.
    • 사용자 ID를 기반으로 하는 인증의 경우 스토리지 리소스에 액세스를 시도한 특정 사용자가 누구인지 알아야 합니다. 사용자 인증에 대한 자세한 내용은 Azure Machine Learning 인증을 참조하세요. 서비스 수준 인증에 대한 자세한 내용은 Azure Machine Learning과 다른 서비스 간의 인증을 참조하세요.
  • 이 사용자에게 리소스에 대한 읽기 권한이 있나요?
  • 이 사용자에게 리소스에 대한 쓰기 권한이 있나요?

기타 일반 인증 확인

  • 리소스에 액세스하는 것은 정확히 무엇인가요?
    • 사용자: 클라이언트 IP 주소가 가상 네트워크/서브넷 범위에 있나요?
    • 작업 영역: 작업 영역은 퍼블릭인가요, 아니면 가상 네트워크/서브넷에 프라이빗 엔드포인트가 있나요?
    • 스토리지: 스토리지에서 공용 액세스를 허용하나요 아니면 서비스 엔드포인트 또는 프라이빗 엔드포인트를 통한 액세스를 제한하나요?
  • 계획된 작업은 무엇인가요?
    • Azure Machine Learning이 처리하는 사항
      • 만들기
      • 읽음
      • Update
      • 제(CRUD) 작업(데이터 저장소/데이터 세트 관련)
    • Azure Machine Learning 스튜디오의 데이터 자산에 대한 보관 작업에는 다음 RBAC 작업이 필요합니다. Microsoft.MachineLearningServices/workspaces/datasets/registered/delete
    • 데이터 액세스 호출(예: 미리 보기 또는 스키마)은 기본 스토리지로 이동되며 추가 권한이 필요합니다.
  • 이 작업은 Azure 구독의 컴퓨팅 리소스 또는 Microsoft 구독에서 호스트되는 리소스에서 실행되고 있나요?
    • 데이터 세트 및 데이터 저장소 서비스에 대한 모든 호출(Generate Profile 옵션 제외)은 Microsoft 구독에 호스트된 리소스를 사용하여 작업을 실행합니다.
    • 데이터 세트 Generate Profile 옵션을 포함한 작업은 구독의 컴퓨팅 리소스에서 실행되고 해당 위치의 데이터에 액세스합니다. 작업을 제출하는 사용자의 ID가 아닌 컴퓨팅 ID에 스토리지 리소스에 대한 권한이 필요합니다.

이 다이어그램은 데이터 액세스 호출의 일반적인 흐름을 보여 줍니다. 여기서 사용자는 컴퓨팅 리소스를 사용하지 않고 Machine Learning 작업 영역을 통해 데이터 액세스 호출을 수행하려고 합니다.

데이터에 액세스할 때 논리 흐름을 보여 주는 다이어그램.

시나리오 및 인증 옵션

이 표에는 특정 시나리오에 사용할 ID가 나열됩니다.

구성 SDK 로컬/Notebook 가상 머신 작업 데이터 세트 미리 보기 데이터 저장소 찾아보기
자격 증명 + 작업 영역 MSI 자격 증명 자격 증명 작업 영역 MSI 자격 증명(계정 키 및 공유 액세스 서명 토큰만 해당)
자격 증명 없음 + 작업 영역 MSI 컴퓨팅 MSI/사용자 ID 컴퓨팅 MSI/사용자 ID 작업 영역 MSI 사용자 ID
자격 증명 + 작업 영역 MSI 없음 자격 증명 자격 증명 자격 증명(개인 네트워크에서 데이터 세트 미리 보기에 지원되지 않음) 자격 증명(계정 키 및 공유 액세스 서명 토큰만 해당)
자격 증명 없음 + 작업 영역 MSI 없음 컴퓨팅 MSI/사용자 ID 컴퓨팅 MSI/사용자 ID 사용자 ID 사용자 ID

SDK V1의 경우 작업의 데이터 인증에서는 항상 컴퓨팅 MSI를 사용합니다. SDK V2의 경우 작업의 데이터 인증은 작업 설정에 따라 다릅니다. 이는 사용자 ID일 수도 있고 작업 설정에 따라 MSI를 계산할 수도 있습니다.

예를 들어 Azure Storage Explorer처럼, Machine Learning 외부의 데이터를 액세스하려면 사용자 ID를 사용할 수도 있습니다. 특정 정보는 사용하려는 도구 또는 서비스에 대한 설명서를 참조하세요. Machine Learning이 데이터와 작동하는 방식에 대한 자세한 내용은 Azure Machine Learning과 다른 서비스 간의 인증 설정을 참조하세요.

가상 네트워크 관련 요구 사항

이 정보는 Machine Learning 작업 영역에서 가상 네트워크 뒤에 있는 데이터에 액세스하기 위한 데이터 인증을 설정하는 데 도움이 됩니다.

Machine Learning 작업 영역 관리 ID에 스토리지 계정의 권한 추가

스튜디오에서 스토리지 계정을 사용할 때 데이터 세트 미리 보기를 보려면 데이터 저장소 설정에서 Azure Machine Learning 스튜디오의 데이터 미리 보기 및 프로파일링에 작업 영역 관리 ID 사용을 사용하도록 설정해야 합니다. 그런 다음, 이러한 스토리지 계정 Azure RBAC 역할을 작업 영역 관리 ID에 추가합니다.

  • Blob 데이터 판독기
  • 스토리지 계정이 프라이빗 엔드포인트를 사용하여 가상 네트워크에 연결하는 경우 스토리지 계정 프라이빗 엔드포인트에 대한 읽기 권한자 역할을 관리 ID에 부여해야 합니다.

자세한 내용은 Azure 가상 네트워크에서 Azure Machine Learning 스튜디오 사용을 참조하세요.

이러한 섹션에서는 가상 네트워크에서 작업 영역과 함께 스토리지 계정을 사용할 때의 제한 사항을 설명합니다.

스토리지 계정과의 보안 통신

Machine Learning과 스토리지 계정 간의 통신을 보호하려면 신뢰할 수 있는 Azure 서비스에 대한 액세스 권한을 부여하도록 스토리지를 구성합니다.

Azure Storage 방화벽

가상 네트워크 뒤에 있는 스토리지 계정의 경우 일반적으로 스토리지 방화벽을 사용하면 클라이언트가 인터넷을 통해 직접 연결할 수 있습니다. 그러나 스튜디오를 사용하면 클라이언트가 스토리지 계정에 연결되지 않습니다. 요청을 만드는 Machine Learning Service는 스토리지 계정에 연결합니다. 서비스의 IP 주소는 문서화되지 않으며 자주 변경됩니다. 스토리지 방화벽을 사용하도록 설정하면 스튜디오가 가상 네트워크 구성의 스토리지 계정에 액세스할 수 없습니다.

Azure Storage 엔드포인트 유형

작업 영역에서 프라이빗 엔드포인트를 사용하고 스토리지 계정도 가상 네트워크에 있는 경우 스튜디오를 사용할 때 추가 유효성 검사 요구 사항이 발생합니다.

  • 스토리지 계정이 서비스 엔드포인트를 사용하는 경우 작업 영역 프라이빗 엔드포인트와 스토리지 서비스 엔드포인트는 가상 네트워크의 동일한 서브넷에 있어야 합니다.
  • 스토리지 계정이 프라이빗 엔드포인트를 사용하는 경우 작업 영역 프라이빗 엔드포인트와 스토리지 프라이빗 엔드포인트는 동일한 가상 네트워크에 있어야 합니다. 이 경우 서로 다른 서브넷에 있을 수 있습니다.

Azure Data Lake Storage Gen1

Azure Data Lake Storage Gen1을 데이터 저장소로 사용하는 경우 POSIX 스타일 액세스 제어 목록만 사용할 수 있습니다. 다른 보안 주체와 같이 리소스에 작업 영역의 관리 ID 액세스 권한을 할당할 수 있습니다. 자세한 내용은 Azure Data Lake Storage Gen1의 액세스 제어를 참조하세요.

Azure Data Lake Storage Gen2

Azure Data Lake Storage Gen2를 데이터 저장소로 사용하는 경우 Azure RBAC 및 POSIX 스타일 ACL(액세스 제어 목록)을 모두 사용하여 가상 네트워크 내부의 데이터 액세스를 제어할 수 있습니다.

다음 단계

네트워크에서 스튜디오를 사용하도록 설정하는 방법에 대한 자세한 내용은 Azure Virtual Network에서 Azure Machine Learning 스튜디오 사용을 참조하세요.