اعتبارات الأمان لشروط تعيين دور Azure في Azure Blob Storage

لتأمين الموارد بشكل كامل باستخدام التحكم في الوصول المستند إلى سمات Azure (Azure ABAC)، يجب عليك أيضًا حماية السمات المستخدمة في شروط تعيين دور Azure. على سبيل المثال، إذا كانت حالتك تستند إلى مسار ملف، فيجب عليك الحذر من إمكانية اختراق الوصول إذا كان لدى المدير إذن غير مقيد لإعادة تسمية مسار ملف.

توضح هذه المقالة اعتبارات الأمان التي يجب مراعاتها في شروط تعيين الدور.

هام

يتوفر التحكم في الوصول المستند إلى سمة Azure (Azure ABAC) بشكل عام (GA) للتحكم في الوصول إلى Azure Blob Storage وAzure Data Lake Storage Gen2 وقوائم انتظار Azure باستخدام requestresourceenvironmentprincipal سمات و في كل من مستويات أداء حساب التخزين القياسية والمتميزة. حاليا، توجد سمة مورد بيانات تعريف الحاوية وسمة طلب قائمة كائن ثنائي كبير الحجم في PREVIEW. للحصول على معلومات حالة الميزة الكاملة ل ABAC لتخزين Azure، راجع حالة ميزات الشرط في Azure Storage.

للحصول على الشروط القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي، أو المعاينة، أو التي لم يتم إصدارها بعد في التوفر العام، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.

استخدام آليات الإذن الأخرى

يتم تقييم شروط تعيين الدور فقط عند استخدام Azure RBAC للتفويض. يمكن تجاوز هذه الشروط إذا سمحت بالوصول باستخدام طرق تخويل بديلة:

وبالمثل، لا يتم تقييم الشروط عند منح الوصول باستخدام قوائم التحكم في الوصول (ACLs) في حسابات التخزين ذات مساحة اسم هرمية (HNS).

يمكنك منع تخويل المفتاح المشترك وSAS على مستوى الحساب وSAS على مستوى الخدمة عن طريق تعطيل تفويض المفتاح المشترك لحساب التخزين الخاص بك. نظرًا لأن تفويض المستخدم SAS يعتمد على Azure RBAC، يتم تقييم شروط تعيين الدور عند استخدام طريقة التخويل هذه.

تأمين سمات التخزين المستخدمة في الظروف

مسار البيانات كبيرة الحجم

عند استخدام مسار النقطة كسمة @Resource لشرط، يجب عليك أيضًا منع المستخدمين من إعادة تسمية نقطة للوصول إلى ملف عند استخدام الحسابات التي تحتوي على مساحة اسم هرمية. على سبيل المثال، إذا كنت تريد تأليف شرط استنادًا إلى مسار كائن ثنائي كبير الحجم، فيجب عليك أيضًا تقييد وصول المستخدم إلى الإجراءات التالية:

الإجراء ‏‏الوصف
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action يسمح هذا الإجراء للعملاء بإعادة تسمية ملف باستخدام واجهة برمجة تطبيقات إنشاء مسار.
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action يسمح هذا الإجراء بالوصول إلى مختلف عمليات نظام الملفات والمسار.

علامات فهرس البيانات كبيرة الحجم

تستخدم علامات فهرس Blob كسمات حرة الشكل للظروف في التخزين. إذا قمت بتأليف أي شروط وصول باستخدام هذه العلامات، فيجب عليك أيضًا حماية العلامات نفسها. على وجه التحديد، Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write يسمح DataAction للمستخدمين بتعديل العلامات على كائن تخزين. يمكنك تقييد هذا الإجراء لمنع المستخدمين من التلاعب بمفتاح علامة أو قيمة للوصول إلى كائنات غير مصرح بها.

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

العلامات على الكائنات الثنائية كبيرة الحجم المنسوخة

بشكل افتراضي، لا يتم نسخ علامات فهرس كائن ثنائي كبير الحجم من كائن ثنائي كبير الحجم المصدر إلى الوجهة عند استخدام Copy Blob API أو أي من متغيراته. للحفاظ على نطاق الوصول إلى عند النسخ، يجب عليك نسخ العلامات أيضًا.

العلامات على اللقطات

