Configurer des clés gérées par le client au repos

Important

L’API Azure pour FHIR sera mise hors service le 30 septembre 2026. Suivez les stratégies de migration pour passer au service FHIR® de Services de données de santé Azure d’ici à cette date. En raison de la mise hors service de l’API Azure pour FHIR, les nouveaux déploiements ne seront plus autorisés à compter du 1er avril 2025. Le service FHIR des Services de données de santé Azure est la version évoluée de l’API Azure pour FHIR qui permet aux clients de gérer les services FHIR, DICOM et MedTech avec des intégrations dans d’autres services Azure.

Quand vous créez un compte API Azure pour FHIR®, vos données sont chiffrées à l’aide de clés managées par Microsoft par défaut. À présent, vous pouvez ajouter une deuxième couche de chiffrement pour les données à l’aide d’une clé que vous choisissez et gérez vous-même.

Dans Azure, cette opération s’effectue généralement à l’aide d’une clé de chiffrement dans le coffre de clés Azure du client. Azure SQL, Stockage Azure et Azure Cosmos DB, pour ne citer qu’eux, offrent cette fonctionnalité. L’API Azure pour FHIR tire parti de cette prise en charge à partir d’Azure Cosmos DB. Quand vous créez un compte, vous avez la possibilité de spécifier un URI de clé Azure Key Vault. Cette clé est transmise à Azure Cosmos DB au moment de l’approvisionnement du compte de base de données. Lorsqu’une demande FHIR (Fast Healthcare Interoperability Resources) est effectuée, Azure Cosmos DB extrait votre clé et l’utilise pour chiffrer/déchiffrer les données.

Pour commencer, consultez les liens suivants :

En passant par le portail Azure

Lors de la création de votre compte API Azure pour FHIR dans le portail Azure, vous remarquerez une option de configuration Chiffrement des données sous Paramètres de base de données sous l’onglet Paramètres supplémentaires. Par défaut, l’option Clé gérée par le service est sélectionnée.

Important

L’option de chiffrement des données est uniquement disponible lors de la création de l’API Azure pour FHIR et ne peut pas être modifiée par la suite. Toutefois, vous pouvez afficher et mettre à jour la clé de chiffrement si l’option Clé gérée par le client est sélectionnée.

Vous pouvez choisir votre clé dans le sélecteur de clés :

Sélecteur de clés

Vous pouvez également spécifier votre clé Azure Key Vault ici en sélectionnant l’option Clé gérée par le client.

Vous pouvez également entrer l’URI de clé, comme indiqué ci-dessous.

Créer l’API Azure pour FHIR

Important

Vérifiez que toutes les autorisations relatives à Azure Key Vault sont définies de manière appropriée. Pour plus d’informations, consultez Ajouter une stratégie d’accès à votre instance Azure Key Vault. En outre, assurez-vous que la suppression réversible est activée dans les propriétés de Key Vault. Si vous passez ces étapes, une erreur de déploiement se produit. Pour plus d’informations, consultez Vérifier si la suppression réversible est activée sur un coffre de clés et activer la suppression réversible.

Remarque

Un ID d’application d’entreprise généré par Microsoft est requis pour utiliser des clés gérées par le client dans les régions Azure Brésil Sud, Asie Est et Asie Sud-Est. Vous pouvez demander un ID d’application d’entreprise en créant un ticket de support unique via le portail Azure. Après avoir reçu l’ID d’application, suivez les instructions pour inscrire l’application.

Pour les comptes FHIR existants, vous pouvez visualiser le type de chiffrement de clé choisi (Clé gérée par le service ou Clé gérée par le client) dans le panneau Base de données comme suit. Une fois sélectionnée, l’option de configuration ne peut pas être modifiée. Par contre, vous pouvez modifier et mettre à jour votre clé.

Base de données

Vous pouvez également créer une nouvelle version de la clé spécifiée ; vos données sont alors chiffrées avec la nouvelle version sans aucune interruption de service. Vous pouvez également supprimer l’accès à la clé pour supprimer l’accès aux données. Lorsque la clé est désactivée, les requêtes génèrent une erreur. Si la clé est réactivée, les requêtes aboutiront.

Utilisation de Microsoft Azure PowerShell

Avec l’URI de votre clé Azure Key Vault, vous pouvez configurer une clé gérée par le client à l’aide de PowerShell en exécutant la commande PowerShell suivante.

New-AzHealthcareApisService
    -Name "myService"
    -Kind "fhir-R4"
    -ResourceGroupName "myResourceGroup"
    -Location "westus2"
    -CosmosKeyVaultKeyUri "https://<my-vault>.vault.azure.net/keys/<my-key>"

Utilisation de l’interface de ligne de commande Azure

Comme avec la méthode PowerShell, vous pouvez configurer la clé gérée par le client en transmettant l’URI de clé Azure Key Vault sous le paramètre key-vault-key-uri et en exécutant la commande CLI suivante.

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>"

Utilisation d’un modèle Azure Resource Manager

Avec l’URI de clé Azure Key Vault, vous pouvez configurer la clé gérée par le client en la passant sous la propriété keyVaultKeyUri dans l’objet 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
                }
            }
        }
    ]
}

Vous pouvez également déployer le modèle avec le script PowerShell suivant.

$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

Étapes suivantes

Dans cet article, vous avez appris à configurer les clés gérées par le client au repos à l’aide du portail Azure, de PowerShell, de l’interface CLI et du modèle Resource Manager. Pour plus d’informations, consultez la section FAQ d’Azure Cosmos DB.

Remarque

FHIR® est une marque déposée de HL7 utilisé avec l’autorisation de HL7.