미사용 고객 관리형 키 구성
Important
Azure API for FHIR은 2026년 9월 30일에 사용 중지됩니다. 해당 날짜까지 마이그레이션 전략에 따라 Azure Health Data Services FHIR® 서비스로 전환합니다. Azure API for FHIR의 사용 중지로 인해 2025년 4월 1일부터 신규 배포가 허용되지 않습니다. Azure Health Data Services FHIR 서비스는 고객이 다른 Azure 서비스에 통합하여 FHIR, DICOM 및 MedTech 서비스를 관리할 수 있도록 하는 Azure API for FHIR의 진화된 버전입니다.
새 Azure API for FHIR® 계정을 만들면 기본적으로 Microsoft 관리형 키를 사용하여 데이터가 암호화됩니다. 이제 직접 선택하고 관리하는 키를 사용하여 데이터에 대한 두 번째 암호화 계층을 추가할 수 있습니다.
Azure에서 이는 일반적으로 고객의 Azure Key Vault에 있는 암호화 키를 사용하여 수행됩니다. Azure SQL, Azure Storage 및 Azure Cosmos DB는 이 기능을 제공하는 몇 가지 예입니다. Azure API for FHIR은 Azure Cosmos DB에서 이 지원을 활용합니다. 계정을 만들 때 Azure Key Vault 키 URI를 지정하는 옵션이 제공됩니다. 이 키는 DB 계정이 프로비전될 때 Azure Cosmos DB로 전달됩니다. FHIR(전자 의료 기록 교환) 요청이 이루어지면 Azure Cosmos DB는 키를 가져와 데이터를 암호화/암호 해독하는 데 사용합니다.
시작하려면 다음 링크를 참조하세요.
- Azure 구독에 대한 Azure Cosmos DB 리소스 공급자 등록
- Azure Key Vault 인스턴스 구성
- Azure Key Vault 인스턴스에 액세스 정책 추가
- Azure Key Vault에서 키 생성
Azure Portal 사용
Azure Portal에서 Azure API for FHIR 계정을 만들 때 추가 설정 탭의 데이터베이스 설정 아래에 데이터 암호화 구성 옵션이 표시됩니다. 기본적으로 서비스 관리형 키 옵션이 선택되어 있습니다.
Important
데이터 암호화 옵션은 Azure API for FHIR이 생성된 경우에만 사용할 수 있으며 나중에 변경할 수 없습니다. 그러나 고객 관리형 키 옵션이 선택된 경우 암호화 키를 보고 업데이트할 수 있습니다.
KeyPicker에서 키를 선택할 수 있습니다.
고객 관리형 키 옵션을 선택하여 여기에서 Azure Key Vault 키를 지정할 수도 있습니다.
다음과 같이 키 URI를 입력할 수도 있습니다.
Important
Azure Key Vault에 대한 모든 권한이 적절하게 설정되었는지 확인합니다. 자세한 내용은 Azure Key Vault 인스턴스에 액세스 정책 추가를 참조하세요. 또한 Key Vault의 속성에서 일시 삭제가 사용하도록 설정되어 있는지 확인합니다. 이러한 단계를 완료하지 않으면 배포 오류가 발생합니다. 자세한 내용은 키 자격 증명 모음에서 일시 삭제가 사용하도록 설정되어 있는지 확인하고 일시 삭제를 사용하도록 설정을 참조하세요.
참고 항목
브라질 남부, 동아시아 및 동남 아시아 Azure 지역에서 고객 관리형 키를 사용하려면 Microsoft에서 생성한 엔터프라이즈 애플리케이션 ID가 필요합니다. Azure Portal을 통해 일회성 지원 티켓을 만들어 엔터프라이즈 애플리케이션 ID를 요청할 수 있습니다. 애플리케이션 ID를 받은 후 애플리케이션 등록 지침을 따릅니다.
기존 FHIR 계정의 경우 다음과 같이 데이터베이스 블레이드에서 키 암호화 선택(서비스 관리형 키 또는 고객 관리형 키)을 볼 수 있습니다. 구성 옵션을 선택한 후에는 수정할 수 없습니다. 그러나 키는 수정하고 업데이트할 수 있습니다.
또한 지정된 키의 새 버전을 만들 수 있습니다. 그러면 서비스 중단 없이 데이터가 새 버전을 통해 암호화됩니다. 키에 대한 액세스를 제거하여 데이터에 대한 액세스를 제거할 수도 있습니다. 키가 비활성화되면 쿼리에 오류가 발생합니다. 키가 다시 활성화되면 쿼리는 다시 성공합니다.
Azure PowerShell 사용
Azure Key Vault 키 URI를 사용하면 다음 PowerShell 명령을 실행하여 PowerShell을 통해 CMK를 구성할 수 있습니다.
New-AzHealthcareApisService
-Name "myService"
-Kind "fhir-R4"
-ResourceGroupName "myResourceGroup"
-Location "westus2"
-CosmosKeyVaultKeyUri "https://<my-vault>.vault.azure.net/keys/<my-key>"
Azure CLI 사용
PowerShell 메서드와 마찬가지로 key-vault-key-uri
매개 변수 아래에 Azure Key Vault 키 URI를 전달하고 다음 CLI 명령을 실행하여 CMK를 구성할 수 있습니다.
az healthcareapis service create
--resource-group "myResourceGroup"
--resource-name "myResourceName"
--kind "fhir-R4"
--location "westus2"
--cosmos-db-configuration key-vault-key-uri="https://<my-vault>.vault.azure.net/keys/<my-key>"
Azure Resource Manager 템플릿 사용
Azure Key Vault 키 URI를 사용하여 속성 개체의 keyVaultKeyUri 속성 아래에 전달하여 CMK를 구성할 수 있습니다.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"services_myService_name": {
"defaultValue": "myService",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.HealthcareApis/services",
"apiVersion": "2020-03-30",
"name": "[parameters('services_myService_name')]",
"location": "westus2",
"kind": "fhir-R4",
"properties": {
"accessPolicies": [],
"cosmosDbConfiguration": {
"offerThroughput": 400,
"keyVaultKeyUri": "https://<my-vault>.vault.azure.net/keys/<my-key>"
},
"authenticationConfiguration": {
"authority": "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47",
"audience": "[concat('https://', parameters('services_myService_name'), '.azurehealthcareapis.com')]",
"smartProxyEnabled": false
},
"corsConfiguration": {
"origins": [],
"headers": [],
"methods": [],
"maxAge": 0,
"allowCredentials": false
}
}
}
]
}
다음 PowerShell 스크립트를 사용하여 템플릿을 배포할 수 있습니다.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$accountLocation = "West US 2"
$keyVaultKeyUri = "https://<my-vault>.vault.azure.net/keys/<my-key>"
New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroupName `
-TemplateFile "deploy.json" `
-accountName $accountName `
-location $accountLocation `
-keyVaultKeyUri $keyVaultKeyUri
자주 묻는 질문
FHIR API에서 사용되는 'cosmosdb_key_vault_key_versionless_id'이 FHIR 서비스 관리형 Cosmos DB에 연결하도록 설계되어 있나요?
예, FHIR API에서 고객 관리형 키를 사용하도록 설정하는 경우 'cosmosdb_key_vault_key_versionless_id'을 선택하면 FHIR 서비스 관리형 Cosmos DB에 연결됩니다.
다음 단계
이 문서에서는 Azure Portal, PowerShell, CLI 및 Resource Manager 템플릿을 사용하여 미사용 고객 관리형 키를 구성하는 방법을 알아보았습니다. 자세한 내용은 Azure Cosmos DB FAQ 섹션을 참조하세요.
참고 항목
FHIR®은 HL7의 등록 상표이며, HL7의 사용 허가 하에 사용됩니다.