從 Azure DevTest Labs 匯出或刪除個人資料
本文提供從 Azure DevTest Labs 服務刪除及匯出個人資料的步驟。
DevTest Labs 會收集哪些個人資料?
DevTest Labs 會對使用者收集兩種主要的個人資料。 這兩種資料是使用者電子郵件地址和使用者物件識別碼。 這些都是服務為實驗室管理員和實驗室使用者提供服務功能所不可或缺的資訊。
使用者電子郵件地址
DevTest Labs 會依據使用者電子郵件地址,將自動關閉電子郵件通知傳送給實驗室使用者。 此電子郵件會通知使用者其機器即將關閉。 使用者可依需求自行選擇延後或略過關機作業。 您可以設定實驗室層級或 VM 層級的電子郵件地址。
我們為何需要這項個人資料?
DevTest Labs 服務會基於運作目的使用個人資料。 這是服務為了提供重要功能所不可或缺的資料。 如果您設定了使用者電子郵件地址的保留原則,實驗室使用者在其電子郵件地址從我們的系統中刪除後,就無法適時收到自動關閉電子郵件通知。 因此,只要使用者的資源在實驗室中仍有效用,就必須保留這項資料。
如何讓系統消除我的個人資料?
身為實驗室使用者,您可以藉由刪除實驗室中的對應資源來刪除您的個人資源。 DevTest Labs 服務會在使用者刪除其個人資料的 30 天後,將已刪除的資料匿名處理。
例如,如果您刪除了 VM,或移除了電子郵件地址,DevTest Labs 服務會在資源刪除後的 30 天將這項資料匿名處理。 刪除後保留 30 天的原則可確保 DevTest Labs 為實驗室管理員提供精確的逐月成本預測。
如何要求匯出我的個人資料?
您可以使用 Azure PowerShell 來匯出個人和實驗室使用方式資料。 DevTest Labs 會將資料匯出為 csv 檔案,其中包含名稱中要求的匯出日期和時間。
Azure PowerShell
Param (
[Parameter (Mandatory=$true, HelpMessage="The resource group name of the storage account")]
[string] $resourceGroupName,
[Parameter (Mandatory=$true, HelpMessage="The subscription id of the storage account and DTL")]
[string] $subscriptionId,
[Parameter (Mandatory=$true, HelpMessage="The storage account name")]
[string] $storageAccountName,
[Parameter (Mandatory=$true, HelpMessage="Expire time of the SAS Token")]
[string] $expiryTime,
[Parameter (Mandatory=$true, HelpMessage="Date to pull data from")][string] $startTime,
[Parameter (Mandatory=$true, HelpMessage="Name of the lab to export")]
[string] $labName,
[Parameter (Mandatory=$true, HelpMessage="The desired SKU")]
[string] $desiredSKU,
[Parameter (Mandatory=$true, HelpMessage="Protocol for SAS token generation")]
[string] $protocol,
[Parameter (Mandatory=$true, HelpMessage="Permissions given for SAS token")]
[string] $permissions
# Log in
Connect-AzAccount -UseDeviceAuthentication
# Set your subscription
Set-AzContext -SubscriptionId $subscriptionId
# Create a resource group and storage account
New-AzStorageAccount -ResourceGroupName $resourceGroupName `
-Name $storageAccountName `
-Location $location `
-SkuName $desiredSKU
# Get storage account context
$storageAccountContext = Get-AzStorageAccount -ResourceGroupName $resourceGroupName -AccountName $storageAccountName
$storageAccountKeys = Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $storageAccountName
$Ctx = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKeys[0].Value
# Create blob container
$containerName = "exportlabresources"
New-AzStorageContainer -Name $containerName `
-Context $Ctx `
-Permission Off
# Get SAS token
$sasToken = New-AzStorageContainerSASToken `
-Context $Ctx `
-Name $containerName `
-StartTime (Get-Date) `
-ExpiryTime $expiryTime `
-Permission $permissions `
-Protocol $protocol
# Make blob endpoint
$blobEndpointWithSas = $storageAccountContext.Context.BlobEndPoint + $containerName+ "?" + $sasToken
# Invoke Export Job
$actionParameters = @{
'blobStorageAbsoluteSasUri' = $blobEndpointWithSas
}
$actionParameters.Add('usageStartDate', $startdate.Date.ToString())
$resourceId = "/subscriptions/" + $subscriptionId + "/resourceGroups/" + $resourceGroupName + "/providers/Microsoft.DevTestLab/labs/" + $labName + "/"
$result = Invoke-AzureRmResourceAction -Action 'ExportResourceUsage' -ResourceId $resourceId -Parameters $actionParameters -Force
前述範例中的主要元件包括:
Invoke-AzureRmResourceAction 命令。
Invoke-AzureRmResourceAction -Action 'ExportResourceUsage' -ResourceId $resourceId -Parameters $actionParameters -Force
兩個動作參數
- blobStorageAbsoluteSasUri - 具有共用存取簽章 (SAS) 權杖的儲存體帳戶 URI。 在 PowerShell 指令碼中,此值可以傳入,而不是儲存體金鑰。
- usageStartDate - 提取資料的開始日期,結束日期是執行動作的目前日期。 細微性位於日期層級,因此即使您新增時間資訊,其也會遭到忽略。
下一步
請參閱以下文章: