Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Začněte s klientskou knihovnou pro deidentifikaci služby Azure Health pro .NET, která umožňuje deidentifikovat data o stavu. Pomocí těchto kroků nainstalujte balíček a vyzkoušejte si ukázkový kód pro základní úlohy.
Referenční dokumentace | k rozhraní APIZdrojový kód | knihovnyBalíček (NuGet) | Další ukázky na GitHubu
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Účet služby Azure Storage (pouze pro pracovní postup úlohy).
Instalace
Vytvoření služby pro anonimizaci
Služba de-identifikace poskytuje adresu URL koncového bodu. Tuto adresu URL koncového bodu je možné využít jako rozhraní REST API nebo se sadou SDK.
Instalace Azure CLI
Vytvoření prostředku služby deidentifikace
REGION="<Region>" RESOURCE_GROUP_NAME="<ResourceGroupName>" DEID_SERVICE_NAME="<NewDeidServiceName>" az resource create -g $RESOURCE_GROUP_NAME -n $DEID_SERVICE_NAME --resource-type microsoft.healthdataaiservices/deidservices --is-full-object -p "{\"identity\":{\"type\":\"SystemAssigned\"},\"properties\":{},\"location\":\"$REGION\"}"
Přiřazení rolí RBAC ke službě deidentifikací
Potřebujeme přiřadit roli naší službě pro de-identifikaci, abychom měli oprávnění k provádění akcí v tomto rychlém průvodci.
Vzhledem k tomu, že používáme koncové body v reálném čase a koncové body úloh, přiřadíme DeID Data Owner role.
Informace o tom, jak přiřadit tuto roli vaší službě pro deidentifikaci, naleznete v tématu: Správa přístupu ke službě pro deidentifikaci pomocí řízení přístupu na základě role Azure (RBAC) ve službě Azure Health Data Services
Vytvoření účtu služby Azure Storage
Instalace Azure CLI
Vytvoření účtu služby Azure Storage
STORAGE_ACCOUNT_NAME="<NewStorageAccountName>" az storage account create --name $STORAGE_ACCOUNT_NAME --resource-group $RESOURCE_GROUP_NAME --location $REGION
Autorizace deidentifikací služby v účtu Azure Storage
Poskytněte službě de-identifikace přístup k vašemu účtu úložiště
STORAGE_ACCOUNT_ID=$(az storage account show --name $STORAGE_ACCOUNT_NAME --resource-group $RESOURCE_GROUP_NAME --query id --output tsv) DEID_SERVICE_PRINCIPAL_ID=$(az resource show -n $DEID_SERVICE_NAME -g $RESOURCE_GROUP_NAME --resource-type microsoft.healthdataaiservices/deidservices --query identity.principalId --output tsv) az role assignment create --assignee $DEID_SERVICE_PRINCIPAL_ID --role "Storage Blob Data Contributor" --scope $STORAGE_ACCOUNT_ID
Nainstalujte balíček .
Klientská knihovna je k dispozici prostřednictvím Balíčku NuGet Azure.Health.Deidentification .
Instalace balíčku
dotnet add package Azure.Health.DeidentificationPokud ještě není nainstalovaný, nainstalujte balíček Azure Identity.
dotnet add package Azure.Identity
Objektový model
- DeidentificationClient zodpovídá za komunikaci mezi sadou SDK a koncovým bodem služby deidentifikace.
- DeidentificationContent se používá k deidentifikaci řetězce.
- DeidentificationJob se používá k vytváření úloh pro deidentifikování dokumentů v účtu úložiště Azure.
- PhiEntity je rozsah a kategorie jedné entity PHI zjištěná prostřednictvím tag OperationType.
Příklady kódu
- Vytvoření klienta pro deidentifikací
- Anonimizace řetězce
- Označte řetězec
- Vytvoření úlohy deidentifikací
- Získání stavu deidentifikované úlohy
Vytvořte klienta pro deidentifikaci
Než budete moct vytvořit klienta, musíte najít adresu URL koncového bodu deidentifikované služby.
Adresu URL koncového bodu najdete pomocí Azure CLI:
az resource show -n $DEID_SERVICE_NAME -g $RESOURCE_GROUP_NAME --resource-type microsoft.healthdataaiservices/deidservices --query properties.serviceUrl --output tsv
Pak můžete klienta vytvořit pomocí této hodnoty.
using Azure.Identity;
using Azure.Health.Deidentification;
string serviceEndpoint = "https://example123.api.deid.azure.com";
DeidentificationClient client = new(
new Uri(serviceEndpoint),
new DefaultAzureCredential()
);
Anonymizovat řetězec
Tato funkce umožňuje zrušit identifikaci libovolného řetězce, který máte v paměti.
DeidentificationContent content = new("SSN: 123-04-5678");
DeidentificationResult result = await client.DeidentifyAsync(content);
Označit řetězec
Značkování lze provést stejným způsobem a zrušením identifikace změnou .OperationType
DeidentificationContent content = new("SSN: 123-04-5678");
content.Operation = OperationType.Tag;
DeidentificationResult result = await client.DeidentifyAsync(content);
Vytvořit úlohu pro deidentifikaci
Tato funkce umožňuje deidentifikovat všechny soubory filtrované prostřednictvím předpony v rámci účtu služby Azure Blob Storage.
K vytvoření úlohy potřebujeme URL adresu koncového bodu blob účtu úložiště Azure.
az resource show -n $STORAGE_ACCOUNT_NAME -g $RESOURCE_GROUP_NAME --resource-type Microsoft.Storage/storageAccounts --query properties.primaryEndpoints.blob --output tsv
Teď můžeme vytvořit úlohu. Tento příklad používá folder1/ jako předponu. Úloha deidentifikuje jakýkoli dokument, který odpovídá této předponě, a zapíše jeho deidentifikovanou verzi s předponou output_files/.
using Azure;
Uri storageAccountContainerUri = new("https://exampleStorageAccount.blob.core.windows.net/containerName");
DeidentificationJob job = new(
new SourceStorageLocation(storageAccountContainerUri, "folder1/"),
new TargetStorageLocation(storageAccountContainerUri, "output_files/")
);
job = client.CreateJob(WaitUntil.Started, "my-job-1", job).Value;
Získání stavu úlohy deidentifikace
Po vytvoření úlohy můžete zobrazit stav a další podrobnosti úlohy.
DeidentificationJob job = client.GetJob("my-job-1").Value;
Spuštění kódu
Po aktualizaci kódu v projektu ho můžete spustit takto:
dotnet run
Upravte zdroje
Smazat službu deidentifikace
az resource delete -n $DEID_SERVICE_NAME -g $RESOURCE_GROUP_NAME --resource-type microsoft.healthdataaiservices/deidservices
Odstranění účtu služby Azure Storage
az resource show -n $STORAGE_ACCOUNT_NAME -g $RESOURCE_GROUP_NAME --resource-type Microsoft.Storage/storageAccounts
Odstranit přiřazení role
az role assignment delete --assignee $DEID_SERVICE_PRINCIPAL_ID --role "Storage Blob Data Contributor" --scope $STORAGE_ACCOUNT_ID
Řešení problémů
Nejde získat přístup ke zdrojovému nebo cílovému úložišti
Ujistěte se, že jsou oprávnění udělena a spravovaná identita pro deidentifikační službu je správně nastavená.
Přečtěte si téma Autorizace deidentifikací služby v účtu Azure Storage.
Úloha selhala se stavem PartialFailed
Funkci GetJobDocuments na DeidentificationClient můžete využít k zobrazení chybových zpráv jednotlivých souborů.
Viz ukázka
Další kroky
V tomto rychlém průvodci jste se naučili:
- Jak vytvořit službu pro anonymizaci dat a přiřadit roli účtu úložiště.
- Jak vytvořit klienta pro anonimizaci dat
- Jak deidentifikovat řetězce a vytvářet úlohy v dokumentech v rámci účtu úložiště