Настройка хранимых ключей, управляемых клиентом
Внимание
Поддержка Azure API для FHIR будет прекращена 30 сентября 2026 г. Следуйте стратегиям миграции, чтобы перейти в службу FHIR® служб azure Health Data Services к этой дате. Из-за прекращения поддержки Azure API для FHIR с 1 апреля 2025 г. новые развертывания будут невозможны. Служба FHIR служб работоспособности Azure — это развивающаяся версия Azure API для FHIR, которая позволяет клиентам управлять службами FHIR, DICOM и MedTech с интеграцией с другими службами Azure.
При создании новой учетной записи API Azure для FHIR® данные шифруются с помощью ключей, управляемых Корпорацией Майкрософт, по умолчанию. Теперь вы можете добавить второй уровень шифрования для данных с помощью ключа, который вы выбираете и управляете собой.
В Azure это обычно выполняется с помощью ключа шифрования в Azure Key Vault клиента. Azure SQL, служба хранилища Azure и Azure Cosmos DB — это некоторые примеры, которые предоставляют эту возможность. Azure API для FHIR использует эту поддержку из Azure Cosmos DB. При создании учетной записи у вас будет возможность указать универсальный код ресурса (URI) ключа Azure Key Vault. Этот ключ передается в Azure Cosmos DB при подготовке учетной записи базы данных. Когда выполняется запрос ресурсов быстрого взаимодействия с здравоохранением (FHIR), Azure Cosmos DB извлекает ключ и использует его для шифрования и расшифровки данных.
Чтобы приступить к работе, ознакомьтесь со следующими ссылками:
- Регистрация поставщика ресурсов Azure Cosmos DB в своей подписке Azure
- Настройка экземпляра Azure Key Vault
- Добавление политики доступа в экземпляр Azure Key Vault
- Создание ключа в Azure Key Vault
Используя портал Azure
При создании учетной записи Azure API для FHIR на портал Azure вы заметите параметр конфигурации шифрования данных в разделе "Параметры базы данных" на вкладке "Дополнительные параметры". По умолчанию выбран параметр ключа, управляемого службой.
Внимание
Параметр шифрования данных доступен только после создания API Azure для FHIR. Однако можно просмотреть и обновить ключ шифрования, если выбран параметр ключа, управляемого клиентом.
Вы также можете выбрать свой ключ из KeyPicker:
Вы также можете указать ключ Azure Key Vault здесь, выбрав параметр ключа , управляемый клиентом.
Вы также можете ввести универсальный код ресурса (URI) ключа, как показано в следующем примере.
Внимание
Убедитесь, что все разрешения для Azure Key Vault заданы соответствующим образом. Дополнительные сведения см. в статье "Добавление политики доступа к экземпляру Azure Key Vault". Кроме того, убедитесь, что обратимое удаление включено в свойствах Key Vault. Выполнение этих действий приведет к ошибке развертывания. Дополнительные сведения см. в статье "Проверка включения обратимого удаления" в хранилище ключей и включение обратимого удаления.
Примечание.
Для использования ключей, управляемых клиентом, в регионах Южной Бразилии, Восточной Азии и Юго-Восточной Азии Azure требуется идентификатор корпоративного приложения, созданный корпорацией Майкрософт. Вы можете запросить идентификатор корпоративного приложения, создав однократный запрос в службу поддержки через портал Azure. Получив идентификатор приложения, следуйте инструкциям по регистрации приложения.
Для существующих учетных записей FHIR можно просмотреть выбор шифрования ключей (управляемый службой ключ или ключ, управляемый клиентом) в колонке базы данных следующим образом. Параметр конфигурации нельзя изменить после выбора. Однако можно изменить и обновить ключ.
Кроме того, можно создать новую версию указанного ключа, после чего данные шифруются с новой версией без прерывания работы службы. Вы также можете удалить доступ к ключу, чтобы удалить доступ к данным. Если ключ отключен, запросы будут вызывать ошибку. Если ключ снова включен, запросы будут выполняться успешно.
Использование Azure PowerShell
С помощью URI ключа Azure Key Vault можно настроить CMK с помощью PowerShell, выполнив следующую команду PowerShell.
New-AzHealthcareApisService
-Name "myService"
-Kind "fhir-R4"
-ResourceGroupName "myResourceGroup"
-Location "westus2"
-CosmosKeyVaultKeyUri "https://<my-vault>.vault.azure.net/keys/<my-key>"
Использование Azure CLI
Как и в случае с методом PowerShell, можно настроить CMK, передав URI ключа Azure Key Vault в key-vault-key-uri
параметре и выполнив следующую команду CLI.
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
С помощью URI ключа Azure Key Vault вы можете настроить управляемый клиентом ключ, передав его в свойстве keyVaultKeyUri в объекте properties.
{
"$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
Часто задаваемые вопросы
Используется ли cosmosdb_key_vault_key_versionless_id в API FHIR, предназначенном для подключения к службе FHIR, управляемой Cosmos DB?
Да, если вы включаете ключи, управляемые клиентом, в API FHIR, выбор подключения "cosmosdb_key_vault_key_versionless_id" к службе FHIR, управляемой Cosmos DB.
Следующие шаги
Из этой статьи вы узнали, как настроить неактивные ключи, управляемые клиентом, с помощью шаблона портал Azure, PowerShell, CLI и Resource Manager. Дополнительные сведения см. в разделе часто задаваемых вопросов о Azure Cosmos DB.
Примечание.
FHIR® является зарегистрированным товарным знаком HL7 и используется с разрешением HL7 .