데이터 관리

데이터 액세스를 관리하는 방법 및 Azure Machine Learning에서 인증하는 방법 알아보기

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

Important

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

자격 증명 기반 데이터 인증

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

  • 자격 증명 기반 데이터 저장소의 데이터에 액세스하는 사용자에게 Microsoft.MachineLearningServices/workspaces/datastores/listsecrets/action이 포함된 RBAC 역할이 할당되었나요?
    • 사용자를 대신하여 데이터 저장소에서 자격 증명을 검색하려면 이 권한이 필요합니다.
  • 저장된 자격 증명(서비스 주체, 계정 키 또는 sas 토큰)이 데이터 리소스에 액세스할 수 있나요?

ID 기반 데이터 인증

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

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

기타 일반 인증 확인

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

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

데이터에 액세스하는 경우의 논리 흐름에 대한 다이어그램.

시나리오 및 ID

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

시나리오 작업영역
MSI(관리 서비스 ID) 사용
사용할 ID
UI에서 액세스 작업 영역 MSI
UI에서 액세스 사용자의 ID
작업에서 액세스 예/아니요 컴퓨팅 MSI
Notebook에서 액세스 예/아니요 사용자의 ID

데이터 액세스는 복잡하며 많은 부분이 관여되어 있습니다. 예를 들어 Azure Machine Learning Studio의 데이터 액세스는 데이터 액세스에 SDK를 사용하는 것과 다릅니다. 로컬 개발 환경에서 SDK를 사용하는 경우 클라우드의 데이터에 직접 액세스하게 됩니다. Studio를 사용하는 경우 항상 클라이언트에서 데이터 저장소에 직접 액세스하게 되는 것은 아닙니다. 스튜디오는 작업 영역을 사용하여 사용자 대신 데이터에 액세스합니다.

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

Azure Storage Account

Azure Machine Learning 스튜디오에서 Azure Storage 계정을 사용하는 경우 스토리지 계정에 대한 다음 Azure RBAC 역할에 작업 영역의 관리 ID를 추가해야 합니다.

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

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

다음 섹션에서는 VNet의 작업 영역에서 Azure Storage 계정을 사용하는 경우 발생하는 제한 사항에 대해 설명합니다.

Azure Storage 계정과의 보안 통신

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

Azure Storage 방화벽

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

Azure Storage 엔드포인트 유형

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

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

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 RBAC를 사용하려면 데이터 저장소: Azure Storage 계정 문서 섹션에서 설명하는 단계를 따릅니다. Data Lake Storage Gen2는 Azure Storage를 기준으로 하므로 Azure RBAC를 사용할 때 동일한 단계가 적용됩니다.

ACL을 사용하려면 다른 보안 원칙과 마찬가지로 작업 영역의 관리 ID에 액세스 권한을 할당하면 됩니다. 자세한 내용은 파일 및 디렉터리에 대한 액세스 제어 목록을 참조하세요.

다음 단계

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