لا يمكن تعديل العلامات الموجودة على لقطات الكائن الثنائي كبير الحجم. لذلك، يجب تحديث العلامات على كائن ثنائي كبير الحجم قبل أخذ اللقطة. إذا قمت بتعديل العلامات على كائن ثنائي كبير الحجم أساسي، تستمر العلامات الموجودة في اللقطة الخاصة بها في الحصول على قيمتها السابقة.

إذا تم تعديل علامة على نقطة أساسية بعد التقاط لقطة، فقد يختلف نطاق الوصول عن الكائن الثنائي الكبير الحجم الأساسية واللقطة.

العلامات على إصدارات الكائن الثنائي الكبير الحجم

لا يتم نسخ علامات فهرس النقطة عند إنشاء إصدار كائن ثنائي كبير الحجم من خلال واجهات برمجة تطبيقات Put Blob أو Put Block List أو Copy Blob. يمكنك تحديد العلامات من خلال رأس واجهات برمجة التطبيقات هذه.

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

قيود الاستعلام والتصفية للإصدارات واللقطات

عند استخدام العلامات للاستعلام عن الكائنات الثنائية كبيرة الحجم وتصفيتها في حاوية، يتم تضمين الكائنات الثنائية كبيرة الحجم الأساسية فقط في الاستجابة. لا يتم تضمين إصدارات الكائن الثنائي كبير الحجم أو اللقطات التي تحتوي على المفاتيح والقيم المطلوبة.

الأدوار والأذونات

إذا كنت تستخدم شروط تعيين الدور لأدوار Azure المضمنة، فيجب عليك مراجعة جميع الأذونات التي يمنحها الدور للمدير بعناية.

تعيينات الأدوار الموروثة

يمكن تكوين تعيينات الأدوار لمجموعة إدارة أو اشتراك أو مجموعة موارد أو حساب تخزين أو حاوية، ويتم توريثها على كل مستوى بالترتيب المعلن. يحتوي Azure RBAC على نموذج إضافي، لذا فإن الأذونات الفعالة هي مجموع تعيينات الدور على كل مستوى. إذا كان لدى المدير نفس الإذن المعين له من خلال تعيينات أدوار متعددة، تقييم الوصول إلى عملية باستخدام هذا الإذن بشكل منفصل لكل مهمة على كل مستوى.

نظرًا لأنه يتم تنفيذ الشروط كشروط في تعيينات الأدوار، يمكن لأي تعيين دور غير مشروط أن يسمح للمستخدمين بتجاوز الشرط. لنفترض أنك قمت بتعيين دور Storage Blob Data Contributor لمستخدم لحساب تخزين وعلى اشتراك، ولكنك أضفت شرطا فقط إلى تعيين حساب التخزين. والنتيجة هي أن المستخدم لديه حق وصول غير مقيد إلى حساب التخزين من خلال تعيين الدور على مستوى الاشتراك.

لذلك، يجب تطبيق الشروط باستمرار على جميع تعيينات الأدوار عبر التسلسل الهرمي للموارد.

اعتبارات أخرى

عمليات الشرط التي تكتب الكائنات الثنائية الكبيرة الحجم

تتطلب العديد من العمليات التي تكتب النقط إما الإذن Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write أو الإذن Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action. تمنح الأدوار المضمنة، مثل Storage Blob Data Owner وStorage Blob Data Contributor، كلا الأذونات لمبدأ الأمان.

عند تعريف شرط تعيين دور على هذه الأدوار، يجب عليك استخدام شروط متطابقة على كل من هذه الأذونات لضمان قيود وصول متسقة لعمليات الكتابة.

سلوك نسخ الكائن الثنائي الكبير الحجم ونسخ الكائن الثنائي الكبير الحجم من عنوان URL

بالنسبة لعمليات نسخ الكائن الثنائي الكبير الحجمونسخ الكائن الثنائي الكبير الحجم من عنوان URL، يتم تقييم الشروط @Request التي تستخدم مسار النقطة كسمة على الإجراء Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write وعملياته الفرعية فقط للنقطة الوجهة.

بالنسبة للشروط الموجودة على النقطة المصدر، يتم تقييم الشروط @Resource المتعلقة بالإجراء Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read.

(راجع أيضًا )