자습서: 문서를 식별 해제하도록 Azure Storage 구성
Azure Health Data Services 식별 해제 서비스는 비동기 작업을 통해 Azure Storage의 문서를 식별 해제할 수 있습니다. 식별을 해제하려는 문서가 많은 경우 작업을 사용하는 것이 좋습니다. 또한 작업은 일관된 대리를 제공합니다. 즉, 식별되지 않은 출력의 서로게이트 값이 모든 문서에서 일치합니다. 일관된 대리를 포함하여 식별 해제에 대한 자세한 내용은 식별 해제 서비스가란?을 참조 하세요.
Azure Blob Storage에 문서를 저장하도록 선택하면 Azure Storage 가격 책정에 따라 요금이 청구됩니다. 이 비용은 식별 해제 서비스 가격 책정에 포함되지 않습니다. Azure Blob Storage 가격 책정을 살펴봅니다.
이 자습서에서는 다음을 수행합니다.
- 스토리지 계정 및 컨테이너 만들기
- 샘플 문서 업로드
- 식별 해제 서비스 액세스 권한 부여
- 네트워크 격리 구성
필수 조건
- 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
- 시스템 할당 관리 ID를 사용하는 식별 해제 서비스입니다. 식별 해제 서비스를 배포합니다.
Azure CLI 열기
Azure CLI를 설치하고 원하는 터미널을 엽니다. 이 자습서에서는 PowerShell을 사용합니다.
스토리지 계정 및 컨테이너 만들기
- 자리 표시자에 대한 식별 해제 서비스를 포함하는 구독 이름을 대체하여 컨텍스트를
<subscription_name>
설정합니다.az account set --subscription "<subscription_name>"
- 리소스 그룹에 대한 변수를 저장하고 자리 표시자에 대한
<resource_group>
식별 해제 서비스를 포함하는 리소스 그룹을 대체합니다.$ResourceGroup = "<resource_group>"
- 자리 표시자에 대한
<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)
- 스토리지 계정에서 데이터 작업을 수행하는 역할을 자신에게 할당합니다.
$UserId = $(az ad signed-in-user show --query id -o tsv) az role assignment create --role "Storage Blob Data Contributor" --assignee $UserId --scope $StorageAccountId
- 샘플 문서를 저장할 컨테이너를 만듭니다.
az storage container create --account-name $StorageAccountName --name deidtest --auth-mode login
샘플 문서 업로드
다음으로 가상 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
스토리지 계정에 대한 식별 해제 서비스 액세스 권한 부여
이 단계에서는 컨테이너에 대한 식별 해제 서비스의 시스템 할당 관리 ID 역할 기반 액세스 권한을 부여합니다. 식별 해제 서비스는 원래 문서를 읽고 식별되지 않은 출력 문서를 작성하므로 Storage Blob 데이터 기여자 역할을 부여합니다. 자리 표시자에 대한 <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
스토리지 계정에서 네트워크 격리 구성
다음으로, 공용 네트워크 액세스를 사용하지 않도록 스토리지 계정을 업데이트하고 식별 해제 서비스와 같은 신뢰할 수 있는 Azure 서비스의 액세스만 허용합니다. 이 명령을 실행한 후에는 네트워크 예외를 설정하지 않고 스토리지 컨테이너 콘텐츠를 볼 수 없습니다. Azure Storage 방화벽 및 가상 네트워크 구성에 대해 자세히 알아봅니다.
az storage account update --name $StorageAccountName --public-network-access Disabled --bypass AzureServices
리소스 정리
스토리지 계정을 완료하면 스토리지 계정 및 역할 할당을 삭제할 수 있습니다.
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