Tutorial: Konfigurieren von Azure Storage zum Deidentifizieren von Dokumenten
Der Azure Health Data Services-Deidentifikationsdienst kann Dokumente in Azure Storage über einen asynchronen Auftrag deidentifizieren. Wenn Sie viele Dokumente haben, die Sie deidentifizieren möchten, stellt die Verwendung eines Auftrags eine gute Option dar. Aufträge bieten auch eine konsistente Surrogation, d. h., dass Surrogatewerte in der deidentifizierten Ausgabe für alle Dokumente übereinstimmen. Weitere Informationen zur Deidentifikation, einschließlich konsistenter Surrogation, finden Sie unter Was ist der Deidentifikationsdienst ?
Wenn Sie sich dafür entscheiden, Dokumente in Azure Blob Storage zu speichern, werden Ihnen Gebühren entsprechend den Azure Storage-Preisen in Rechnung gestellt. Diese Kosten sind nicht im Preis für den Deidentifikationsdienst enthalten. Azure Blob Storage-Preise entdecken.
In diesem Tutorial:
- Erstellen eines Speicherkontos und Containers
- Hochladen eines Beispieldokuments
- Dem Deidentifikationsdienst Zugriff gewähren
- Netzwerkisolation konfigurieren
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Ein Deidentifikationsdienst mit einer systemseitig zugewiesenen verwalteten Identität. Bereitstellen des Deidentifikationsdiensts.
Öffnen der Azure CLI
Installieren Sie die Azure CLI, und öffnen Sie das Terminal Ihrer Wahl. In diesem Tutorial verwenden wir PowerShell.
Erstellen eines Speicherkontos und Containers
- Legen Sie Ihren Kontext fest, und ersetzen Sie den Abonnementnamen, der Ihren Deidentifikationsdienst enthält, durch den
<subscription_name>
-Platzhalter:az account set --subscription "<subscription_name>"
- Speichern Sie eine Variable für die Ressourcengruppe, und ersetzen Sie die Ressourcengruppe, die Ihren Deidentifikationsdienst enthält, durch den
<resource_group>
-Platzhalter:$ResourceGroup = "<resource_group>"
- Erstellen Sie ein Speicherkonto, und stellen Sie einen Wert für den
<storage_account_name>
-Platzhalter bereit:$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)
- Weisen Sie sich selbst eine Rolle zu, um Datenvorgänge für das Speicherkonto auszuführen:
$UserId = $(az ad signed-in-user show --query id -o tsv) az role assignment create --role "Storage Blob Data Contributor" --assignee $UserId --scope $StorageAccountId
- Erstellen Sie einen Container zum Speichern Ihres Beispieldokuments:
az storage container create --account-name $StorageAccountName --name deidtest --auth-mode login
Hochladen eines Beispieldokuments
Als Nächstes laden Sie ein Dokument hoch, das synthetische PHI enthält:
$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
Dem Deidentifikationsdienst Zugriff auf das Speicherkonto gewähren
In diesem Schritt gewähren Sie der systemseitig zugewiesenen verwalteten Identität des Deidentifikationsdienst rollenbasierten Zugriff auf den Container. Sie gewähren die Rolle Mitwirkender an Storage-Blobdaten, da der Deidentifikationsdienst sowohl das ursprüngliche Dokument als auch deidentifizierte Ausgabedokumente liest. Ersetzen Sie den Namen Ihres Deidentifikationsdiensts durch den <deid_service_name>
-Platzhalter:
$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
Konfigurieren der Netzwerkisolation für das Speicherkonto
Als Nächstes aktualisieren Sie das Speicherkonto, um den öffentlichen Netzwerkzugriff zu deaktivieren und nur den Zugriff von vertrauenswürdigen Azure-Diensten wie dem Deidentifikationsdienst zuzulassen. Nachdem Sie diesen Befehl ausgeführt haben, können Sie die Inhalte des Speichercontainers nicht mehr anzeigen, ohne eine Netzwerkausnahme festzulegen. Weitere Informationen finden Sie unter Konfigurieren von Azure Storage-Firewalls und virtuellen Netzwerken.
az storage account update --name $StorageAccountName --public-network-access Disabled --bypass AzureServices
Bereinigen von Ressourcen
Nachdem Sie mit dem Speicherkonto fertig sind, können Sie das Speicherkonto und die Rollenzuweisungen löschen:
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