Exportar ou excluir dados pessoais do Azure DevTest Labs

Este artigo fornece etapas para excluir e exportar dados pessoais do serviço Azure DevTest Labs.

Quais dados pessoais o DevTest Labs coleta?

O DevTest Labs coleta duas partes principais de dados pessoais do usuário. São elas: o endereço de email do usuário e a ID de objeto de usuário. Essas informações são fundamentais para que o serviço forneça recursos em serviço a administradores de laboratório e usuários de laboratório.

Endereço de email do usuário

O DevTest Labs usa o endereço de email do usuário para enviar notificações de email de desligamento automático para usuários do laboratório. O email notifica os usuários do computador sendo desligado. Os usuários podem adiar ou ignorar o desligamento, se quiserem fazer isso. Você configura o endereço de email no nível de laboratório ou no nível de VM.

Por que esses dados pessoais são necessários?

O serviço do DevTest Labs usa os dados pessoais para fins operacionais. Esses dados são fundamentais para que o serviço forneça recursos importantes. Se você definir uma política de retenção no endereço de email do usuário, os usuários do laboratório não receberão notificações por email de desligamento automático após o endereço de email ser excluído do sistema. Portanto, esses dados precisam ser retidos enquanto o recurso do usuário estiver ativo no Lab.

Como é possível excluir os dados pessoais do sistema?

Como usuário do laboratório, você pode excluir seus dados pessoais excluindo o recurso correspondente no laboratório. O serviço DevTest Labs tornará os dados pessoais excluídos anônimos, 30 dias após terem sido excluídos pelo usuário.

Por exemplo, se você excluir a VM ou remover o endereço de email, o serviço DevTest Labs tornará esses dados anônimos 30 dias após a exclusão do recurso. A política de retenção de 30 dias após a exclusão garante que o DevTest Labs forneça uma projeção de custos de mês a mês precisa ao administrador do laboratório.

Como é possível solicitar uma exportação nos dados pessoais?

Você pode exportar dados de uso pessoais e de laboratório usando o Azure PowerShell. O DevTest Labs exporta os dados como um arquivo csv com a data e a hora da exportação solicitada no nome.

PowerShell do Azure

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

Os principais componentes no exemplo anterior são:

  • O comando Invoke-AzureRmResourceAction.

    Invoke-AzureRmResourceAction -Action 'ExportResourceUsage' -ResourceId $resourceId -Parameters $actionParameters -Force
    
  • Dois parâmetros de ação

    • blobStorageAbsoluteSasUri – o URI da conta de armazenamento com o token SAS (Assinatura de Acesso Compartilhado). No script do PowerShell, esse valor pode ser passado em vez da chave de armazenamento.
    • usageStartDate – a data de início para efetuar pull de dados, com a data de término sendo a data atual em que a ação é executada. A granularidade está no nível de dia, portanto, mesmo que você adicione informações de tempo, elas serão ignoradas.

Próximas etapas

Confira o seguinte artigo: