Samouczek: konfigurowanie usługi Azure Storage do usuwania identyfikacji dokumentów
Usługa deidentyfikowania usług Azure Health Data Services może deidentyfikować dokumenty w usłudze Azure Storage za pośrednictwem zadania asynchronicznego. Jeśli masz wiele dokumentów, które chcesz usunąć zidentyfikuj, użycie zadania jest dobrym rozwiązaniem. Zadania zapewniają również spójne zastępcze, co oznacza, że wartości zastępcze w danych wyjściowych nieoznakujących będą zgodne ze wszystkimi dokumentami. Aby uzyskać więcej informacji na temat usuwania identyfikacji, w tym spójnej zastępczej, zobacz Co to jest usługa usuwania identyfikacji?
Gdy zdecydujesz się przechowywać dokumenty w usłudze Azure Blob Storage, opłata jest naliczana na podstawie cennika usługi Azure Storage. Ten koszt nie jest uwzględniany w cenniku usługi usuwania identyfikacji. Zapoznaj się z cennikiem usługi Azure Blob Storage.
W tym samouczku zostały wykonane następujące czynności:
- Tworzenie konta magazynu i kontenera
- Przekazywanie przykładowego dokumentu
- Udzielanie dostępu do usługi usuwania identyfikacji
- Konfigurowanie izolacji sieci
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Usługa usuwania identyfikacji z tożsamością zarządzaną przypisaną przez system. Wdróż usługę usuwania identyfikacji.
Otwieranie interfejsu wiersza polecenia platformy Azure
Zainstaluj interfejs wiersza polecenia platformy Azure i otwórz wybrany terminal. W tym samouczku używamy programu PowerShell.
Tworzenie konta magazynu i kontenera
- Ustaw kontekst, podstawiając nazwę subskrypcji zawierającą usługę usuwania identyfikacji dla symbolu zastępczego
<subscription_name>
:az account set --subscription "<subscription_name>"
- Zapisz zmienną dla grupy zasobów, zastępując grupę zasobów zawierającą usługę usuwania identyfikacji dla symbolu zastępczego
<resource_group>
:$ResourceGroup = "<resource_group>"
- Utwórz konto magazynu, podając wartość symbolu zastępczego
<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)
- Przypisz sobie rolę do wykonywania operacji na danych na koncie magazynu:
$UserId = $(az ad signed-in-user show --query id -o tsv) az role assignment create --role "Storage Blob Data Contributor" --assignee $UserId --scope $StorageAccountId
- Utwórz kontener do przechowywania przykładowego dokumentu:
az storage container create --account-name $StorageAccountName --name deidtest --auth-mode login
Przekazywanie przykładowego dokumentu
Następnie należy przekazać dokument zawierający syntetyczne jednostki 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
Udzielanie usłudze usuwania identyfikacji dostępu do konta magazynu
W tym kroku przyznasz usłudze deidentyfikacji przypisane przez system dostęp oparty na rolach tożsamości zarządzanej do kontenera. Przyznasz rolę Współautor danych obiektu blob usługi Storage, ponieważ zarówno usługa deidentyfikacji odczytuje oryginalny dokument, jak i zapisuje dokumenty wyjściowe, które nie zostały zidentyfikowane. Zastąp nazwę usługi deidentyfikacji symbolu zastępczego <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
Konfigurowanie izolacji sieciowej na koncie magazynu
Następnie zaktualizujesz konto magazynu, aby wyłączyć dostęp do sieci publicznej i zezwolić na dostęp tylko z zaufanych usług platformy Azure, takich jak usługa usuwania identyfikacji. Po uruchomieniu tego polecenia nie będzie można wyświetlić zawartości kontenera magazynu bez ustawiania wyjątku sieciowego. Dowiedz się więcej w artykule Configure Azure Storage firewalls and virtual networks (Konfigurowanie zapór i sieci wirtualnych usługi Azure Storage).
az storage account update --name $StorageAccountName --public-network-access Disabled --bypass AzureServices
Czyszczenie zasobów
Po zakończeniu pracy z kontem magazynu możesz usunąć konto magazynu i przypisania ról:
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