教學課程:設定 Azure 儲存體 以取消識別檔
Azure Health Data Services 取消識別服務 (預覽) 可以透過異步作業來取消識別 Azure 儲存體 中的檔。 如果您有許多您想要取消識別的檔,使用作業是不錯的選擇。 作業也提供一致的 Surrogation,這表示已取消識別輸出中的 Surrogate 值在所有文件中都會相符。 如需取消識別的詳細資訊,包括一致的代理,請參閱 什麼是取消識別服務 (預覽)?
當您選擇將檔儲存在 Azure Blob 儲存體 時,會根據 Azure 儲存體 定價向您收費。 取消識別服務定價不包含此成本。 探索 Azure Blob 儲存體 定價。
在本教學課程中,您已:
- 建立儲存體帳戶和容器
- 上傳範例檔
- 授與取消識別服務存取權
- 設定網路隔離
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- 具有系統指派受控識別的取消識別服務。 部署取消識別服務 (預覽) 。
開啟 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
授與記憶體帳戶的取消識別服務存取權
在此步驟中,您會將取消識別服務系統指派的受控識別角色型存取權授與容器。 您會授 與記憶體 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 儲存體 防火牆和虛擬網路。
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