يتيح التخزين غير قابل للتغيير لتخزين Azure Blob للمستخدمين تخزين البيانات المهمة للأعمال في حالة WORM (كتابة مرة واحدة، قراءة العديد). أثناء وجودها في حالة WORM، لا يمكن تعديل البيانات أو حذفها للفاصل الزمني المحدد من قبل المستخدم. عن طريق تكوين نهج عدم قابلية التغيير لبيانات الكائن الثنائي كبير الحجم، يمكنك حماية بياناتك من الكتابة وحذف. تتضمن سياسات الثبات نُهج الاستبقاء المستندة إلى الوقت وعمليات الاحتفاظ القانونية. لمزيد من المَعلومات حول سياسات الثبات لـ Blob Storage، انظر تخزين بيانات Blob المهمة للأعمال باستخدام مساحة تخزين غير قابلة للتغيير.
يمكن تحديد نطاق نهج الثبات إلى إصدار فقاعة فردي أو إلى حاوية. توضح هذه المقالة كيفية تكوين نهج عدم قابلية التغيير على مستوى حاوية. للتعرف على كيفية تكوين سياسات عدم القدرة على التشغيل على مستوى الإصدار، راجع تكوين سياسات عدم القدرة على التشغيل للإصدارات blob.
إشعار
سياسات الثبات غير مدعومة في الحسابات التي تم تمكين بروتوكول نظام ملفات الشبكة (NFS) 3.0 أو بروتوكول نقل ملفات SSH (SFTP) عليها.
لتكوين نهج استبقاء يستند إلى الوقت على حاوية، استخدم مدخل Microsoft Azure أو PowerShell أو Azure CLI. يمكنك تكوين نهج استبقاء على مستوى الحاوية لمدة تتراوح بين 1 و146000 يوم.
لتكوين نهج استبقاء يستند إلى الوقت على حاوية مع مدخل Microsoft Azure، اتبع الخطوات التالية:
انتقل إلى الحاوية المَطلوبة.
حدد الزر More على اليمين، ثم حدد Access policy.
في قسم Immutable blob storage، حدد Add policy.
في الحقل Policy type، حدد Time-based retention، وحدد فترة الاحتفاظ بالأيام.
لإنشاء نهج مع نطاق الحاوية، لا تحدد المربع تمكين عدم قابلية التغيير على مستوى الإصدار.
اختر ما إذا كنت تريد السماح بعمليات كتابة الإلحاق المحمية.
يتيح خيار "إلحاق الكائنات الثنائية كبيرة الحجم" لأحمال العمل إضافة كُتل جديدة من البيانات إلى نهاية كائن ثنائي كبير الحجم للإلحاق باستخدام عملية "إلحاق كتلة".
يوفر لك خيار "الكتلة وإلحاق الكائنات الثنائية كبيرة الحجم" نفس الأذونات التي يوفرها خيار "إلحاق الكائنات الثنائية كبيرة الحجم" ولكنه يضيف القدرة على كتابة كُتل جديدة إلى كائن ثنائي كبير الحجم للكتلة. لا توفر واجهة برمجة تطبيقات "Blob Storage" طريقة للتطبيقات للقيام بذلك مباشرة. ومع ذلك، يمكن للتطبيقات إنجاز ذلك باستخدام أساليب الإلحاق والمسح المتوفرة في واجهة برمجة تطبيقات Data Lake Storage. أيضاً، تستخدم بعض تطبيقات Microsoft واجهات برمجة التطبيقات الداخلية لإنشاء كائنات ثنائية كبيرة الحجم للكتلة ثم إلحاقها. إذا كانت أحمال العمل تعتمد على أي من هذه الأدوات، فيمكنك استخدام هذه الخاصية لتجنب الأخطاء التي يمكن أن تظهر عندما تحاول هذه الأدوات إلحاق كُتل بكائن ثنائي كبير الحجم للكتلة.
لمعرفة المزيد حول هذه الخيارات، راجع السماح بعمليات كتابة محمية للكائنات الثنائية كبيرة الحجم للإلحاق.
بعد تكوين نهج عدم قابلية التغيير، سترى أنه تم تحديد نطاقه للحاوية:
لتكوين سياسة احتفاظ تستند إلى الوقت في حاوية باستخدام PowerShell، قم باستدعاء الأمر Set-AzRmStorageContainerImmutabilityPolicy، مع توفير الفاصل الزمني للاحتفاظ بالأيام. تذكر استبدال قيم العناصر النائبة بين أقواس الزاوية بالقيم الخاصة بك:
Set-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName <resource-group> `
-StorageAccountName <storage-account> `
-ContainerName <container> `
-ImmutabilityPeriod 10
للسماح بعمليات كتابة الإلحاق المحمية، عيّن المعلمة -AllowProtectedAppendWrite أو -AllowProtectedAppendWriteAll إلى true.
يتيح خيار "AllowProtectedAppendWrite" لأحمال العمل إضافة كُتل جديدة من البيانات إلى نهاية كائن ثنائي كبير الحجم للإلحاق باستخدام عملية "إلحاق كتلة".
يوفر لك خيار "AllowProtectedAppendWriteAll" نفس الأذونات التي يوفرها خيار "AllowProtectedAppendWrite" ولكنه يضيف القدرة على كتابة كُتل جديدة إلى كائن ثنائي كبير الحجم للكتلة. لا توفر واجهة برمجة تطبيقات "Blob Storage" طريقة للتطبيقات للقيام بذلك مباشرة. ومع ذلك، يمكن للتطبيقات إنجاز ذلك باستخدام أساليب الإلحاق والمسح المتوفرة في واجهة برمجة تطبيقات Data Lake Storage. أيضاً، تستخدم بعض تطبيقات Microsoft واجهات برمجة التطبيقات الداخلية لإنشاء كائنات ثنائية كبيرة الحجم للكتلة ثم إلحاقها. إذا كانت أحمال العمل تعتمد على أي من هذه الأدوات، فيمكنك استخدام هذه الخاصية لتجنب الأخطاء التي يمكن أن تظهر عندما تحاول هذه الأدوات إلحاق كُتل بكائن ثنائي كبير الحجم للكتلة.
لمعرفة المزيد حول هذه الخيارات، راجع السماح بعمليات كتابة محمية للكائنات الثنائية كبيرة الحجم للإلحاق.
لتكوين نهج استبقاء يستند إلى الوقت على حاوية تحتوي على Azure CLI، قم باستدعاء الأمر az storage container immutability-policy create، مع توفير الفاصل الزمني للاحتفاظ بالأيام. تذكر استبدال قيم العناصر النائبة بين أقواس الزاوية بالقيم الخاصة بك:
az storage container immutability-policy create \
--resource-group <resource-group> \
--account-name <storage-account> \
--container-name <container> \
--period 10
للسماح بعمليات كتابة الإلحاق المحمية، عيّن المعلمة --allow-protected-append-writes أو --allow-protected-append-writes-all إلى true.
يتيح خيار "--allow-protected-append-writes" لأحمال العمل إضافة كُتل جديدة من البيانات إلى نهاية كائن ثنائي كبير الحجم للإلحاق باستخدام عملية "إلحاق كتلة".
يوفر لك خيار "--allow-protected-append-writes-all" نفس الأذونات التي يوفرها خيار "--allow-protected-append-writes" ولكنه يضيف القدرة على كتابة كُتل جديدة إلى كائن ثنائي كبير الحجم للكتلة. لا توفر واجهة برمجة تطبيقات "Blob Storage" طريقة للتطبيقات للقيام بذلك مباشرة. ومع ذلك، يمكن للتطبيقات إنجاز ذلك باستخدام أساليب الإلحاق والمسح المتوفرة في واجهة برمجة تطبيقات Data Lake Storage. أيضاً، تستخدم بعض تطبيقات Microsoft واجهات برمجة التطبيقات الداخلية لإنشاء كائنات ثنائية كبيرة الحجم للكتلة ثم إلحاقها. إذا كانت أحمال العمل تعتمد على أي من هذه الأدوات، فيمكنك استخدام هذه الخاصية لتجنب الأخطاء التي يمكن أن تظهر عندما تحاول هذه الأدوات إلحاق كُتل بكائن ثنائي كبير الحجم للكتلة.
لمعرفة المزيد حول هذه الخيارات، راجع السماح بعمليات كتابة محمية للكائنات الثنائية كبيرة الحجم للإلحاق.
تعديل سياسة استبقاء غير مؤمنة
يمكنك تعديل نهج الاحتفاظ المستند إلى الوقت غير المؤمن لتقصير الفاصل الزمني للاحتفاظ أو تطويله والسماح لعمليات الكتابة الإضافية بإلحاق النقاط في الحاوية. يمكنك أيضًا حذف سياسة غير مؤمنة.
لتعديل نهج استبقاء مُستند إلى الوقت غير مؤمن في مدخل Microsoft Azure، اتبع الخطوات التالية:
انتقل إلى الحاوية المَطلوبة.
حدد الزر More واختر Access policy.
ضمن قسم إصدارات غير القابلة للتغيير، حدد موقع النهج الحالي الغير مقفول. حدد الزر More، ثم حدد Edit من القائمة.
توفير فاصل زمني جديد للاحتفاظ بالسياسة. يمكنك أيضًا تحديد السماح بملحقات إضافية محمية للسماح بالكتابة إلى نقاط الإلحاق المحمية.
لحذف سياسة غير مؤمنة، حدد الزر More، ثم Delete.
إشعار
يمكنك تمكين نهج عدم قابلية التغيير على مستوى الإصدار عن طريق تحديد خانة الاختيار تمكين عدم قابلية التغيير على مستوى الإصدار. لمزيد من المعلومات حول تمكين سياسات الثبات على مستوى الإصدار، راجع تكوين نهج الثبات لإصدارات blob.
لتعديل نهج غير مؤمن، قم أولا باسترداد النهج عن طريق استدعاء الأمر Get-AzRmStorageContainerImmutabilityPolicy. بعد ذلك، استدع الأمر Set-AzRmStorageContainerImmutabilityPolicy لتحديث النهج. قم بتضمين الفاصل الزمني الجديد للاحتفاظ بالأيام و -ExtendPolicy المعلمة. تذكر استبدال قيم العناصر النائبة بين أقواس الزاوية بالقيم الخاصة بك:
$policy = Get-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName <resource-group> `
-AccountName <storage-account> `
-ContainerName <container>
Set-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName <resource-group> `
-StorageAccountName <storage-account> `
-ContainerName <container> `
-ImmutabilityPeriod 21 `
-AllowProtectedAppendWriteAll true `
-Etag $policy.Etag `
-ExtendPolicy
لحذف نهج غير مؤمن، استدع الأمر Remove-AzRmStorageContainerImmutabilityPolicy.
Remove-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName <resource-group> `
-AccountName <storage-account> `
-ContainerName <container>
-Etag $policy.Etag
لتعديل نهج استبقاء غير مؤمن يستند إلى الوقت باستخدام Azure CLI، اتصل الأمر az storage container immutability-policy extend مع توفير الفاصل الزمني الجديد للاحتفاظ بالأيام. تذكر استبدال قيم العناصر النائبة بين أقواس الزاوية بالقيم الخاصة بك:
etag=$(az storage container immutability-policy show \
--account-name <storage-account> \
--container-name <container> \
--query etag \
--output tsv)
az storage container immutability-policy extend \
--resource-group <resource-group> \
--account-name <storage-account> \
--container-name <container> \
--period 21 \
--if-match $etag \
--allow-protected-append-writes-all true
لحذف نهج غير مؤمن، استدع الأمر حذف نهج عدم قابلية تغيير حاوية التخزين من az.
تأمين نهج الاستبقاء المستند إلى الوقت
عند الانتهاء من اختبار نهج الاستبقاء بالبيانات المستند إلى الوقت، يمكنك قفل النهج. يتوافق النهج المقفل مع SEC 17a-4 (f) والامتثال التنظيمي الآخر. يمكنك إطالة الفاصل الزمني لاستبقاء البيانات لنهج مؤمّن حتى خمس مرات، ولكن لا يمكنك تقصيره.
بعد تأمين النهج، لا يمكنك حذفه. ومع ذلك، يمكنك حذف blob بعد انتهاء الفاصل الزمني للاحتفاظ.
لتعيين النهج مع مدخل Microsoft Azure، اتبع الخطوات التالية:
- انتقل إلى حاوية باستخدام سياسة غير مؤمنة.
- ضمن قسم إصدارات غير القابلة للتغيير، حدد موقع النهج الحالي الغير مقفول. حدد الزر المزيد ، ثم حدد سياسة التأمين من القائمة.
- تأكد من رغبتك في إغلاق النهج.
لتأمين نهج باستخدام PowerShell، قم أولًا باستدعاء الأمر Get-AzRmStorageContainerImmutabilityPolicy لاسترداد ETag الخاص بالنهج. بعد ذلك، استدع الأمر Lock-AzRmStorageContainerImmutabilityPolicy ومرر قيمة ETag لتأمين النهج. تذكر استبدال قيم العناصر النائبة بين أقواس الزاوية بالقيم الخاصة بك:
$policy = Get-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName <resource-group> `
-AccountName <storage-account> `
-ContainerName <container>
Lock-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName <resource-group> `
-AccountName <storage-account> `
-ContainerName <container> `
-Etag $policy.Etag
لتأمين سياسة مع Azure CLI، قم أولاً باستدعاء أمر عرض سياسة عدم التغيير لحاوية تخزين az لاسترداد ETag للسياسة. بعد ذلك، اتصل بالأمر قفل نهج عدم قابلية التغيير لحاوية التخزين az وقم بتمرير قيمة ETag لتأمين السياسة. تذكر استبدال قيم العناصر النائبة بين أقواس الزاوية بالقيم الخاصة بك:
etag=$(az storage container immutability-policy show \
--account-name <storage-account> \
--container-name <container> \
--query etag \
--output tsv)
az storage container immutability-policy lock \
--resource-group <resource-group> \
--account-name <storage-account> \
--container-name <container> \
--if-match $etag
يخزن نظام التعليق القانوني بيانات غير قابلة ل التجزئة حتى يتم مسح وضع التعليق القانوني بشكل صريح. لمعرفة المزيد حول سياسات الاحتجاز القانوني، راجع عمليات الاحتجاز القانونية للحصول على بيانات blob غير القابلة للتغيير.
لتكوين تعليق قانوني على حاوية مع مدخل Microsoft Azure اتبع الخطوات التالية:
انتقل إلى الحاوية المَطلوبة.
حدد الزر More واختر Access policy.
ضمن قسم إصدارات كائنات ثنائية كبيرة الحجم الثابتة ، حدد إضافة نهج.
اختر "التحفظ على المعلومات حتى التقاضي" كنوع النهج.
أضف علامة أو أكثر من علامات التحفظ على المعلومات حتى التقاضي.
اختر ما إذا كنت تريد السماح بعمليات كتابة الإلحاق المحمية، ثم حدد "حفظ".
يتيح خيار "إلحاق الكائنات الثنائية كبيرة الحجم" لأحمال العمل إضافة كُتل جديدة من البيانات إلى نهاية كائن ثنائي كبير الحجم للإلحاق باستخدام عملية "إلحاق كتلة".
يضيف هذا الإعداد أيضاً القدرة على كتابة كُتل جديدة إلى كائن ثنائي كبير الحجم للكتلة. لا توفر واجهة برمجة تطبيقات "Blob Storage" طريقة للتطبيقات للقيام بذلك مباشرة. ومع ذلك، يمكن للتطبيقات إنجاز ذلك باستخدام أساليب الإلحاق والمسح المتوفرة في واجهة برمجة تطبيقات Data Lake Storage. تُمكّن هذه الخاصية أيضاً تطبيقات Microsoft مثل Azure Data Factory من إلحاق كُتل البيانات باستخدام واجهات برمجة التطبيقات الداخلية. إذا كانت أحمال العمل تعتمد على أي من هذه الأدوات، فيمكنك استخدام هذه الخاصية لتجنب الأخطاء التي يمكن أن تظهر عندما تحاول هذه الأدوات إلحاق البيانات بالكائنات الثنائية كبيرة الحجم.
لمعرفة المزيد حول هذه الخيارات، راجع السماح بعمليات كتابة محمية للكائنات الثنائية كبيرة الحجم للإلحاق.
بعد تكوين نهج عدم قابلية التغيير، سترى أنه تم تحديد نطاقه للحاوية:
تعرض الصورة التالية حاوية تم تكوين كل من سياسة الاحتفاظ المستندة إلى الوقت والاحتفاظ القانوني.
لمسح احتجاز قانوني، انتقل إلى مربع الحوار نهج الوصول، وفي قائمة السياق الخاصة بالنهج، حدد تحرير. بعد ذلك، احذف كافة العلامات للنهج لمسح قائمة الاحتجاز.
لتكوين تعليق قانوني على حاوية باستخدام PowerShell، استخدم الأمر Add-AzRmStorageContainerLegalHold. تذكر استبدال قيم العناصر النائبة بين أقواس الزاوية بالقيم الخاصة بك:
Add-AzRmStorageContainerLegalHold -ResourceGroupName <resource-group> `
-StorageAccountName <storage-account> `
-Name <container> `
-Tag <tag1>,<tag2>,...`
-AllowProtectedAppendWriteAll true
لمسح عملية تعليق بيانات قانونية، استخدم الأمر Remove-AzRmStorageContainerLegalHold:
Remove-AzRmStorageContainerLegalHold -ResourceGroupName <resource-group> `
-StorageAccountName <storage-account> `
-Name <container> `
-Tag <tag1>,<tag2>,...
لتكوين تعليق قانوني على حاوية باستخدام PowerShell، استخدم الأمر az storage container legal-hold set. تذكر استبدال قيم العناصر النائبة بين أقواس الزاوية بالقيم الخاصة بك:
az storage container legal-hold set \
--tags tag1 tag2 \
--container-name <container> \
--account-name <storage-account> \
--resource-group <resource-group> \
--allow-protected-append-writes-all true
لمسح تعليق قانوني، استخدم الأمر az storage container legal-hold clear:
az storage container legal-hold clear \
--tags tag1 tag2 \
--container-name <container> \
--account-name <storage-account> \
--resource-group <resource-group> \
الخطوات التالية