Azure Machine Learning을 사용하여 데이터 암호화

Azure Machine Learning은 모델을 학습하고 유추를 수행할 때 다양한 Azure 데이터 스토리지 서비스 및 컴퓨팅 리소스를 사용합니다. 이 문서에서는 미사용 서비스와 전송 중인 각 서비스의 데이터 암호화에 대해 알아봅니다.

학습 중의 프로덕션 등급 암호화의 경우 Azure Machine Learning 컴퓨팅 클러스터를 사용하는 것이 좋습니다. 유추 중 프로덕션 등급 암호화의 경우 AKS(Azure Kubernetes Service)를 사용하는 것이 좋습니다.

Azure Machine Learning 컴퓨팅 인스턴스는 개발/테스트 환경입니다. 이를 사용하는 경우 파일 공유에 Notebook 및 스크립트와 같은 파일을 저장하는 것이 좋습니다. 데이터는 데이터 저장소에 저장합니다.

미사용 데이터 암호화

Azure Machine Learning 엔드투엔드 프로젝트는 Azure Blob Storage, Azure Cosmos DB 및 Azure SQL Database와 같은 서비스와 통합됩니다. 이 문서에서는 이러한 서비스에 대한 암호화 방법을 설명합니다.

Azure Blob Storage

Azure Machine Learning은 Azure Machine Learning 작업 영역 및 구독과 연결된 Azure Blob Storage 계정(기본 스토리지 계정)에 스냅샷, 출력 및 로그를 저장합니다. Azure Blob Storage에 저장된 모든 데이터는 Microsoft 관리형 키를 사용하여 미사용 상태에서 암호화됩니다.

Azure Blob Storage에 저장된 데이터에 자체 키를 사용하는 방법에 대한 자세한 내용은 Azure Key Vault에서 고객 관리형 키를 사용하여 Azure Storage 암호화를 참조하세요.

일반적으로 학습 데이터는 학습 컴퓨팅 대상에서 액세스할 수 있도록 Azure Blob Storage에 저장됩니다. Azure Machine Learning은 이 스토리지를 관리하지 않습니다. 이 스토리지는 원격 파일 시스템으로 컴퓨팅 대상에 탑재됩니다.

키를 순환 또는 철회해야 하는 경우 언제든지 그렇게 할 수 있습니다. 키를 순환하면 스토리지 계정은 새 키(최신 버전)를 사용하여 미사용 데이터를 암호화하기 시작합니다. 키를 철회(사용 안 함)하면 스토리지 계정이 실패 요청을 처리합니다. 순환 또는 철회가 적용되려면 대개 1시간이 걸립니다.

액세스 키 다시 생성에 대한 자세한 내용은 스토리지 액세스 키 다시 생성을 참조하세요.

Azure Data Lake Storage

참고 항목

2024년 2월 29일에 Azure Data Lake Storage Gen1이 사용 중지됩니다. 자세한 내용은 공식 공지를 참조하세요. Azure Data Lake Storage Gen1을 사용하는 경우 해당 날짜 이전에 Azure Data Lake Storage Gen2로 마이그레이션해야 합니다. 방법을 알아보려면 Azure Portal을 사용하여 Azure Data Lake Storage를 Gen1에서 Gen2로 마이그레이션을 참조하세요.

Azure Data Lake Storage Gen1 계정이 아직 없으면 새 계정을 만들 수 없습니다.

Azure Data Lake Storage Gen2는 Azure Blob Storage를 기반으로 하며 엔터프라이즈의 빅 데이터 분석용으로 설계되었습니다. Data Lake Storage Gen2는 Azure Machine Learning의 데이터 저장소로 사용됩니다. Azure Blob Storage와 마찬가지로 미사용 데이터가 Microsoft 관리형 키로 암호화됩니다.

Azure Data Lake Storage에 저장된 데이터에 자체 키를 사용하는 방법에 대한 자세한 내용은 Azure Key Vault에서 고객 관리형 키를 사용하여 Azure Storage 암호화를 참조하세요.

Azure 관계형 데이터베이스

Azure Machine Learning Service는 다음 데이터 원본의 데이터를 지원합니다.

Azure SQL Database

투명한 데이터 암호화는 미사용 데이터를 암호화하여 악의적인 오프라인 활동의 위협으로부터 Azure SQL Database를 보호하는 데 도움이 됩니다. 기본적으로 투명한 데이터 암호화는 Microsoft 관리형 키를 사용하는 새로 배포된 모든 SQL 데이터베이스에 대해 사용하도록 설정됩니다.

투명한 데이터 암호화에 고객 관리형 키를 사용하는 방법에 대한 내용은 Azure SQL Database 투명한 데이터 암호화를 참조하세요.

Azure Database for PostgreSQL

기본적으로 Azure Database for PostgreSQL은 Azure Storage 암호화를 사용하여 Microsoft 관리형 키로 미사용 데이터를 암호화합니다. SQL Server와 같은 다른 데이터베이스의 투명한 데이터 암호화와 유사합니다.

투명한 데이터 암호화에 고객 관리형 키를 사용하는 방법에 대한 자세한 내용은 고객 관리형 키를 사용하여 Azure Database for PostgreSQL 단일 서버 데이터 암호화를 참조하세요.

Azure Database for MySQL

Azure Database for MySQL은 Microsoft 클라우드의 관계형 데이터베이스 서비스입니다. MySQL Community Edition 데이터베이스 엔진을 기반으로 합니다. Azure Database for MySQL 서비스는 미사용 데이터의 Azure Storage 암호화를 위해 FIPS 140-2 유효성 검사 암호화 모듈을 사용합니다.

고객 관리형 키를 사용하여 데이터를 암호화하려면 고객 관리형 키를 사용하는 Azure Database for MySQL 데이터 암호화를 참조하세요.

Azure Cosmos DB

Azure Machine Learning은 Azure Cosmos DB 인스턴스에 메타데이터를 저장합니다. 이 인스턴스는 Azure Machine Learning에서 관리하는 Microsoft 구독과 연결되어 있습니다. Azure Cosmos DB에 저장된 모든 데이터는 Microsoft 관리형 키를 사용하여 미사용 상태에서 암호화됩니다.

사용자 고유의(고객 관리형) 키를 사용하여 Azure Cosmos DB 인스턴스를 암호화하는 경우 Microsoft 관리형 Azure Cosmos DB 인스턴스가 구독에 만들어집니다. 이 인스턴스는 작업 영역에 대한 리소스 그룹과 다른 Microsoft에서 관리되는 리소스 그룹에 만들어집니다. 자세한 내용은 Azure Machine Learning용 고객 관리형 키를 참조하세요.

Azure Container Registry

컨테이너 레지스트리(Azure Container Registry 인스턴스)의 모든 컨테이너 이미지는 미사용 시 암호화됩니다. Azure는 이미지를 저장하기 전에 이미지를 자동으로 암호화하고 Azure Machine Learning이 이미지를 끌어올 때 암호를 해독합니다.

고객 관리형 키를 사용하여 컨테이너 레지스트리를 암호화하려면 작업 영역을 프로비전하는 동안 컨테이너 레지스트리를 만들고 연결해야 합니다. 작업 영역 프로비전 시 생성되는 기본 인스턴스를 암호화할 수 있습니다.

Important

Azure Machine Learning을 사용하려면 컨테이너 레지스트리에서 관리자 계정을 사용하도록 설정해야 합니다. 기본적으로 컨테이너 레지스트리를 만들 때 이 설정은 사용하도록 설정되어 있지 않습니다. 관리자 계정을 사용하도록 설정하는 방법에 대한 자세한 내용은 이 문서의 뒷부분에 있는 관리자 계정을 참조하세요.

작업 영역에 대한 컨테이너 레지스트리를 만든 후에는 삭제하지 마세요. 삭제하면 Azure Machine Learning 작업 영역이 중단됩니다.

기존 컨테이너 레지스트리를 사용하여 작업 영역을 만드는 예는 다음 문서를 참조하세요.

Azure Container Instances

Important

Azure Container Instances에 대한 배포에는 Azure Machine Learning Python SDK 및 CLI v1을 사용합니다.

