Azure Machine Learning에서 고객 관리형 키 사용
고객 관리형 키 개념 문서에서는 Azure Machine Learning에서 제공하는 암호화 기능에 대해 알아보았습니다. 지금 Azure Machine Learning에서 고객 관리형 키를 사용하는 방법을 알아보세요.
Azure Machine Learning은 고객 관리형 키를 사용하는 다음 서비스를 사용합니다.
서비스 | 사용 대상 |
---|---|
Azure Cosmos DB | Azure Machine Learning에 대한 메타데이터를 저장합니다. |
Azure AI 검색 | Azure Machine Learning에 대한 작업 영역 메타데이터를 저장합니다. |
Azure Storage | Azure Machine Learning에 대한 작업 영역 메타데이터를 저장합니다. |
Azure Kubernetes Service | 학습된 모델을 유추 엔드포인트로 호스트 |
동일한 키를 사용하여 Azure Cosmos DB, Azure AI Search 및 Azure Storage를 보호합니다. Azure Kubernetes Service에 서로 다른 키를 사용할 수 있습니다.
Azure Cosmos DB, Azure AI Search 및 Azure Storage에서 고객 관리형 키를 사용하는 경우 작업 영역을 만들 때 키가 제공됩니다. Azure Kubernetes Service에서 사용하는 키는 해당 리소스를 구성할 때 제공됩니다.
서비스 | 사용 대상 |
---|---|
Azure Cosmos DB | Azure Machine Learning에 대한 메타데이터를 저장합니다. |
Azure AI 검색 | Azure Machine Learning에 대한 작업 영역 메타데이터를 저장합니다. |
Azure Storage | Azure Machine Learning에 대한 작업 영역 메타데이터를 저장합니다. |
Azure Kubernetes Service | 학습된 모델을 유추 엔드포인트로 호스트 |
Azure Container Instances | 학습된 모델을 유추 엔드포인트로 호스트 |
동일한 키를 사용하여 Azure Cosmos DB, Azure AI Search 및 Azure Storage를 보호합니다. Azure Kubernetes Service와 Azure Container Instances에 서로 다른 키를 사용할 수 있습니다.
Azure Cosmos DB, Azure AI Search 및 Azure Storage에서 고객 관리형 키를 사용하는 경우 작업 영역을 만들 때 키가 제공됩니다. Azure Container Instances 및 Azure Kubernetes Service에서 사용하는 키는 해당 리소스를 구성할 때 제공됩니다.
필수 구성 요소
Azure 구독
다음 Azure 리소스 공급자를 등록해야 합니다.
리소스 공급자 필요한 이유 Microsoft.MachineLearningServices Azure Machine Learning 작업 영역을 만듭니다. Microsoft.Storage 스토리지 계정은 작업 영역의 기본 스토리지로 사용됩니다. Microsoft.KeyVault Azure Key Vault는 작업 영역에서 비밀을 저장하는 데 사용됩니다. Microsoft.DocumentDB 작업 영역의 메타데이터를 기록하는 Azure Cosmos DB 인스턴스입니다. Microsoft.Search Azure AI Search는 작업 영역에 대한 인덱싱 기능을 제공합니다. 리소스 공급자 등록에 대한 자세한 내용은 리소스 공급자 등록 오류 해결을 참조하세요.
제한 사항
- 작업 영역을 만든 후에는 작업 영역이 종속된 리소스에 대한 고객 관리형 암호화 키를 원래 Azure Key Vault 리소스의 다른 키로만 업데이트할 수 있습니다.
- 구독에서 Microsoft가 관리하는 리소스는 소유권을 이전할 수 없습니다.
- 작업 영역도 삭제해야 고객 관리형 키에 사용되는 Microsoft 관리형 리소스를 삭제할 수 있습니다.
- 고객 관리형 키가 포함된 키 자격 증명 모음은 Azure Machine Learning 작업 영역과 동일한 Azure 구독에 있어야 합니다.
- 기계 학습 컴퓨팅의 OS 디스크는 고객 관리형 키로 암호화할 수 없지만
hbi_workspace
매개 변수가TRUE
로 설정된 작업 영역을 만든 경우 Microsoft 관리형 키로 암호화할 수 있습니다. 자세한 내용은 데이터 암호화를 참조하세요.
Important
고객 관리형 키를 사용하는 경우 구독의 추가 리소스로 인해 구독 비용이 증가합니다. 비용을 예측하려면 Azure 가격 계산기를 사용합니다.
Azure Key Vault 생성
키 자격 증명 모음을 만들려면 키 자격 증명 모음 만들기를 참조하세요. Azure Key Vault를 만드는 경우 일시 삭제 및 제거 보호를 사용하도록 설정해야 합니다.
Important
키 자격 증명 모음은 Azure Machine Learning 작업 영역을 포함할 동일한 Azure 구독에 있어야 합니다.
키 만들기
팁
키를 만드는 데 문제가 있는 경우 구독에 적용된 Azure 역할 기반 액세스 제어 때문일 수 있습니다. 키를 만드는 데 사용하는 보안 주체(사용자, 관리 ID, 서비스 주체 등)에게 키 자격 증명 모음 인스턴스에 대한 기여자 역할이 할당되었는지 확인합니다. 또한 보안 주체에 만들기, 가져오기, 삭제 및 제거 권한을 부여하는 액세스 정책을 키 자격 증명 모음에 구성해야 합니다.
작업 영역에 대해 사용자 할당 관리 ID를 사용하려는 경우 관리 ID에도 이러한 역할 및 액세스 정책을 할당해야 합니다.
자세한 내용은 다음 문서를 참조하세요.
Azure Portal에서 키 자격 증명 모음 인스턴스를 선택합니다. 그런 다음, 왼쪽에서 키를 선택합니다.
페이지 위쪽에서 + 생성/가져오기를 선택합니다. 다음 값을 사용하여 키를 만듭니다.
- 옵션을 생성으로 설정합니다.
- 키의 이름을 입력합니다. 이름은 계획된 용도를 식별하는 것이어야 합니다. 예:
my-cosmos-key
. - 키 유형을 RSA로 설정합니다.
- RSA 키 크기로 3072 이상을 선택하는 것이 좋습니다.
- 사용을 예로 설정된 상태로 둡니다.
필요에 따라 활성화 날짜, 만료 날짜 및 태그를 설정할 수 있습니다.
만들기를 선택하여 키를 만듭니다.
Azure Cosmos DB가 키에 액세스하도록 허용
- 키 자격 증명 모음을 구성하려면 Azure Portal에서 키 자격 증명 모음을 선택한 다음, 왼쪽 메뉴에서 액세스 정책을 선택합니다.
- Azure Cosmos DB에 대한 권한을 만들려면 페이지 맨 위에서 + 만들기를 선택합니다. 키 권한에서 가져오기, 키 래핑 및 키 래핑 해제 권한을 선택합니다.
- 보안 주체에서 Azure Cosmos DB를 검색한 다음, 선택합니다. 이 항목의 주체 ID는 Azure Government 이외의 모든 지역에 대한
a232010e-820c-4083-83bb-3ace5fc29d0b
입니다. Azure Government의 보안 주체 ID는57506a73-e302-42a9-b869-6f12d9ec29e9
입니다. - 검토 + 만들기를 선택한 후 만들기를 선택합니다.
고객 관리형 키를 사용하는 작업 영역 만들기
Azure Machine Learning 작업 영역을 만듭니다. 작업 영역을 만들 때 Azure Key Vault 및 키를 선택해야 합니다. 작업 영역을 만드는 방법에 따라 다양한 방법으로 이러한 리소스를 지정합니다.
Warning
고객 관리형 키가 포함된 키 자격 증명 모음은 작업 영역과 동일한 Azure 구독에 있어야 합니다.
Azure Portal: 작업 영역을 구성할 때 드롭다운 입력 상자에서 키 자격 증명 모음 및 키를 선택합니다.
SDK, REST API 및 Azure Resource Manager 템플릿: 키 자격 증명 모음의 Azure Resource Manager ID 및 키의 URL을 제공합니다. 이러한 값을 얻으려면 Azure CLI 및 다음 명령을 사용합니다.
# Replace `mykv` with your key vault name. # Replace `mykey` with the name of your key. # Get the Azure Resource Manager ID of the key vault az keyvault show --name mykv --query id # Get the URL for the key az keyvault key show --vault-name mykv -n mykey --query key.kid
키 자격 증명 모음 ID 값은
/subscriptions/{GUID}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/mykv
와 유사합니다. 키의 URL은https://mykv.vault.azure.net/keys/mykey/{GUID}
와 유사합니다.
고객 관리형 키를 사용하여 작업 영역을 만드는 예제는 다음 문서를 참조하세요.
생성 방법 | 문서 |
---|---|
CLI | Azure CLI를 사용하여 작업 영역 만들기 |
Azure Portal/ Python SDK |
작업 영역 만들기 및 관리 |
Azure Resource Manager 템플릿 |
템플릿을 사용하여 작업 영역 만들기 |
REST API | REST를 사용하여 Azure Machine Learning 리소스 만들기, 실행 및 삭제 |
작업 영역이 생성된 후 Azure 리소스 그룹이 구독에 만들어지는 것을 볼 수 있습니다. 이 그룹은 작업 영역의 리소스 그룹에 추가로 생성됩니다. 이 리소스 그룹에는 고객 키가 사용된 Microsoft 관리형 리소스가 포함됩니다. 리소스 그룹의 이름은 <Azure Machine Learning workspace resource group name><GUID>
수식을 사용하여 지정됩니다. 여기에는 Azure Cosmos DB 인스턴스, Azure Storage 계정 및 Azure AI Search가 포함됩니다.
팁
- Azure Cosmos DB 인스턴스에 대한 요청 단위는 필요에 따라 자동으로 스케일링됩니다.
- Azure Machine Learning 작업 영역에서 프라이빗 엔드포인트를 사용하는 경우 이 리소스 그룹에는 Microsoft 관리형 Azure Virtual Network도 포함됩니다. 이 VNet은 관리형 서비스와 작업 영역 간 통신을 보호하는 데 사용됩니다. 고유한 VNet을 Microsoft 관리형 리소스에 사용하도록 제공할 수 없습니다. 가상 네트워크를 수정할 수도 없습니다. 예를 들어 사용하는 IP 주소 범위를 변경할 수 없습니다.
Important
구독에 서비스 할당량이 충분하지 않으면 오류가 발생합니다.
Warning
Azure Cosmos DB 인스턴스가 포함된 리소스 그룹 또는 이 그룹에 자동으로 생성된 리소스는 삭제하지 마세요. 리소스 그룹 또는 이 그룹에 있는 Microsoft 관리형 서비스를 삭제해야 하는 경우 리소스 그룹을 사용하는 Azure Machine Learning 작업 영역을 삭제해야 합니다. 관련 작업 영역을 삭제하면 리소스 그룹 리소스가 삭제됩니다.
Azure Cosmos DB의 고객 관리형 키에 대한 자세한 내용은 Azure Cosmos DB 계정에 대한 고객 관리형 키 구성을 참조하세요.
Azure Container Instance
Important
SDK 또는 CLI v2에서는 Azure Container Instances에 배포할 수 없습니다. SDK 및 CLI v1을 통해서만 가능합니다.
ACI(Azure Container Instance)에 학습된 모델을 배포할 때 고객 관리형 키를 사용하여 배포된 리소스를 암호화할 수 있습니다. 키 생성에 대한 자세한 내용은 고객 관리형 키를 사용하여 데이터 암호화를 참조하세요.
Azure Container Instance에 모델을 배포할 때 키를 사용하려면 AciWebservice.deploy_configuration()
을 사용하여 새 배포 구성을 만듭니다. 다음 매개 변수를 사용하여 키 정보를 제공합니다.
cmk_vault_base_url
: 키가 포함된 키 자격 증명 모음의 URL입니다.cmk_key_name
: 키의 이름입니다.cmk_key_version
: 키의 버전입니다.
배포 구성을 만들고 사용하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.
Azure Container Instances(SDK/CLI v1)에 모델 배포
ACI에서 고객 관리형 키를 사용하는 방법에 대한 자세한 내용은 배포 데이터 암호화를 참조하세요.
Azure Kubernetes Service
언제든지 고객 관리형 키를 사용하여 배포된 Azure Kubernetes Service 리소스를 암호화할 수 있습니다. 자세한 내용은 Azure Kubernetes Service의 BYOK(Bring Your Own Key)를 참조하세요.
이 프로세스를 통해 Kubernetes 클러스터에서 배포된 가상 머신의 데이터 및 OS 디스크를 모두 암호화할 수 있습니다.
Important
이 프로세스는 AKS K8 버전 1.17 이상에서만 작동합니다.