Tutoriel : configurer Stockage Azure pour anonymiser des documents
Le service de dé-identification Azure Health Data Services peut dé-identifier des documents dans Stockage Azure via un travail asynchrone. Si vous avez de nombreux documents que vous souhaitez dé-identifier, l’utilisation d’un travail est une bonne option. Les travaux fournissent également une substitution cohérente, ce qui signifie que les valeurs de substitution dans la sortie dé-identifiée correspondent à tous les documents. Pour plus d’informations sur la dé-identification, y compris la substitution cohérente, consultez Qu’est-ce que le service de dé-identification ?
Lorsque vous choisissez de stocker des documents dans stockage d’objets blob Azure, vous êtes facturé en fonction de la tarification stockage Azure. Ce coût n’est pas inclus dans la tarification du service de dé-identification. Explorer la tarification du Stockage Blob Azure.
Dans ce tutoriel, vous allez :
- Créer un compte de stockage et un conteneur
- Charger un exemple de document
- Accorder l’accès au service de dé-identification
- Configurer l'isolement réseau
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Un service de dé-identification avec une identité managée affectée par le système. Déployer le service d’anonymisation.
Ouvrir Azure CLI
Installez Azure CLI et ouvrez votre terminal de votre choix. Dans ce tutoriel, nous utilisons PowerShell.
Créer un compte de stockage et un conteneur
- Définissez votre contexte, en remplaçant le nom de l’abonnement contenant votre service de dé-identification pour l’espace réservé
<subscription_name>
:az account set --subscription "<subscription_name>"
- Enregistrez une variable pour le groupe de ressources, en remplaçant le groupe de ressources contenant votre service de dé-identification pour l’espace réservé
<resource_group>
:$ResourceGroup = "<resource_group>"
- Créez un compte de stockage, en fournissant une valeur pour l’espace réservé
<storage_account_name>
:$StorageAccountName = "<storage_account_name>" $StorageAccountId = $(az storage account create --name $StorageAccountName --resource-group $ResourceGroup --sku Standard_LRS --kind StorageV2 --min-tls-version TLS1_2 --allow-blob-public-access false --query id --output tsv)
- Attribuez-vous un rôle pour effectuer des opérations de données sur le compte de stockage :
$UserId = $(az ad signed-in-user show --query id -o tsv) az role assignment create --role "Storage Blob Data Contributor" --assignee $UserId --scope $StorageAccountId
- Créez un conteneur pour contenir votre exemple de document :
az storage container create --account-name $StorageAccountName --name deidtest --auth-mode login
Charger un exemple de document
Ensuite, vous chargez un document qui contient des phi synthétiques :
$DocumentContent = "The patient came in for a visit on 10/12/2023 and was seen again November 4th at Contoso Hospital."
az storage blob upload --data $DocumentContent --account-name $StorageAccountName --container-name deidtest --name deidsample.txt --auth-mode login
Accorder au service de dé-identification l’accès au compte de stockage
Dans cette étape, vous accordez l’accès en fonction du rôle d’identité managée affectée par le système du service d’identification au conteneur. Vous accordez le rôle Contributeur aux données blob de stockage, car le service de dé-identification lit le document d’origine et écrit les documents de sortie dé-identifiés. Remplacez le nom de votre service de dé-identification pour l’espace réservé <deid_service_name>
:
$DeidServicePrincipalId=$(az resource show -n <deid_service_name> -g $ResourceGroup --resource-type microsoft.healthdataaiservices/deidservices --query identity.principalId --output tsv)
az role assignment create --assignee $DeidServicePrincipalId --role "Storage Blob Data Contributor" --scope $StorageAccountId
Configurer l’isolation réseau sur le compte de stockage
Ensuite, vous mettez à jour le compte de stockage pour désactiver l’accès au réseau public et autoriser uniquement l’accès à partir de services Azure approuvés tels que le service de dé-identification. Après avoir exécuté cette commande, vous ne pourrez pas afficher le contenu du conteneur de stockage sans définir d’exception réseau. Pour plus d’informations, consultez Configurer les pare-feu et les réseaux virtuels dans le Stockage Azure.
az storage account update --name $StorageAccountName --public-network-access Disabled --bypass AzureServices
Nettoyer les ressources
Une fois que vous avez terminé avec le compte de stockage, vous pouvez supprimer le compte de stockage et les attributions de rôles :
az role assignment delete --assignee $DeidServicePrincipalId --role "Storage Blob Data Contributor" --scope $StorageAccountId
az role assignment delete --assignee $UserId --role "Storage Blob Data Contributor" --scope $StorageAccountId
az storage account delete --ids $StorageAccountId --yes