Configuración de claves administradas por el cliente en reposo
Importante
Azure API for FHIR se retirará el 30 de septiembre de 2026. Siga las estrategias de migración para realizar la transición a servicio FHIR® de Azure Health Data Services en esa fecha. Debido a la retirada de Azure API for FHIR, no se permitirán nuevas implementaciones a partir del 1 de abril de 2025. El servicio FHIR de Azure Health Data Services es la versión evolucionada de la API de Azure para FHIR que permite a los clientes administrar FHIR, DICOM y los servicios de tecnologías médicas con integraciones en otros servicios de Azure.
Cuando crea una cuenta de Azure API for FHIR®, de forma predeterminada, los datos se cifran mediante claves administradas por Microsoft. Ahora, puede agregar una segunda capa de cifrado de datos mediante una clave que usted mismo elige y administra.
En Azure, para hacerlo se suele utilizar una clave de cifrado en la instancia de Azure Key Vault del cliente. Azure SQL, Azure Storage y Azure Cosmos DB son algunos ejemplos que proporcionan esta funcionalidad. Azure API for FHIR aprovecha esta compatibilidad con Azure Cosmos DB. Al crear una cuenta, tiene la opción de especificar el identificador URI de una clave de Azure Key Vault. Esta clave se pasará a Azure Cosmos DB al aprovisionar la cuenta de la base de datos. Cuando se hace una solicitud Recursos Rápidos de Interoperabilidad en Salud (FHIR), Azure Cosmos DB captura tu clave y la usa para cifrar o descifrar los datos.
Para empezar, consultar los vínculos siguientes:
- Registro del proveedor de recursos de Azure Cosmos DB para su suscripción a Azure
- Configuración de la instancia de Azure Key Vault
- Adición de una directiva de acceso a una instancia de Azure Key Vault
- Generación de una clave en Azure Key Vault
Uso de Azure Portal
Al crear una cuenta de Azure API for FHIR en Azure Portal, puede ver la opción de configuración Cifrado de datos en la sección Configuración de base de datos de la pestaña Configuración adicional. De forma predeterminada, se selecciona la opción clave administrada por el servicio.
Importante
La opción de cifrado de datos solo está disponible cuando se crea Azure API for FHIR y no se puede cambiar después. Sin embargo, puede ver y actualizar la clave de cifrado si está seleccionada la opción Clave administrada por el cliente.
La clave se puede elegir en KeyPicker:
También se puede especificar la clave de Azure Key Vault seleccionando la opción Clave administrada por el cliente.
También puede escribir el URI clave como se muestra en lo siguiente.
Importante
Asegúrese de que todos los permisos de Azure Key Vault estén establecidos correctamente. Para más información, consulte Incorporación de una directiva de acceso a la instancia de Azure Key Vault. Además, asegúrese de que la eliminación temporal está habilitada en las propiedades del Key Vault. Si no se completan estos pasos, se producirá un error de implementación. Para obtener más información, vea Comprobar si la eliminación temporal está habilitada en un almacén de claves y habilitarla.
Nota:
El uso de claves administradas por el cliente en las regiones de Azure Sur de Brasil, Este de Asia y Sudeste de Asia requiere un identificador de aplicación empresarial generado por Microsoft. Puede solicitar el identificador de aplicación empresarial mediante la creación de una única incidencia de soporte técnico a través de Azure Portal. Después de recibir el identificador de aplicación, siga las instrucciones para registrar la aplicación.
En el caso de las cuentas de FHIR existentes, puede ver la opción de cifrado de clave (clave administrada por el servicio o clave administrada por el cliente ) en la hoja Base de datos como se muestra a continuación. La opción de configuración no se puede modificar una vez seleccionada. Sin embargo, se puede modificar y actualizar la clave.
Además, puede crear una nueva versión de la clave especificada, después de la cual los datos se cifrarán con la nueva versión sin ninguna interrupción del servicio. También puede quitar el acceso a la clave para quitar el acceso a los datos. Cuando la clave esté deshabilitada, las consultas generarán un error. Si se vuelve a habilitar, las consultas se volverán a realizar correctamente.
Uso de Azure PowerShell
Con el URI clave de Azure Key Vault, puede configurar la clave administrada por el cliente con PowerShell mediante la ejecución del comando de PowerShell siguiente.
New-AzHealthcareApisService
-Name "myService"
-Kind "fhir-R4"
-ResourceGroupName "myResourceGroup"
-Location "westus2"
-CosmosKeyVaultKeyUri "https://<my-vault>.vault.azure.net/keys/<my-key>"
Uso de la CLI de Azure
Al igual que con el método de PowerShell, puede configurar la clave administrada por el cliente pasando el URI clave de Azure Key Vault dentro del parámetro key-vault-key-uri
y ejecutando el comando de la CLI siguiente.
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>"
Uso de la plantilla de Azure Resource Manager
Con el URI de la clave de Azure Key Vault puede configurar la clave administrada por el cliente pasándolo por la propiedad keyVaultKeyUri del objeto 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
}
}
}
]
}
Y puede implementar la plantilla con el siguiente script de 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
Preguntas más frecuentes
¿Se usa 'cosmosdb_key_vault_key_versionless_id' en la API de FHIR diseñada para conectar con el servicio de FHIR administrado por Cosmos DB?
Sí, cuando habilita las claves administradas por el cliente en las API de FHIR, al seleccionar 'cosmosdb_key_vault_key_versionless_id' se conecta al servicio de FHIR administrado por Cosmos DB.
Pasos siguientes
En este artículo ha aprendido a configurar las claves administradas por el cliente en reposo mediante Azure Portal, PowerShell, la CLI y la plantilla de Resource Manager. Puede consultar la sección de preguntas más frecuentes sobre Azure Cosmos DB para más información.
Nota:
FHIR® es una marca registrada de HL7 y se usa con su permiso.