미사용 고객 관리형 키 구성

새 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®(Fast Healthcare Interoperability Resources) 요청이 이루어지면 Azure Cosmos DB는 키를 가져와 데이터를 암호화/암호 해독하는 데 사용합니다.

시작하려면 다음 링크를 참조하세요.

Azure Portal 사용

Azure Portal Azure API for FHIR 계정을 만들 때 추가 설정 탭의 데이터베이스 설정 아래에 데이터 암호화 구성 옵션이 표시됩니다. 기본적으로 서비스 관리형 키 옵션이 선택됩니다.

중요

데이터 암호화 옵션은 Azure API for FHIR을 만든 경우에만 사용할 수 있으며 나중에 변경할 수 없습니다. 그러나 고객 관리 형 키 옵션을 선택한 경우 암호화 키를 보고 업데이트할 수 있습니다.

KeyPicker에서 키를 선택할 수 있습니다.

키 선택기

고객 관리형 키 옵션을 선택하여 여기에서 Azure Key Vault 키를 지정할 수도 있습니다.

여기에서 키 URI를 입력할 수도 있습니다.

Azure API for FHIR 만들기

중요

Azure Key Vault 대한 모든 권한이 적절하게 설정되었는지 확인합니다. 자세한 내용은 Azure Key Vault instance 액세스 정책 추가를 참조하세요. 또한 일시 삭제가 Key Vault 속성에서 사용하도록 설정되어 있는지 확인합니다. 이러한 단계를 완료하지 않으면 배포 오류가 발생합니다. 자세한 내용은 키 자격 증명 모음에서 일시 삭제를 사용할 수 있는지 확인하고 일시 삭제 사용을 참조하세요.

참고

브라질 남부, 동아시아 및 동남 아시아 Azure 지역에서 고객 관리형 키를 사용하려면 Microsoft에서 생성한 엔터프라이즈 애플리케이션 ID가 필요합니다. Azure Portal 통해 일회성 지원 티켓을 만들어 엔터프라이즈 애플리케이션 ID를 요청할 수 있습니다. 애플리케이션 ID를 받은 후 지침에 따라 애플리케이션을 등록합니다.

기존 FHIR 계정의 경우 아래와 같이 데이터베이스 블레이드에서 키 암호화 선택(서비스 관리형 키 또는 고객 관리형 키)을 볼 수 있습니다. 구성 옵션을 선택한 후에는 수정할 수 없습니다. 그러나 키는 수정하고 업데이트할 수 있습니다.

Database

또한 지정된 키의 새 버전을 만들 수 있습니다. 그러면 서비스 중단 없이 데이터가 새 버전을 통해 암호화됩니다. 키에 대한 액세스를 제거하여 데이터에 대한 액세스를 제거할 수도 있습니다. 키가 비활성화되면 쿼리에 오류가 발생합니다. 키가 다시 활성화되면 쿼리는 다시 성공합니다.

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

다음 단계

이 문서에서는 Azure Portal, PowerShell, CLI 및 Resource Manager 템플릿을 사용하여 미사용 고객 관리형 키를 구성하는 방법을 알아보았습니다. 자세한 내용은 Azure Cosmos DB FAQ 섹션을 참조하세요.

FHIR®은 HL7의 등록 상표이며 HL7 의 권한으로 사용됩니다.