تكوين إذن الوصول للقراءة بهوية مجهولة إلى الحاويات والكائنات الثنائية الكبيرة الحجم
يدعم Azure Storage الوصول الاختياري للقراءة المجهولة للحاويات والكائنات الثنائية كبيرة الحجم. بشكل افتراضي، لا يتاح مطلقًا بالوصول المجهول إلى بياناتك. ما لم تقم بتمكين الوصول المجهول صراحةً، يجب أن تتم الموافقة على جميع الطلبات إلى الحاوية والكائنات الكبيرة ثنائية الحجم الخاصة بها. عند تكوين إعداد مستوى وصول الحاوية للسماح بالوصول المجهول، يمكن للعملاء قراءة البيانات في تلك الحاوية دون تفويض الطلب.
تحذير
عند تكوين حاوية للوصول المجهول، يمكن لأي عميل قراءة البيانات في تلك الحاوية. يمثل الوصول المجهول خطرا أمنيا محتملا، لذلك إذا كان السيناريو الخاص بك لا يتطلب ذلك، نوصيك بتصحيح الوصول المجهول لحساب التخزين.
توضح هذه المقالة كيفية تكوين الوصول للقراءة المجهولة للحاوية والكائنات الثنائية كبيرة الحجم الخاصة بها. للحصول على معلومات حول كيفية معالجة الوصول المجهول للحصول على الأمان الأمثل، راجع إحدى هذه المقالات:
- معالجة الوصول للقراءة المجهولة إلى بيانات الكائن الثنائي كبير الحجم (عمليات نشر Azure Resource Manager)
- معالجة الوصول للقراءة المجهولة إلى بيانات الكائن الثنائي كبير الحجم (عمليات النشر الكلاسيكية)
حول الوصول للقراءة المجهول
يحظر دائما الوصول المجهول إلى بياناتك بشكل افتراضي. هناك إعدادان منفصلان يؤثران على الوصول المجهول:
إعداد الوصول المجهول لحساب التخزين. يوفر حساب تخزين Azure Resource Manager إعدادا للسماح بالوصول المجهول للحساب أو عدم السماح به. توصي Microsoft بعدم السماح بالوصول المجهول لحسابات التخزين للحصول على الأمان الأمثل.
عندما يسمح بالوصول المجهول على مستوى الحساب، لا تتوفر بيانات الكائن الثنائي كبير الحجم للوصول للقراءة المجهولة ما لم يتخذ المستخدم الخطوة الإضافية لتكوين إعداد الوصول المجهول للحاوية بشكل صريح.
تكوين إعداد الوصول المجهول للحاوية. بشكل افتراضي، يتم تعطيل إعداد الوصول المجهول للحاوية، ما يعني أن التخويل مطلوب لكل طلب إلى الحاوية أو بياناتها. يمكن للمستخدم الذي لديه الأذونات المناسبة تعديل إعداد الوصول المجهول للحاوية لتمكين الوصول المجهول فقط إذا تم السماح بالوصول المجهول لحساب التخزين.
يلخص الجدول التالي كيفية تأثير الإعدادين معا على الوصول المجهول للحاوية.
يتم تعيين مستوى الوصول المجهول للحاوية إلى خاص (إعداد افتراضي) | تم تعيين مستوى الوصول المجهول للحاوية إلى Container | تم تعيين مستوى الوصول المجهول للحاوية إلى Blob | |
---|---|---|---|
الوصول المجهول غير مسموح به لحساب التخزين | لا يوجد وصول مجهول إلى أي حاوية في حساب التخزين. | لا يوجد وصول مجهول إلى أي حاوية في حساب التخزين. يتخطى إعداد حساب التخزين إعداد الحاوية. | لا يوجد وصول مجهول إلى أي حاوية في حساب التخزين. يتخطى إعداد حساب التخزين إعداد الحاوية. |
يسمح بالوصول المجهول لحساب التخزين | لا يوجد وصول مجهول إلى هذه الحاوية (التكوين الافتراضي). | يسمح بالوصول المجهول إلى هذه الحاوية والكائنات الثنائية كبيرة الحجم الخاصة بها. | يسمح بالوصول المجهول إلى الكائنات الثنائية كبيرة الحجم في هذه الحاوية، ولكن ليس إلى الحاوية نفسها. |
عندما يسمح بالوصول المجهول لحساب تخزين ويتم تكوينه لحاوية معينة، يتم قبول طلب قراءة كائن ثنائي كبير الحجم في تلك الحاوية التي يتم تمريرها دون Authorization
عنوان من قبل الخدمة، ويتم إرجاع بيانات الكائن الثنائي كبير الحجم في الاستجابة. ومع ذلك، إذا تم تمرير الطلب مع Authorization
عنوان، تجاهل الوصول المجهول على حساب التخزين، ويتم تفويض الطلب استنادا إلى بيانات الاعتماد المقدمة.
السماح بالوصول للقراءة المجهولة لحساب تخزين أو عدم السماح به
عندما يسمح بالوصول المجهول لحساب تخزين، يمكن للمستخدم الذي لديه الأذونات المناسبة تعديل إعداد الوصول المجهول للحاوية لتمكين الوصول المجهول إلى البيانات الموجودة في تلك الحاوية. لا تتوفر بيانات Blob أبدا للوصول المجهول ما لم يتخذ المستخدم الخطوة الإضافية لتكوين إعداد الوصول المجهول للحاوية بشكل صريح.
ضع في اعتبارك أن الوصول المجهول إلى حاوية يكون دائما متوقفا عن التشغيل بشكل افتراضي ويجب تكوينه بشكل صريح للسماح بالطلبات المجهولة. بغض النظر عن الإعداد على حساب التخزين، لن تكون بياناتك متاحة أبدا للوصول المجهول ما لم يتخذ المستخدم الذي لديه الأذونات المناسبة هذه الخطوة الإضافية لتمكين الوصول المجهول على الحاوية.
يؤدي عدم السماح بالوصول المجهول لحساب التخزين إلى تجاوز إعدادات الوصول لجميع الحاويات في حساب التخزين هذا، ما يمنع الوصول المجهول إلى بيانات الكائن الثنائي كبير الحجم في هذا الحساب. عندما لا يسمح بالوصول المجهول للحساب، لا يمكن تكوين إعداد الوصول للحاوية للسماح بالوصول المجهول، وتفشل أي طلبات مجهولة مستقبلية لهذا الحساب. قبل تغيير هذا الإعداد، تأكد من فهم التأثير على تطبيقات العميل التي قد تصل إلى البيانات في حساب التخزين الخاص بك بشكل مجهول. لمزيد من المعلومات، راجع منع الوصول للقراءة المجهولة إلى الحاويات والكائنات الثنائية كبيرة الحجم.
هام
بعد عدم السماح بالوصول المجهول لحساب تخزين، سيجد العملاء الذين يستخدمون تحدي الحامل المجهول أن Azure Storage يرجع خطأ 403 (ممنوع) بدلا من خطأ 401 (غير مصرح به). نوصي بجعل جميع الحاويات خاصة للتخفيف من هذه المشكلة. لمزيد من المعلومات حول تعديل إعداد الوصول المجهول للحاويات، راجع تعيين مستوى الوصول للحاوية.
يتطلب السماح بالوصول المجهول أو عدم السماح به الإصدار 2019-04-01 أو أحدث من موفر موارد Azure Storage. للحصول على مزيدٍ من المعلومات، راجع Azure Storage Resource Provider REST API.
أذونات عدم السماح بالوصول المجهول
لتعيين الخاصية AllowBlobAnonymousAccess لحساب التخزين، يجب أن يكون لدى المستخدم أذونات لإنشاء حسابات التخزين وإدارتها. تتضمن أدوار التحكم في الوصول المستندة إلى الدور في Azure (Azure RBAC) التي توفر هذه الأذونات إجراء Microsoft.Storage/storageAccounts/write . وتشمل الأدوار المدمجة مع هذا الإجراء ما يلي:
- دور المالك في Azure Resource Manager
- دور المساهم في إدارة الموارد Azure
- دور المساهم في حساب التخزين
يجب تحديد نطاق تعيينات الدور إلى مستوى حساب التخزين أو أعلى للسماح للمستخدم عدم السماح بالوصول المجهول لحساب التخزين. لمزيد من المعلومات حول نطاق الدور، راجع فهم نطاق التحكم في الوصول استنادًا إلى الدور من Azure.
احرص على تقييد تعيين هذه الأدوار فقط للمستخدمين الإداريين الذين يحتاجون إلى القدرة على إنشاء حساب تخزين أو تحديث خصائصه. استخدم مبدأ أقل الامتيازات لضمان حصول المستخدمين على أقل عدد من الأذونات بحيث تقتصر على ما يحتاجون إليه لإنجاز مهامهم. لمزيد من المعلومات حول إدارة الوصول باستخدام التحكم في الوصول استنادًا إلى الدور من Azure، راجع أفضل الممارسات للتحكم في الوصول استنادًا إلى الدور من Azure.
لا توفر هذه الأدوار الوصول إلى البيانات في حساب تخزين عبر معرف Microsoft Entra. ومع ذلك، فهي تشمل Microsoft.Storage/storageAccounts/listkeys/action، الذي يتيح الوصول إلى مفاتيح الوصول إلى الحساب. وبهذا الإذن، يمكن للمستخدم استخدام مفاتيح الوصول إلى الحساب للوصول إلى جميع البيانات في حساب التخزين.
يمنح Microsoft.Storage/storageAccounts/listkeys/action نفسه الوصول إلى البيانات عبر مفاتيح الحساب، ولكنه لا يمنح المستخدم القدرة على تغيير الخاصية AllowBlobPublicAccess لحساب تخزين. بالنسبة للمستخدمين الذين يحتاجون إلى الوصول إلى البيانات في حساب التخزين الخاص بك ولكن لا ينبغي أن تكون لديهم القدرة على تغيير تكوين حساب التخزين، فكر في تعيين أدوار مثل Storage Blob Data Contributor أو Storage Blob Data Reader أو Reader وData Access.
إشعار
تشمل أدوار مسؤول الاشتراك الكلاسيكي مسؤول الخدمة والمسؤول المشارك ما يعادل دور Azure Resource Managerالمالك. يتضمن دور المالك جميع الإجراءات، لذلك يمكن للمستخدم الذي لديه أحد هذه الأدوار الإدارية أيضا إنشاء حسابات تخزين وإدارة تكوين الحساب. لمزيد من المعلومات، راجع أدوار Azure وأدوار Microsoft Entra وأدوار مسؤول الاشتراك الكلاسيكي.
تعيين الخاصية AllowBlobPublicAccess لحساب التخزين
للسماح بالوصول المجهول لحساب تخزين أو عدم السماح به، قم بتعيين الخاصية AllowBlobPublicAccess للحساب. هذه الخاصية متاحة لجميع حسابات التخزين التي تم إنشاؤها باستخدام نموذج نشر Azure Resource Manager. لمزيد من المعلومات، راجع نظرة عامة على حساب التخزين .
للسماح بالوصول المجهول لحساب تخزين في مدخل Microsoft Azure أو عدم السماح به، اتبع الخطوات التالية:
انتقل إلى حساب التخزين خاصتك في مدخل Microsoft Azure.
حدد موقع إعداد Configuration ضمن Settings.
تعيين السماح بالوصول المجهول للكائن الثنائي كبير الحجم إلى ممكن أو معطل.
إشعار
عدم السماح بالوصول المجهول لحساب تخزين لا يؤثر على أي مواقع ويب ثابتة مستضافة في حساب التخزين هذا. الحاوية $ web متاحة للجمهور دائمًا.
بعد تحديث إعداد الوصول المجهول لحساب التخزين، قد يستغرق الأمر ما يصل إلى 30 ثانية قبل نشر التغيير بالكامل.
عند تكوين حاوية للوصول المجهول، لا تحتاج طلبات قراءة الكائنات الثنائية كبيرة الحجم في تلك الحاوية إلى التصريح بها. ومع ذلك، تظل أي قواعد جدار حماية تم تكوينها لحساب التخزين سارية المفعول وتحظر نسبة استخدام الشبكة المضمنة مع قوائم التحكم في الوصول المكونة.
يتطلب السماح بالوصول المجهول أو عدم السماح به الإصدار 2019-04-01 أو أحدث من موفر موارد Azure Storage. للحصول على مزيدٍ من المعلومات، راجع Azure Storage Resource Provider REST API.
أظهرت الأمثلة في هذا القسم كيفية قراءة الخاصية AllowBlobPublicAccess لحساب التخزين لتحديد ما إذا كان الوصول المجهول مسموحا به حاليا أو غير مسموح به. لمعرفة كيفية التحقق من تكوين إعداد الوصول المجهول للحساب لمنع الوصول المجهول، راجع معالجة الوصول المجهول لحساب التخزين.
تعيين مستوى الوصول المجهول لحاوية
لمنح المستخدمين المجهولين حق الوصول للقراءة إلى حاوية والكائنات الثنائية كبيرة الحجم الخاصة بها، قم أولا بالسماح بالوصول المجهول لحساب التخزين، ثم قم بتعيين مستوى الوصول المجهول للحاوية. إذا تم رفض الوصول المجهول لحساب التخزين، فلن تتمكن من تكوين وصول مجهول للحاوية.
تنبيه
توصي Microsoft بعدم السماح بالوصول المجهول إلى بيانات الكائن الثنائي كبير الحجم في حساب التخزين الخاص بك.
عند السماح بالوصول المجهول لحساب تخزين، يمكنك تكوين حاوية بالأذونات التالية:
- لا يوجد وصول عام للقراءة فقط: لا يمكن الوصول إلى الحاوية والنقاط الكبيرة الخاصة بها إلا من خلال طلب مصرح به. يمثل هذا الخيار الخيار الافتراضي لجميع الحاويات الجديدة.
- الوصول العام للقراءة للكائنات الثنائية كبيرة الحجم فقط: يمكن قراءة الكائنات الثنائية كبيرة الحجم داخل الحاوية عن طريق طلب مجهول، ولكن بيانات الحاوية غير متوفرة بشكل مجهول. لا يمكن للعملاء المجهولين تعداد الكائنات الثنائية كبيرة الحجم داخل الحاوية.
- الوصول العام للقراءة للحاوية والكائنات الثنائية كبيرة الحجم الخاصة بها: يمكن قراءة بيانات الحاوية والكائنات الثنائية الكبيرة بطلب مجهول، باستثناء إعدادات إذن الحاوية وبيانات التعريف للحاوية. يمكن للعملاء تعداد النقاط الكبيرة داخل الحاوية عن طريق طلب مجهول، ولكن لا يمكنهم تعداد الحاويات داخل حساب التخزين.
لا يمكنك تغيير مستوى الوصول المجهول لكائن ثنائي كبير الحجم فردي. يتم تعيين مستوى الوصول المجهول فقط على مستوى الحاوية. يمكنك تعيين مستوى الوصول المجهول للحاوية عند إنشاء الحاوية، أو يمكنك تحديث الإعداد على حاوية موجودة.
لتحديث مستوى الوصول المجهول لحاويات موجودة واحدة أو أكثر في مدخل Microsoft Azure، اتبع الخطوات التالية:
انتقل إلى نظرة عامة حول حساب التخزين في مدخل Microsoft Azure.
ضمن Data storage في شفرة القائمة، حدد Containers.
حدد الحاويات التي تريد تعيين مستوى الوصول المجهول لها.
استخدم الزر تغيير مستوى الوصول لعرض إعدادات الوصول المجهول.
حدد مستوى الوصول المجهول المطلوب من القائمة المنسدلة مستوى الوصول المجهول وحدد الزر موافق لتطبيق التغيير على الحاويات المحددة.
عند عدم السماح بالوصول المجهول لحساب التخزين، لا يمكن تعيين مستوى الوصول المجهول للحاوية. إذا حاولت تعيين مستوى الوصول المجهول للحاوية، يتم تعطيل الإعداد لأن الوصول المجهول غير مسموح به للحساب.
تحقق من إعداد الوصول المجهول لمجموعة من الحاويات
من الممكن التحقق من الحاويات الموجودة في حساب تخزين واحد أو أكثر التي تم تكوينها للوصول المجهول عن طريق سرد الحاويات والتحقق من إعداد الوصول المجهول. يعد هذا النهج خيارا عمليا عندما لا يحتوي حساب التخزين على عدد كبير من الحاويات، أو عند التحقق من الإعداد عبر عدد صغير من حسابات التخزين. ومع ذلك، قد يتأثر الأداء إذا حاولت تعداد عدد كبير من الحاويات.
يستخدم المثال التالي PowerShell للحصول على إعداد الوصول المجهول لكافة الحاويات في حساب تخزين. تذكَّر استبدال قيم العناصر النائبة في الأقواس بالقيم الخاصة بك:
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$storageAccount = Get-AzStorageAccount -ResourceGroupName $rgName -Name $accountName
$ctx = $storageAccount.Context
Get-AzStorageContainer -Context $ctx | Select Name, PublicAccess
دعم الميزة
قد يتأثر دعم هذه الميزة بتمكين Data Lake Storage Gen2 أو بروتوكول نظام ملفات الشبكة (NFS) 3.0 أو بروتوكول نقل ملفات SSH (SFTP). إذا قمت بتمكين أي من هذه الإمكانات، فراجع دعم ميزة Blob Storage في حسابات Azure Storage لتقييم الدعم لهذه الميزة.