Tutorial: Configuración de Azure Storage para desidentificar documentos
El servicio de desidentificación de Azure Health Data Services (versión preliminar) puede desidentificar documentos en Azure Storage a través de un trabajo asincrónico. Si tiene muchos documentos que desea desidentificar, usar un trabajo es una buena opción. Los trabajos también proporcionan una subrogación coherente, lo que significa que los valores suplentes de la salida desidentificada coincidirán en todos los documentos. Para más información sobre la desidentificación, incluida la subrogación coherente, consulte ¿Qué es el servicio de desidentificación (versión preliminar)?
Si elige almacenar documentos en Azure Blob Storage, se le cobrará en función de los precios de Azure Storage. Este costo no se incluye en los precios del servicio de desidentificación. Explore los precios de Azure Blob Storage.
En este tutorial ha:
- Creación de una cuenta de almacenamiento y un contenedor
- Carga de un documento de ejemplo
- Concesión del acceso al servicio de desidentificación
- Configura el aislamiento de red seguro
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Un servicio de desidentificación con identidad administrada asignada por el sistema. Implementación del servicio de desidentificación (versión preliminar).
Abrir CLI de Azure
Instale la CLI de Azure y abra el terminal que prefiera. En este tutorial, se usa PowerShell.
Creación de una cuenta de almacenamiento y un contenedor
- Establezca el contexto y sustituya el nombre de la suscripción que contiene el servicio de desidentificación para el marcador de posición
<subscription_name>
:az account set --subscription "<subscription_name>"
- Guarde una variable para el grupo de recursos. Al hacerlo, sustituya el grupo de recursos que contiene el servicio de desidentificación por el marcador de posición
<resource_group>
:$ResourceGroup = "<resource_group>"
- Cree una cuenta de almacenamiento y proporcione un valor para el marcador de posición
<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)
- Asigne un rol para realizar operaciones de datos en la cuenta de almacenamiento:
$UserId = $(az ad signed-in-user show --query id -o tsv) az role assignment create --role "Storage Blob Data Contributor" --assignee $UserId --scope $StorageAccountId
- Cree un contenedor que aloje el documento de ejemplo:
az storage container create --account-name $StorageAccountName --name deidtest --auth-mode login
Carga de un documento de ejemplo
A continuación, cargue un documento que contenga información médica protegida (PHI) sintética:
$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
Concesión de acceso del servicio de desidentificación a la cuenta de almacenamiento
En este paso, concederá acceso basado en roles a la identidad administrada asignada por el sistema del servicio de desidentificación al contenedor. Concede el rol Colaborador de datos de Storage Blob porque el servicio de desidentificación leerá el documento original y escribirá documentos de salida desidentificados. Sustituya el nombre del servicio de desidentificación para el marcador de posición <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
Configuración del aislamiento de red en la cuenta de almacenamiento
A continuación, actualice la cuenta de almacenamiento para deshabilitar el acceso a la red pública y permitir solo el acceso desde servicios de Azure de confianza, como el servicio de desidentificación. Después de ejecutar este comando, no podrá ver el contenido del contenedor de almacenamiento sin establecer una excepción de red. Obtenga más información en Configuración de redes virtuales y firewalls de Azure Storage.
az storage account update --name $StorageAccountName --public-network-access Disabled --bypass AzureServices
Limpieza de recursos
Una vez que haya terminado con la cuenta de almacenamiento, puede eliminarla junto con las asignaciones de roles:
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