Självstudie: Konfigurera Azure Storage för att av-identifiera dokument
Azure Health Data Services-avidentifieringstjänsten kan avidentifiering av dokument i Azure Storage via ett asynkront jobb. Om du har många dokument som du vill av-identifiera är det ett bra alternativ att använda ett jobb. Jobb ger också konsekvent surrogat, vilket innebär att surrogatvärdena i de identifierade utdata matchar alla dokument. Mer information om avidentifiering, inklusive konsekvent surrogatdrift, finns i Vad är avidentifieringstjänsten?
När du väljer att lagra dokument i Azure Blob Storage debiteras du baserat på priser för Azure Storage. Den här kostnaden ingår inte i prissättningen för avidentifieringstjänsten. Utforska priser för Azure Blob Storage.
I den här kursen får du:
- Skapa ett lagringskonto och en container
- Ladda upp ett exempeldokument
- Bevilja avidentifieringstjänsten åtkomst
- Konfigurera nätverksisolering
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En avidentifieringstjänst med systemtilldelad hanterad identitet. Distribuera avidentifieringstjänsten.
Öppna Azure CLI
Installera Azure CLI och öppna valfri terminal. I den här självstudien använder vi PowerShell.
Skapa ett lagringskonto och en container
- Ange kontexten och ersätt prenumerationsnamnet som innehåller din avidentifieringstjänst för
<subscription_name>
platshållaren:az account set --subscription "<subscription_name>"
- Spara en variabel för resursgruppen och ersätt resursgruppen som innehåller din avidentifieringstjänst för
<resource_group>
platshållaren:$ResourceGroup = "<resource_group>"
- Skapa ett lagringskonto och ange ett värde för
<storage_account_name>
platshållaren:$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)
- Tilldela dig själv en roll för att utföra dataåtgärder på lagringskontot:
$UserId = $(az ad signed-in-user show --query id -o tsv) az role assignment create --role "Storage Blob Data Contributor" --assignee $UserId --scope $StorageAccountId
- Skapa en container för att lagra exempeldokumentet:
az storage container create --account-name $StorageAccountName --name deidtest --auth-mode login
Ladda upp ett exempeldokument
Sedan laddar du upp ett dokument som innehåller syntetisk PHI:
$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
Bevilja avidentifieringstjänsten åtkomst till lagringskontot
I det här steget beviljar du avidentifieringstjänstens systemtilldelade rollbaserade åtkomst för hanterad identitet till containern. Du beviljar rollen Storage Blob Data Contributor eftersom avidentifieringstjänsten både läser det ursprungliga dokumentet och skriver avidentifierade utdatadokument. Ersätt namnet på din avidentifieringstjänst med <deid_service_name>
platshållaren:
$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
Konfigurera nätverksisolering på lagringskontot
Därefter uppdaterar du lagringskontot för att inaktivera åtkomst till offentligt nätverk och endast tillåta åtkomst från betrodda Azure-tjänster, till exempel avidentifieringstjänsten. När du har kört det här kommandot kan du inte visa innehållet i lagringscontainern utan att ange ett nätverksfel. Läs mer i Konfigurera Azure Storage-brandväggar och virtuella nätverk.
az storage account update --name $StorageAccountName --public-network-access Disabled --bypass AzureServices
Rensa resurser
När du är klar med lagringskontot kan du ta bort lagringskontot och rolltilldelningarna:
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