Tutorial: Configurar o Armazenamento do Azure para desidentificar documentos
O serviço de desidentificação dos Serviços de Dados de Saúde do Azure pode anular a identificação de documentos no Armazenamento do Azure através de um trabalho assíncrono. Se você tem muitos documentos que gostaria de desidentificar, usar um trabalho é uma boa opção. Os trabalhos também fornecem substitutos consistentes, o que significa que os valores substitutos na saída não identificada corresponderão em todos os documentos. Para obter mais informações sobre a desidentificação, incluindo a substituição consistente, consulte O que é o serviço de desidentificação?
Quando você opta por armazenar documentos no Armazenamento de Blobs do Azure, é cobrado com base nos preços do Armazenamento do Azure. Este custo não está incluído no preço do serviço de desidentificação. Explore os preços do Armazenamento de Blobs do Azure.
Neste tutorial:
- Criar uma conta de armazenamento e um contêiner
- Carregar um documento de exemplo
- Conceder acesso ao serviço de desidentificação
- Configurar isolamento de rede
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um serviço de desidentificação com identidade gerenciada atribuída pelo sistema. Implante o serviço de desidentificação.
Abrir a CLI do Azure
Instale a CLI do Azure e abra seu terminal de escolha. Neste tutorial, estamos usando o PowerShell.
Criar uma conta de armazenamento e um contêiner
- Defina seu contexto, substituindo o nome da assinatura que contém seu serviço de desidentificação pelo
<subscription_name>
espaço reservado:az account set --subscription "<subscription_name>"
- Salve uma variável para o grupo de recursos, substituindo o grupo de recursos que contém seu serviço de desidentificação pelo
<resource_group>
espaço reservado:$ResourceGroup = "<resource_group>"
- Crie uma conta de armazenamento, fornecendo um valor para o
<storage_account_name>
espaço reservado:$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)
- Atribua a si mesmo uma função para executar operações de dados na conta de armazenamento:
$UserId = $(az ad signed-in-user show --query id -o tsv) az role assignment create --role "Storage Blob Data Contributor" --assignee $UserId --scope $StorageAccountId
- Crie um contêiner para armazenar seu documento de exemplo:
az storage container create --account-name $StorageAccountName --name deidtest --auth-mode login
Carregar um documento de exemplo
Em seguida, carregue um documento que contenha PHI sintético:
$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
Conceder ao serviço de desidentificação acesso à conta de armazenamento
Nesta etapa, você concede ao contêiner acesso baseado em função de identidade gerenciada atribuído pelo sistema ao serviço de desidentificação. Você concede a função de Colaborador de Dados de Blob de Armazenamento porque o serviço de desidentificação lerá o documento original e gravará documentos de saída não identificados. Substitua o nome do seu serviço de desidentificação pelo <deid_service_name>
espaço reservado:
$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
Configurar o isolamento de rede na conta de armazenamento
Em seguida, atualize a conta de armazenamento para desabilitar o acesso à rede pública e permitir apenas o acesso de serviços confiáveis do Azure, como o serviço de desidentificação. Depois de executar esse comando, você não poderá exibir o conteúdo do contêiner de armazenamento sem definir uma exceção de rede. Saiba mais em Configurar firewalls de armazenamento do Azure e redes virtuais.
az storage account update --name $StorageAccountName --public-network-access Disabled --bypass AzureServices
Clean up resources (Limpar recursos)
Depois de concluir a conta de armazenamento, você pode excluir a conta de armazenamento e as atribuições de função:
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