تخويل الوصول إلى الكائنات الثنائية كبيرة الحجم باستخدام Microsoft Azure Active Directory
يدعم Azure Storage استخدام Azure Active Directory (Azure AD) لتخويل طلبات بيانات كائنات blob. باستخدام Microsoft Azure Active Directory، يمكنك استخدام التحكم في الوصول استنادًا إلى الدور لـ Azure (Azure RBAC) لمنح أذونات لأساس الأمان، والذي قد يكون عبارة عن مستخدم أو مجموعة أو كيان خدمة تطبيق. يتم مصادقة أساس الأمان بواسطة Azure AD لإرجاع رمز OAuth 2.0. يمكن استخدام الرمز المميز لاحقاً لتخويل طلب مقابل خدمة Blob.
إن تخويل الطلبات مقابل Azure Storage باستخدام Azure AD يوفر أمانًا أعلى وسهولة استخدام عبر تخويل «المفتاح المشترك». توصي Microsoft باستخدام تخويل Azure AD مع تطبيقات blob الخاصة بك عندما يكون ذلك ممكناً لضمان الوصول بالحد الأدنى من الامتيازات المطلوبة.
يتوفر التفويض باستخدام Azure AD لجميع حسابات التخزين ذات الأغراض العامة وكائن ثنائي كبير الحجم في جميع المناطق العامة والسحب الوطنية. تدعم حسابات التخزين التي تم إنشاؤها باستخدام نموذج توزيع Azure Resource Manager فقط تخويل Azure AD.
بالإضافة إلى ذلك، يدعم تخزين Blob إنشاء توقيعات الوصول المشترك (SAS) الموقعة باستخدام بيانات اعتماد Azure AD. لمزيد من المعلومات، راجع منح وصول محدود إلى البيانات مع توقيعات الوصول المشترك (SAS).
نظرة عامة على Azure AD لكائنات Blob
عندما يحاول أحد عناصر أساسيات الأمان (مستخدم أو مجموعة أو تطبيق) الوصول إلى مورد blob، يجب أن يكون الطلب معتمداً، إلا إذا كان متوفراً للوصول المجهول. باستخدام Microsoft Azure Active Directory، يعد الوصول إلى مورد عملية من خطوتين. يتم أولاً مصادقة هوية أساس الأمان، ويتم إرجاع رمز OAuth 2.0 المميز. بعد ذلك، يتم تمرير الرمز المميز كجزء من طلب لخدمة Blob واستخدامه بواسطة الخدمة للسماح بالوصول إلى المورد المحدد.
تتطلب خطوة المصادقة أن يحتوي طلب التطبيق على رمز وصول OAuth 2.0 المميز عند وقت التشغيل. إذا كان أحد التطبيقات قيد التشغيل من داخل كيان Azure مثل الجهاز الظاهري لـ Azure أو مجموعة مقاييس الجهاز الظاهري أو تطبيق «دالات Azure»، يمكنه استخدام هوية مدارة للوصول إلى بيانات blob. لمعرفة كيفية تخويل الطلبات المقدمة بواسطة هوية مدارة إلى خدمة Azure Blob، راجع تخويل الوصول إلى بيانات blob باستخدام هويات مدارة لموارد Azure.
تتطلب خطوة التخويل تعيين دور واحد أو أكثر للتحكم في الوصول استناداً إلى الدور في Azure إلى أساس الأمان الذي بإجراء طلب. لمزيد من المعلومات، راجع تعيين أدوار Azure لحقوق الوصول.
يمكن للتطبيقات الأصلية وتطبيقات الويب التي تقدم طلبات إلى خدمة Azure Blob أيضاً تخويل الوصول باستخدام Azure AD. لمعرفة كيفية طلب رمز وصول مميز واستخدامه لتخويل الطلبات، راجع تخويل الوصول إلى تخزين Azure باستخدام Azure AD من تطبيق تخزين Azure.
يتم دعم تخويل عمليات بيانات blob باستخدام Azure AD فقط لإصدارات واجهة برمجة تطبيقات REST 2017-11-09 والإصدارات الأحدث. لمزيد من المعلومات، راجع تعيين الإصدار لخدمات Azure Storage.
تعيين أدوار Azure لحقوق الوصول
يأذن Microsoft Azure Active Directory (Azure AD) بحقوق الوصول إلى الموارد الآمنة من خلا لالتحكم في الوصول استناداً إلى دور Azure (Azure RBAC). يحدد Azure Storage مجموعة من الأدوار المضمنة للتحكم في الوصول استناداً إلى الدور، والتي تتضمن مجموعات شائعة من الأذونات المستخدمة للوصول إلى بيانات blob. يمكنك أيضاً تحديد أدوار مخصصة للوصول إلى بيانات blob. لمعرفة المزيد حول تعيين أدوار Azure للوصول إلى blob، راجع تعيين دور Azure للوصول إلى بيانات blob.
يمكن لأساس أمان Microsoft Azure Active Directory أن يكون مستخدم أو مجموعة أو كيان خدمة تطبيق أو هوية مُدارة لموارد Azure. تحدد أدوار التحكم في الوصول استناداً إلى الدور التي تم تعيينها إلى أحد أساسيات الأمان الأذونات التي يحصل عليها الأساس. لمعرفة المزيد حول تعيين أدوار Azure للوصول إلى blob، راجع تعيين دور Azure للوصول إلى بيانات blob
في بعض الحالات، قد تحتاج إلى تمكين الوصول الدقيق إلى موارد blob أو تبسيط الأذونات عندما يكون لديك عدد كبير من تعيينات الأدوار لمورد تخزين. يمكنك استخدام التحكم في الوصول المستند إلى سمات Azure (Azure ABAC) لتكوين الشروط المتعلقة بتعيينات الأدوار. يمكنك استخدام الشروط مع دور مخصص أو تحديد أدوار مضمنة. لمزيد من المعلومات حول تكوين شروط موارد تخزين Azure باستخدام ABAC، راجع تخويل الوصول إلى كائنات blob باستخدام شروط تعيين دور Azure (الإصدار الأولي). للحصول على تفاصيل حول الشروط المعتمدة لعمليات بيانات blob، راجع الإجراءات والسمات الخاصة بشروط تعيين دور Azure في Azure Storage (الإصدار الأولي).
نطاق المورد
قبل تعيين دور التحكم في الوصول استناداً إلى الدور لـ Azure إلى أساس أمان، حدد نطاق الوصول الذي يجب أن يكون لأساس الأمان. تقتضي أفضل الممارسات أنه من الأفضل دائمًا منح أضيق نطاق ممكن فقط. تنتقل صلاحيات أدوار التحكم في الوصول استناداً إلى الدور لـ Azure المحددة على نطاق أوسع إلى الموارد الموجودة أسفلها.
يمكنك تحديد نطاق الوصول إلى موارد Azure blob على المستويات التالية، بدءاً من النطاق الأضيق:
- حاوية فردية. في هذا النطاق، ينطبق تعيين الدور على جميع النقاط الموجودة في الحاوية، بالإضافة إلى خصائص الحاوية وبيانات التعريف.
- حساب التخزين. في هذا النطاق، ينطبق تعيين الدور على جميع الحاويات وكائنات blob الخاصة بها.
- مجموعة الموارد. في هذا النطاق، ينطبق تعيين دور على كافة الحاويات في كافة حسابات التخزين في مجموعة الموارد.
- الاشتراك. في هذا النطاق، ينطبق تعيين الدور على كافة الحاويات في كافة حسابات التخزين في كافة مجموعات الموارد في الاشتراك.
- مجموعة الإدارة. في هذا النطاق، ينطبق تعيين دور على كافة الحاويات في كافة حسابات التخزين في كافة مجموعات الموارد في كافة الاشتراكات في مجموعة الإدارة.
لمزيد من المعلومات حول نطاق تعيينات دور التحكم في الوصول استناداً إلى الدور لـ Azure، راجع فهم نطاق التحكم في الوصول استناداً إلى الدور لـ Azure.
أدوار مضمنة لكائنات blob في Azure
يوفر التحكم في الوصول استناداً إلى الدور لـ Azure عدداً من الأدوار المضمنة لتخويل الوصول إلى بيانات blob باستخدام Azure AD وOAuth. تتضمن بعض الأمثلة على الأدوار التي توفر أذونات لموارد البيانات في Azure Storage ما يلي:
- مالك بيانات Storage Blob: يستخدم لتعيين الملكية وإدارة التحكم في الوصول إلى POSIX لـ Azure Data Lake Storage Gen2. لمزيد من المعلومات، راجع التحكم في الوصول في Azure Data Lake Storage Gen2.
- مساهم بيانات Storage Blob: يستخدم لمنح أذونات القراءة / الكتابة / الحذف لموارد تخزين Blob.
- قارئ بيانات Storage Blob: يستخدم لمنح أذونات للقراءة فقط لموارد تخزين Blob.
- مفوض Storage Blob: احصل على مفتاح تفويض مستخدم لاستخدامه لإنشاء توقيع وصول مشترك موقع باستخدام بيانات اعتماد Azure AD لحاوية أو كائن ثنائي كبير الحجم.
لمعرفة كيفية تعيين دور Azure مضمن إلى مسؤول أمان، راجع تعيين دور Azure للوصول إلى بيانات blob. لمعرفة كيفية إدراج أدوار التحكم في الوصول استناداً إلى الدور لـ Azure وأذوناتها، راجع إدراج تعريفات دور Azure.
لمزيد من المعلومات حول كيفية تعريف الأدوار المضمنة لـ Azure Storage، راجع فهم تعريفات الدور. للحصول على معلومات حول إنشاء أدوار Azure مخصصة، يرجى مراجعةأدوار Azure المخصصة.
فقط الأدوار المحددة صراحة للوصول إلى البيانات تسمح لأساس الأمان بالوصول إلى بيانات blob. تسمح الأدوار المضمنة، مثل المالك والمساهم ومساهم حساب التخزين لأساس الأمان بإدارة حساب التخزين، ولكنها لا توفر الوصول إلى بيانات blob داخل هذا الحساب عبر Azure AD. ومع ذلك، إذا كان الدور يتضمن Microsoft.Storage/storageAccounts/listKeys/action، يمكن للمستخدم الذي تم تعيين هذا الدور له الوصول إلى البيانات الموجودة في حساب التخزين عبر تخويل المفتاح المشترك باستخدام مفاتيح الوصول إلى الحساب. لمزيد من المعلومات، راجع اختيار كيفية تخويل الوصول إلى بيانات blob في مدخل Azure.
للحصول على معلومات مفصلة حول أدوار Azure المضمنة لـ Azure Storage لكل من خدمات البيانات وخدمة الإدارة، راجع قسم التخزين في أدوار Azure المضمنة للتحكم في الوصول استناداً إلى الدور لـ Azure. بالإضافة إلى ذلك، للحصول على معلومات حول الأدوار المختلفة التي توفر أذونات في Azure، راجع أدوار مسؤول الاشتراك الكلاسيكي وأدوار Azure وأدوار Azure AD.
هام
قد يستغرق نشر تعيينات الأدوار في Azure حوالي 30 دقيقة.
أذونات الوصول لعمليات البيانات
لمعرفة التفاصيل حول الأذونات المطلوبة لاستدعاء عمليات خدمة Blob المحددة، راجع أذونات استدعاء عمليات البيانات.
الوصول إلى البيانات باستخدام حساب Azure AD
يمكن تخويل الوصول إلى بيانات blob عبر مدخل Azure أو PowerShell أو Azure CLI، إما باستخدام حساب Azure AD الخاص بالمستخدم أو باستخدام مفاتيح الوصول إلى الحساب (تخويل المفتاح المشترك).
الوصول إلى البيانات من مدخل Azure
يمكن لمدخل Azure استخدام حساب Azure AD أو مفاتيح الوصول إلى الحساب للوصول إلى بيانات blob في حساب تخزين Azure. يعتمد نظام المصادقة الذي يستخدمه مدخل Azure على أدوار Azure التي تم تعيينها لك.
عند محاولة الوصول إلى بيانات blob في مدخل Azure، يتحقق المدخل أولاً ما إذا كان قد تم تعيين دور لك مع Microsoft.Storage/storageAccounts/listkeys/action. إذا عين دور لك بهذا الإجراء، فإن مدخل Azure يستخدم مفتاح الحساب للوصول إلى بيانات blob عبر تخويل المفتاح المشترك. إذا لم يتم تعيين دور لك بهذا الإجراء، فسيحاول مدخل Azure الوصول إلى البيانات باستخدام حساب Azure AD الخاص بك.
للوصول إلى بيانات blob من مدخل Azure باستخدام حساب Azure AD الخاص بك، تحتاج إلى أذونات للوصول إلى بيانات blob، وتحتاج أيضاً إلى أذونات للتنقل عبر موارد حساب التخزين في مدخل Azure. تمنح الأدوار المضمنة التي يوفرها Azure Storage حق الوصول إلى موارد blob، ولكنها لا تمنح أذونات لموارد حساب التخزين. لهذا السبب، يتطلب الوصول إلى المدخل أيضاً تعيين دور Azure Resource Manager مثل دور القارئ، الذي تم تحديد نطاقه إلى مستوى حساب التخزين أو أعلى. يمنح دور القارئ الأذونات الأكثر تقييدًا، ولكن دور Azure Resource Manager آخر الذي يمنح الوصول إلى موارد إدارة حساب التخزين مقبول أيضًا. لمعرفة المزيد حول كيفية تعيين أذونات للمستخدمين للوصول إلى البيانات في مدخل Azure باستخدام حساب Azure AD، راجع تعيين دور Azure للوصول إلى بيانات blob.
يشير مدخل Azure إلى نظام التخويل المستخدم عند الانتقال إلى حاوية. لمزيد من المعلومات حول الوصول إلى البيانات في المدخل، راجع اختيار كيفية تخويل الوصول إلى بيانات blob في مدخل Azure.
الوصول إلى البيانات من PowerShell أو Azure CLI
يدعم Azure CLI وPowerShell تسجيل الدخول باستخدام بيانات اعتماد Azure AD. بعد تسجيل الدخول، يتم تشغيل جلسة العمل الخاصة بك ضمن بيانات الاعتماد هذه. لمعرفة المزيد، راجع المقالات التالية:
- اختيار كيفية تخويل الوصول إلى بيانات blob باستخدام Azure CLI
- تشغيل أوامر PowerShell باستخدام بيانات اعتماد Azure AD للوصول إلى بيانات كائن ثنائي كبير الحجم
دعم الميزة
يوضح هذا الجدول كيفية دعم هذه الميزة في حسابك وتأثيرها على الدعم عند تمكين قدرات معينة.
| نوع حساب التخزين | Blob Storage (الدعم الافتراضي) | Data Lake Storage Gen2 1 | NFS 3.0 1 | SFTP 1 |
|---|---|---|---|---|
| معيار الأغراض العامة v2 | ||||
| Premium كتلة blobs |
1 تتطلب كل من Data Lake Storage Gen2 و Network File System (NFS) 3.0 وSSH File Transfer Protocol (SFTP) حساب تخزين مع تمكين مساحة اسماء هرمية.