تصدير أو حذف البيانات الشخصية من Azure DevTest Labs

هذه المقالة توفر خطوات لحذف البيانات الشخصية وتصديرها من خدمة Azure DevTest Labs.

ما البيانات الشخصية التي تجمعها DevTest Labs؟

تجمع DevTest Labs جزأين رئيسين من البيانات الشخصية من المستخدم. يمثلا ما يلي: عنوان البريد الإلكتروني للمستخدم ومعرف عنصر المستخدم. هذه المعلومات مهمة للخدمة لتوفير ميزات داخل الخدمة لمسؤولي المختبرات ومستخدميها.

عنوان البريد الإلكتروني للمستخدم

تستخدم DevTest Labs عنوان البريد الإلكتروني للمستخدم لإرسال إشعارات الإغلاق التلقائي بالبريد الإلكتروني إلى مستخدمي المختبر. يقوم البريد الإلكتروني بإعلام المستخدمين بإغلاق أجهزتهم. يمكن للمستخدمين إما تأجيل أو تخطي الإغلاق إذا رغبوا في ذلك. يمكنك تكوين عنوان البريد الإلكتروني على مستوى المختبر أو على مستوى VM.

لماذا نحتاج هذه البيانات الشخصية؟

تستخدم خدمة DevTest Labs البيانات الشخصية لأغراض تشغيلية. هذه البيانات مهمة للخدمة لتقديم الميزات الرئيسة. إذا قمت بتعيين نهج استبقاء على عنوان البريد الإلكتروني للمستخدم، فلن يتلقى مستخدمو المعمل إشعارات الإغلاق التلقائي للبريد الإلكتروني في الوقت المناسب بعد حذف عنوان بريدهم الإلكتروني من نظامنا. لذلك، يجب الاحتفاظ بهذه البيانات طالما أن مورد المستخدم نشط في المختبر.

كيف يمكنني أن أنسى النظام بياناتي الشخصية؟

كمستخدم مختبر، يمكنك حذف شخصيتك عن طريق حذف المورد المقابل في المختبر. تعمل خدمة DevTest Labs على إخفاء هوية البيانات الشخصية المحذوفة بعد 30 يومًا من حذفها من قبل المستخدم.

على سبيل المثال، إذا قمت بحذف الجهاز الظاهري أو إزالة عنوان بريدك الإلكتروني، فإن خدمة 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

المكونات الرئيسية في العينة السابقة هي:

  • The Invoke-AzureRmResourceAction command.

    Invoke-AzureRmResourceAction -Action 'ExportResourceUsage' -ResourceId $resourceId -Parameters $actionParameters -Force
    
  • معلمتان للإجراء

    • blobStorageAbsoluteSasUri - عنوان URI لحساب التخزين مع رمز مميز لتوقيع الوصول المشترك (SAS). في البرنامج النصي PowerShell، يمكن تمرير هذه القيمة بدلًا من مفتاح التخزين.
    • usageStartDate - تاريخ البدء لسحب البيانات، إذ يكون تاريخ الانتهاء هو التاريخ الحالي الذي يتم فيه تنفيذ الإجراء. التفصيل على مستوى اليوم، لذلك حتى إذا أضفت معلومات الوقت، فسيتم تجاهلها.

الخطوات التالية

راجع المقالة التالية: