Поделиться через


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

Внимание

Поддержка 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

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

Внимание

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

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

KeyPicker

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

Вы также можете ввести универсальный код ресурса (URI) ключа, как показано в следующем примере.

Создать Azure API для FHIR

Внимание

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