Настройка хранимых ключей, управляемых клиентом
При создании учетной записи Azure API для FHIR данные шифруются по умолчанию с помощью ключей, управляемых Майкрософт. Теперь можно добавить второй уровень шифрования данных, используя собственный ключ, который вы выбираете и которым управляете.
В Azure это обычно выполняется с помощью ключа шифрования в Azure Key Vault клиента. Azure SQL, служба хранилища Azure и Azure Cosmos DB — это некоторые примеры, которые предоставляют эту возможность на сегодняшний день. Azure API для FHIR использует эту поддержку из Azure Cosmos DB. При создании учетной записи у вас будет возможность указать универсальный код ресурса (URI) ключа Key Vault Azure. Этот ключ будет передан в 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:
Вы также можете указать ключ Key Vault Azure, выбрав параметр Ключ, управляемый клиентом.
Здесь также можно ввести универсальный код ресурса (URI) ключа:
Важно!
Убедитесь, что все разрешения для Key Vault Azure настроены соответствующим образом. Дополнительные сведения см. в статье Добавление политики доступа к экземпляру Azure Key Vault. Кроме того, убедитесь, что обратимое удаление включено в свойствах Key Vault. Если не выполнить эти действия, произойдет ошибка развертывания. Дополнительные сведения см. в разделе Проверка включения обратимого удаления в хранилище ключей и включение обратимого удаления.
Примечание
Для использования ключей, управляемых клиентом, в регионах Azure "Южная Бразилия", "Восточная Азия" и "Юго-Восточная Азия", требуется идентификатор корпоративного приложения, созданный корпорацией Майкрософт. Вы можете запросить идентификатор корпоративного приложения, создав одноразовый запрос в службу поддержки через портал Azure. Получив идентификатор приложения, следуйте инструкциям по регистрации приложения.
Для существующих учетных записей FHIR можно просмотреть вариант шифрования ключа (ключ, управляемый службой или ключ, управляемый клиентом) в колонке База данных , как показано ниже. Параметр конфигурации нельзя изменить после его выбора. Однако можно изменить и обновить ключ.
Кроме того, можно создать версию указанного ключа, после чего данные будут зашифрованы с помощью новой версии без прерывания работы служб. Вы также можете удалить доступ к ключу, чтобы удалить доступ к данным. Если ключ отключен, запросы будут вызывать ошибку. Если ключ снова включен, запросы будут выполняться успешно.
Использование Azure PowerShell
Используя URI ключа Azure Key Vault, можно настроить управляемый клиентом ключ с помощью 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, вы можете настроить управляемые клиентом ключи, передав 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
Следующие шаги
Из этой статьи вы узнали, как настроить неактивные ключи, управляемые клиентом, с помощью портал Azure, PowerShell, CLI и шаблона Resource Manager. Дополнительные сведения см. в разделе Часто задаваемых вопросов об Azure Cosmos DB.
FHIR® является зарегистрированным товарным знаком HL7 и используется с разрешения HL7.