Configurare le chiavi gestite dal cliente inattive
Importante
L'API di Azure per FHIR verrà ritirata il 30 settembre 2026. Seguire le strategie di migrazione per passare al servizio FHIR® di Servizi per i dati sanitari di Azure entro tale data. A causa del ritiro dell'API di Azure per FHIR, le nuove distribuzioni non saranno consentite a partire dal 1° aprile 2025. Il servizio FHIR di Servizi per i dati sanitari di Azure è la versione evoluta dell'API di Azure per FHIR che consente ai clienti di gestire i servizi FHIR, DICOM e MedTech con integrazioni in altri servizi di Azure.
Quando si crea un nuovo account dell'API di Azure per FHIR®, per impostazione predefinita i dati vengono crittografati usando chiavi gestite da Microsoft. A questo punto, è possibile aggiungere un secondo livello di crittografia per i dati usando una chiave che si sceglie e si gestisce in autonomia.
In Azure questa operazione viene in genere eseguita usando una chiave di crittografia nell'istanza di Azure Key Vault del cliente. Azure SQL, Archiviazione di Azure e Azure Cosmos DB sono alcuni esempi di prodotti che forniscono questa funzionalità. API di Azure per FHIR sfrutta questo supporto da Azure Cosmos DB. Quando si crea un account, è possibile specificare un URI della chiave di Azure Key Vault. Questa chiave viene passata ad Azure Cosmos DB quando viene effettuato il provisioning dell'account del database. Quando viene effettuata una richiesta FHIR (Fast Healthcare Interoperability Resources), Azure Cosmos DB recupera la chiave e la usa per crittografare/decrittografare i dati.
Per iniziare, vedere i collegamenti seguenti:
- Registrare il provider di risorse Azure Cosmos DB per la sottoscrizione di Azure
- Configurare l'istanza di Azure Key Vault
- Aggiungere un criterio di accesso all'istanza di Azure Key Vault
- Generare una chiave in Azure Key Vault
Con il portale di Azure
Quando si crea l'account API di Azure per FHIR nel portale di Azure, si noterà un'opzione di configurazione Crittografia dei dati in Impostazioni database nella scheda Impostazioni aggiuntive. Per impostazione predefinita, viene selezionata l'opzione Chiave gestita dal servizio.
Importante
L'opzione di crittografia dei dati è disponibile solo quando durante la creazione di API di Azure per FHIR e non può essere cambiata in seguito. Tuttavia, è possibile visualizzare e aggiornare la chiave di crittografia se è selezionata l'opzione Chiave gestita dal cliente.
In alternativa, è possibile scegliere la chiave in Selezione chiavi:
È anche possibile specificare la chiave di Azure Key Vault qui selezionando l'opzione Chiave gestita dal cliente.
È anche possibile immettere l'URI della chiave come illustrato di seguito.
Importante
Assicurarsi che tutte le autorizzazioni per Azure Key Vault siano impostate in modo appropriato. Per altre informazioni, vedere Aggiungere un criterio di accesso all'istanza di Azure Key Vault. Assicurarsi inoltre che l'eliminazione temporanea sia abilitata nelle proprietà di Key Vault. Il mancato completamento di questi passaggi genererà un errore di distribuzione. Per altre informazioni, vedere Verificare se l'eliminazione temporanea è abilitata in un insieme di credenziali delle chiavi e in caso contrario abilitarla.
Nota
L'uso di chiavi gestite dal cliente nelle aree Brasile meridionale, Asia orientale e Asia sud-orientale di Azure richiede un ID applicazione aziendale generato da Microsoft. È possibile richiedere un ID applicazione aziendale creando un ticket di supporto una tantum tramite il portale di Azure. Dopo aver ricevuto l'ID applicazione, seguire le istruzioni per registrare l'applicazione.
Per gli account FHIR esistenti, è possibile visualizzare la scelta relativa alla chiave di crittografia (chiave gestita dal servizio o dal cliente) nel pannello Database come di seguito. Non è possibile modificare l'opzione di configurazione una volta selezionata. Sarà tuttavia possibile modificare e aggiornare la chiave.
È inoltre possibile creare una nuova versione della chiave specificata. Successivamente i dati vengono crittografati con la nuova versione senza interruzioni del servizio. Si può anche rimuovere l'accesso alla chiave per rimuovere l'accesso ai dati. Quando la chiave è disabilitata, le query genereranno un errore. Se la chiave viene riabilitata, le query verranno completate di nuovo correttamente.
Uso di Azure PowerShell
Con l'URI della chiave di Azure Key Vault, è possibile configurare la chiave gestita dal cliente eseguendo il comando di PowerShell seguente.
New-AzHealthcareApisService
-Name "myService"
-Kind "fhir-R4"
-ResourceGroupName "myResourceGroup"
-Location "westus2"
-CosmosKeyVaultKeyUri "https://<my-vault>.vault.azure.net/keys/<my-key>"
Utilizzare l'interfaccia della riga di comando di Azure
Come per il metodo di PowerShell, è possibile configurare la chiave gestita dal cliente passando l'URI della chiave di Azure Key Vault nel parametro key-vault-key-uri
ed eseguendo il comando dell'interfaccia della riga di comando seguente.
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 del modello di Azure Resource Manager
Con l'URI della chiave di Azure Key Vault, è possibile configurare la chiave gestita dal cliente passandola nella proprietà keyVaultKeyUri dell'oggetto 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
}
}
}
]
}
È inoltre possibile implementare il modello con lo script di PowerShell seguente.
$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
Domande frequenti
La "cosmosdb_key_vault_key_versionless_id" viene usata nell'API FHIR progettata per connettersi al servizio FHIR gestito da Cosmos DB?
Sì, quando si abilitano le chiavi gestite dal cliente nelle API FHIR, selezionando "cosmosdb_key_vault_key_versionless_id" si connette al servizio FHIR gestito Cosmos DB.
Passaggi successivi
In questo articolo si è appreso come configurare le chiavi gestite dal cliente inattive usando il portale di Azure, PowerShell, l'interfaccia della riga di comando e il modello di Resource Manager. Per altre informazioni, vedere la sezione Domande frequenti su Azure Cosmos DB.
Nota
FHIR® è un marchio registrato di HL7 ed è usato con l'autorizzazione di HL7.