고객 관리형 키를 사용하여 배포된 Azure Container Instance 리소스를 암호화할 수 있습니다. Container Instances에 사용하는 고객 관리형 키는 작업 영역의 키 자격 증명 모음에 저장할 수 있습니다.

적용 대상:Python SDK azureml v1

Container Instances에 모델을 배포할 때 키를 사용하려면 AciWebservice.deploy_configuration()를 사용하여 새 배포 구성을 만듭니다. 다음 매개 변수를 사용하여 키 정보를 제공합니다.

  • cmk_vault_base_url: 키가 포함된 키 자격 증명 모음의 URL입니다.
  • cmk_key_name: 키의 이름입니다.
  • cmk_key_version: 키 버전입니다.

배포 구성을 만들고 사용하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.

Container Instances에서 고객 관리형 키를 사용하는 방법에 대한 자세한 내용은 배포 데이터 암호화를 참조하세요.

Azure Kubernetes Service

언제든지 고객 관리형 키를 사용하여 배포된 Azure Kubernetes Service 리소스를 암호화할 수 있습니다. 자세한 내용은 Azure Kubernetes Service의 BYOK(Bring Your Own Key)를 참조하세요.

이 프로세스를 통해 Kubernetes 클러스터에서 배포된 가상 머신의 데이터 및 OS 디스크를 모두 암호화할 수 있습니다.

Important

이 프로세스는 AKS 버전 1.17 이상에서만 작동합니다. 2020년 1월 13일에 AKS 1.17에 대한 지원이 Azure Machine Learning에 추가되었습니다.

Machine Learning 컴퓨팅

컴퓨팅 클러스터

Azure Storage에 저장된 각 컴퓨팅 노드의 OS 디스크는 Azure Machine Learning 스토리지 계정에서 Microsoft 관리형 키로 암호화됩니다. 컴퓨팅 대상은 사용 후 삭제되며 대기 중인 작업이 없으면 일반적으로 클러스터가 축소됩니다. 기본 가상 머신의 프로비저닝이 해제되고 OS 디스크가 삭제됩니다.

Azure Disk Encryption은 기본적으로 작업 영역에 대해 사용하도록 설정되지 않습니다. hbi_workspace 매개 변수를 TRUE로 설정하여 작업 영역을 만드는 경우 OS 디스크가 암호화됩니다.

각 가상 머신에는 OS 작업을 위한 로컬 임시 디스크도 있습니다. 필요하면 디스크를 사용하여 학습 데이터를 준비할 수 있습니다. hbi_workspace 매개 변수를 TRUE로 설정하여 작업 영역을 만드는 경우 임시 디스크가 암호화됩니다. 이 환경은 작업 중에만 수명이 지속되며 암호화 지원이 시스템 관리형 키로만 제한됩니다.

관리형 온라인 엔드포인트 및 일괄 처리 엔드포인트는 백 엔드에서 Azure Machine Learning 컴퓨팅을 사용하며 동일한 암호화 메커니즘을 따릅니다.

컴퓨팅 인스턴스

컴퓨팅 인스턴스용 OS 디스크는 Azure Machine Learning 스토리지 계정의 Microsoft 관리형 키로 암호화됩니다. hbi_workspace 매개 변수를 TRUE로 설정하여 작업 영역을 만드는 경우 컴퓨팅 인스턴스의 로컬 OS 및 임시 디스크는 Microsoft 관리형 키로 암호화됩니다. OS 및 임시 디스크에는 고객 관리형 키 암호화가 지원되지 않습니다.

자세한 내용은 Azure Machine Learning용 고객 관리형 키를 참조하세요.

Azure Data Factory

Azure Data Factory 파이프라인은 Azure Machine Learning에 사용할 데이터를 수집합니다. Azure Data Factory는 엔터티 정의 및 진행 중에 캐시된 모든 데이터를 포함하여 미사용 데이터를 암호화합니다. 기본적으로 데이터는 데이터 팩터리에 고유하게 할당된 임의로 생성된 Microsoft 관리형 키를 사용하여 암호화됩니다.

암호화에 고객 관리형 키를 사용하는 방법에 대한 내용은 고객 관리형 키를 사용하여 Azure Data Factory 암호화를 참조하세요.

Azure Databricks

