Настройка хранимых ключей, управляемых клиентом

При создании учетной записи 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

При создании учетной записи Azure API для FHIR на портал Azure вы увидите параметр конфигурации шифрования данных в разделе Параметры базы данных на вкладке Дополнительные параметры. По умолчанию будет выбран параметр ключ, управляемый службой.

Важно!

Параметр шифрования данных доступен только при создании API Azure для FHIR и не может быть изменен после этого. Однако вы можете просмотреть и обновить ключ шифрования, если выбран параметр Ключ, управляемый клиентом .

Вы также можете выбрать свой ключ из KeyPicker:

KeyPicker

Вы также можете указать ключ Key Vault Azure, выбрав параметр Ключ, управляемый клиентом.

Здесь также можно ввести универсальный код ресурса (URI) ключа:

Создание Azure API для FHIR

Важно!

Убедитесь, что все разрешения для 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.