Azure Machine Learning 파이프라인에서 Azure Databricks를 사용할 수 있습니다. 기본적으로 Azure Databricks에서 사용하는 DBFS(Databricks 파일 시스템)는 Microsoft 관리형 키를 통해 암호화됩니다. 고객 관리형 키를 사용하도록 Azure Databricks를 구성하려면 기본(루트) DBFS에서 고객 관리형 키 구성을 참조하세요.

Microsoft에서 생성된 데이터

Azure Machine Learning과 같은 서비스를 사용하는 경우 Microsoft는 여러 모델을 학습하기 위해 일시적인 사전 처리된 데이터를 생성할 수 있습니다. 이런 데이터는 사용자 작업 영역의 데이터 저장소에 저장되므로 액세스 제어 및 암호화를 적절하게 적용할 수 있습니다.

배포된 엔드포인트에서 Application Insights로 기록된 진단 정보를 암호화할 수도 있습니다.

전송 중 암호화

Azure Machine Learning은 TLS(전송 계층 보안)를 사용하여 다양한 Azure Machine Learning 마이크로 서비스 간의 내부 통신을 보호합니다. 모든 Azure Storage 액세스는 보안 채널을 통해 수행됩니다.

채점 엔드포인트에 대한 외부 호출을 보호하기 위해 Azure Machine Learning은 TLS를 사용합니다. 자세한 내용은 TLS를 사용하여 Azure Machine Learning을 통해 웹 서비스 보호를 참조하세요.

데이터 수집 및 처리

진단 목적으로 Microsoft는 사용자를 식별하지 않는 정보를 수집할 수 있습니다. 예를 들어 Microsoft는 리소스 이름(예: 데이터 세트 이름 또는 기계 학습 실험 이름) 또는 작업 환경 변수를 수집할 수 있습니다. 이러한 모든 데이터는 Microsoft 소유 구독에서 호스트되는 스토리지에 Microsoft 관리형 키를 통해 저장됩니다. 스토리지는 Microsoft의 표준 개인정보처리방침 및 데이터 처리 표준을 따릅니다. 이 데이터는 작업 영역과 동일한 지역 내에 유지됩니다.

환경 변수에 중요한 정보(예: 계정 키 비밀)를 저장하지 않는 것이 좋습니다. Microsoft는 환경 변수를 기록, 암호화 및 저장합니다. 마찬가지로 작업 이름을 지정할 때 사용자 이름이나 비밀 프로젝트 이름과 같은 중요한 정보를 포함하지 마세요. 이 정보는 Microsoft 지원 엔지니어가 액세스할 수 있는 원격 분석 로그에 표시될 수 있습니다.

작업 영역을 프로비전하는 동안 hbi_workspace 매개 변수를 TRUE로 설정하여 진단 데이터 컬렉션에서 옵트아웃할 수 있습니다. 이 기능은 Azure Machine Learning Python SDK, Azure CLI, REST API 또는 Azure Resource Manager 템플릿을 사용할 때 지원됩니다.

Azure Key Vault의 자격 증명 스토리지

Azure Machine Learning은 작업 영역과 연결된 Azure Key Vault 인스턴스를 사용하여 다양한 종류의 자격 증명을 저장합니다.

  • 스토리지 계정에 대한 관련 연결 문자열
  • Azure Container Registry 인스턴스에 대한 암호
  • 데이터 저장소에 대한 연결 문자열

Azure HDInsight 및 가상 머신과 같은 컴퓨팅 대상에 대한 SSH(Secure Shell) 암호 및 키는 Microsoft 구독과 연결된 별도의 키 자격 증명 모음에 저장됩니다. Azure Machine Learning에는 사용자가 제공한 암호나 키가 저장되지 않습니다. 대신 자체 SSH 키를 생성하고, 권한을 부여하고, 저장한 후 실험을 실행할 가상 머신 및 HDInsight에 연결합니다.

각 작업 영역에는 작업 영역과 이름이 동일하며 연결되어 있는 시스템이 할당한 관리 ID가 있습니다. 관리 ID는 키 자격 증명 모음의 모든 키, 비밀 및 인증서에 액세스할 수 있습니다.

다음 단계