تخويل الوصول إلى الكائنات الثنائية كبيرة الحجم باستخدام معرف Microsoft Entra

يدعم Azure Storage استخدام معرف Microsoft Entra لتخويل طلبات بيانات الكائن الثنائي كبير الحجم. باستخدام معرف Microsoft Entra، يمكنك استخدام التحكم في الوصول المستند إلى الدور Azure (Azure RBAC) لمنح أذونات لأساس أمان، والذي قد يكون مستخدما أو مجموعة أو مدير خدمة تطبيق. تتم مصادقة أساس الأمان بواسطة معرف Microsoft Entra لإرجاع رمز OAuth 2.0 المميز. يمكن استخدام الرمز المميز بعد ذلك لتخويل مقابل خدمة الكائن الثنائي كبير الحجم.

يوفر التخويل باستخدام معرف Microsoft Entra أمانا فائقا وسهولة في الاستخدام عبر تخويل المفتاح المشترك. توصي Microsoft باستخدام تخويل Microsoft Entra مع تطبيقات الكائن الثنائي كبير الحجم عندما يكون ذلك ممكنا لضمان الوصول بأقل امتيازات مطلوبة.

يتوفر التخويل باستخدام معرف Microsoft Entra لجميع حسابات تخزين Blob والأغراض العامة في جميع المناطق العامة والسحب الوطنية. تدعم حسابات التخزين التي تم إنشاؤها باستخدام نموذج توزيع Azure Resource Manager تخويل Microsoft Entra فقط.

يدعم تخزين Blob بالإضافة إلى ذلك إنشاء توقيعات الوصول المشترك (SAS) التي تم توقيعها باستخدام بيانات اعتماد Microsoft Entra. لمزيد من المعلومات، راجع منح وصول محدود إلى البيانات مع توقيعات الوصول المشترك (SAS).

نظرة عامة على معرف Microsoft Entra للكائنات الثنائية كبيرة الحجم

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

  1. تتم، أولاً مصادقة هوية أساس الأمان، ويتم إرجاع رمز OAuth 2.0 المميز.

    أولاً، تتطلب خطوة المصادقة طلب تطبيق رمز وصول OAuth 2.0 المميز في وقت التشغيل. إذا كان أحد التطبيقات قيد التشغيل من داخل كيان Azure مثل الجهاز الظاهري لـ Azure أو مجموعة مقاييس الجهاز الظاهري أو تطبيق «دالات Azure»، يمكنه استخدام هوية مدارة للوصول إلى بيانات blob.

  2. بعد ذلك، يتم تمرير الرمز المميز كجزء من طلب لخدمة Blob واستخدامه بواسطة الخدمة للسماح بالوصول إلى المورد المحدد.

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

استخدام حساب Microsoft Entra مع المدخل أو PowerShell أو Azure CLI

للتعرف على كيفية الوصول إلى البيانات في مدخل Microsoft Azure باستخدام حساب Microsoft Entra، راجع الوصول إلى البيانات من مدخل Microsoft Azure. لمعرفة كيفية استدعاء أوامر Azure PowerShell أو Azure CLI باستخدام حساب Microsoft Entra، راجع الوصول إلى البيانات من PowerShell أو Azure CLI.

استخدام معرف Microsoft Entra لتخويل الوصول في التعليمات البرمجية للتطبيق

لتخويل الوصول إلى Azure Storage باستخدام معرف Microsoft Entra، يمكنك استخدام إحدى مكتبات العميل التالية للحصول على رمز OAuth 2.0 المميز:

مكتبة عميل Azure Identity

تبسط مكتبة عميل Azure Identity عملية الحصول على رمز وصول OAuth 2.0 للتخويل باستخدام معرف Microsoft Entra عبر Azure SDK. تتكامل أحدث إصدارات مكتبات عميل Azure Storage لـ .NET و Java و Python و JavaScript و Go مع مكتباتAzure Identity لكل من هذه اللغات لتوفير وسيلة بسيطة وآمنة للحصول على رمز وصول للمصادقة على طلبات تخزين Azure .

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

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

يشير الجدول التالي إلى معلومات إضافية لتخويل الوصول إلى البيانات في سيناريوهات مختلفة:

اللغة .NET Java JavaScript Python انتقال
نظرة عامة على المصادقة باستخدام معرف Microsoft Entra كيفية مصادقة تطبيقات .NET مع خدمات Azure مصادقة Azure باستخدام Java وAzure Identity مصادقة تطبيقات JavaScript إلى Azure باستخدام Azure SDK مصادقة تطبيقات Python إلى Azure باستخدام Azure SDK
المصادقة باستخدام كيانات خدمة المطور مصادقة تطبيقات .NET إلى خدمات Azure أثناء التطوير المحلي باستخدام كيانات الخدمة مصادقة Azure مع كيان الخدمة تطبيقات Auth JS لخدمات Azure مع كيان الخدمة مصادقة تطبيقات Python على خدمات Azure أثناء التطوير المحلي باستخدام أساسيات الخدمة مصادقة Azure SDK ل Go مع كيان الخدمة
المصادقة باستخدام حسابات المطور أو المستخدمين مصادقة تطبيقات .NET إلى خدمات Azure أثناء التطوير المحلي باستخدام حسابات المطورين مصادقة Azure مع بيانات اعتماد المستخدم تطبيقات Auth JS لخدمات Azure باستخدام حسابات التطوير مصادقة تطبيقات Python على خدمات Azure أثناء التطوير المحلي باستخدام حسابات المطورين مصادقة Azure باستخدام Azure SDK ل Go
المصادقة من التطبيقات المستضافة على Azure مصادقة التطبيقات المستضافة من Azure إلى موارد Azure باستخدام Azure SDK ل .NET مصادقة تطبيقات Java المستضافة من Azure مصادقة تطبيقات JavaScript المستضافة من Azure إلى موارد Azure باستخدام Azure SDK ل JavaScript مصادقة التطبيقات المستضافة من Azure إلى موارد Azure باستخدام Azure SDK ل Python المصادقة باستخدام Azure SDK ل Go باستخدام هوية مدارة
المصادقة من التطبيقات المحلية المصادقة على موارد Azure من تطبيقات .NET المستضافة محليا مصادقة تطبيقات JavaScript المحلية إلى موارد Azure المصادقة على موارد Azure من تطبيقات Python المستضافة محليا
نظرة عامة على مكتبة عميل الهوية مكتبة عميل Azure Identity لـ .NET مكتبة عميل Azure Identity لجافا مكتبة عميل Azure Identity لـ JavaScript مكتبة عميل هوية Azure لـ Python مكتبة عميل Azure Identity لـGo

مكتبة مصادقة Microsoft (MSAL)

بينما توصي Microsoft باستخدام مكتبة عميل Azure Identity عندما يكون ذلك ممكنا، قد تكون مكتبة MSAL مناسبة للاستخدام في سيناريوهات متقدمة معينة. لمزيد من المعلومات، راجع التعرف على MSAL.

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

عند توفير معرف مورد خاص بحساب تخزين واحد وخدمة، يتم استخدام معرف المورد للحصول على رمز مميز لتخويل الطلبات إلى الحساب والخدمة المحددين فقط. يسرد الجدول التالي القيمة التي يجب استخدامها لمعرف المورد، استنادا إلى السحابة التي تعمل معها. استبدال <account-name> اسم حساب التخزين الخاص بك.

السحابة معرف المورد
Azure Global https://<account-name>.blob.core.windows.net
Azure Government https://<account-name>.blob.core.usgovcloudapi.net
Azure China 21Vianet https://<account-name>.blob.core.chinacloudapi.cn

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

السحابة معرف المورد
Azure Global
Azure Government
Azure China 21Vianet
https://storage.azure.com/

تعيين أدوار Azure لحقوق الوصول

تخول Microsoft Entra حقوق الوصول إلى الموارد الآمنة من خلال Azure RBAC. يحدد Azure Storage مجموعة من الأدوار المضمنة للتحكم في الوصول استناداً إلى الدور، والتي تتضمن مجموعات شائعة من الأذونات المستخدمة للوصول إلى بيانات blob. يمكنك أيضاً تحديد أدوار مخصصة للوصول إلى بيانات blob. لمعرفة المزيد حول تعيين أدوار Azure للوصول إلى blob، راجع تعيين دور Azure للوصول إلى بيانات blob.

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

في بعض الحالات، قد تحتاج إلى تمكين الوصول الدقيق إلى موارد blob أو تبسيط الأذونات عندما يكون لديك عدد كبير من تعيينات الأدوار لمورد تخزين. يمكنك استخدام التحكم في الوصول المستند إلى سمات Azure ‏(Azure ABAC) لتكوين الشروط المتعلقة بتعيينات الأدوار. يمكنك استخدام الشروط مع دور مخصص أو تحديد أدوار مضمنة. لمزيد من المعلومات حول تكوين شروط موارد تخزين Azure باستخدام ABAC، راجع تخويل الوصول إلى كائنات blob باستخدام شروط تعيين دور Azure (الإصدار الأولي). للحصول على تفاصيل حول الشروط المعتمدة لعمليات بيانات blob، راجع الإجراءات والسمات الخاصة بشروط تعيين دور Azure في Azure Storage (الإصدار الأولي).

إشعار

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

نطاق المورد

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

يمكنك تحديد نطاق الوصول إلى موارد Azure blob على المستويات التالية، بدءاً من النطاق الأضيق:

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

لمزيد من المعلومات حول نطاق تعيينات دور التحكم في الوصول استناداً إلى الدور لـ Azure، راجع فهم نطاق التحكم في الوصول استناداً إلى الدور لـ Azure.

أدوار مضمنة لكائنات blob في Azure

يوفر Azure RBAC العديد من الأدوار المضمنة لتخويل الوصول إلى بيانات الكائن الثنائي كبير الحجم باستخدام معرف Microsoft Entra وOAuth. تتضمن بعض الأمثلة على الأدوار التي توفر أذونات لموارد البيانات في Azure Storage ما يلي:

لمعرفة كيفية تعيين دور Azure مضمن إلى مسؤول أمان، راجع تعيين دور Azure للوصول إلى بيانات blob. لمعرفة كيفية إدراج أدوار التحكم في الوصول استناداً إلى الدور لـ Azure وأذوناتها، راجع إدراج تعريفات دور Azure.

لمزيد من المعلومات حول كيفية تعريف الأدوار المضمنة لـ Azure Storage، راجع فهم تعريفات الدور. للحصول على معلومات حول إنشاء أدوار Azure المخصصة، راجع أدوار Azure المخصصة.

فقط الأدوار المحددة صراحة للوصول إلى البيانات تسمح لأساس الأمان بالوصول إلى بيانات blob. تسمح الأدوار المضمنة مثل المالك والمساهم والمساهم في حساب التخزين لكيان أمان بإدارة حساب تخزين، ولكن لا توفر الوصول إلى بيانات الكائن الثنائي كبير الحجم داخل هذا الحساب عبر معرف Microsoft Entra. ومع ذلك، إذا كان الدور يتضمن Microsoft.Storage/storageAccounts/listKeys/action، يمكن للمستخدم الذي تم تعيين هذا الدور له الوصول إلى البيانات الموجودة في حساب التخزين عبر تخويل المفتاح المشترك باستخدام مفاتيح الوصول إلى الحساب. لمزيد من المعلومات، راجع اختيار كيفية تخويل الوصول إلى بيانات الكائنات الثنائية كبيرة الحجم في مدخل Microsoft Azure.

للحصول على معلومات مفصلة حول أدوار Azure المضمنة لـ Azure Storage لكل من خدمات البيانات وخدمة الإدارة، راجع قسم التخزين في أدوار Azure المضمنة للتحكم في الوصول استناداً إلى الدور لـ Azure. بالإضافة إلى ذلك، للحصول على معلومات حول الأنواع المختلفة للأدوار التي توفر أذونات في Azure، راجع أدوار Azure وأدوار Microsoft Entra وأدوار مسؤول الاشتراك الكلاسيكي.

هام

قد يستغرق نشر تعيينات الأدوار في Azure حوالي 30 دقيقة.

أذونات الوصول لعمليات البيانات

لمعرفة التفاصيل حول الأذونات المطلوبة لاستدعاء عمليات خدمة Blob المحددة، راجع أذونات استدعاء عمليات البيانات.

الوصول إلى البيانات باستخدام حساب Microsoft Entra

يمكن تفويض الوصول إلى بيانات الكائن الثنائي كبير الحجم عبر مدخل Microsoft Azure أو PowerShell أو Azure CLI إما باستخدام حساب Microsoft Entra للمستخدم أو باستخدام مفاتيح الوصول إلى الحساب (تخويل المفتاح المشترك).

تنبيه

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

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

توصي Microsoft بأن يستخدم العملاء إما معرف Microsoft Entra أو توقيع وصول مشترك (SAS) لتخويل الوصول إلى البيانات في Azure Storage. لمزيد من المعلومات، راجع تخويل العمليات للوصول إلى البيانات.

الوصول إلى البيانات من مدخل Azure

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

عند محاولة الوصول إلى بيانات الكائن الثنائي كبير الحجم، يتحقق مدخل Microsoft Azure أولا من تعيين دور Azure لك باستخدام Microsoft.Storage/storageAccounts/listkeys/action. إذا تم تعيين دور لك باستخدام هذا الإجراء، فإن مدخل Microsoft Azure يستخدم مفتاح الحساب للوصول إلى بيانات الكائن الثنائي كبير الحجم عبر تخويل المفتاح المشترك. إذا لم يتم تعيين دور لك باستخدام هذا الإجراء، فسيحاول مدخل Microsoft Azure الوصول إلى البيانات باستخدام حساب Microsoft Entra الخاص بك.

للوصول إلى بيانات الكائن الثنائي كبير الحجم من مدخل Microsoft Azure باستخدام حساب Microsoft Entra الخاص بك، تحتاج إلى أذونات للوصول إلى بيانات الكائن الثنائي كبير الحجم، وتحتاج أيضا إلى أذونات للتنقل عبر موارد حساب التخزين في مدخل Microsoft Azure. تمنح الأدوار المضمنة التي يوفرها Azure Storage حق الوصول إلى موارد blob، ولكنها لا تمنح أذونات لموارد حساب التخزين. لهذا السبب، يتطلب الوصول إلى المدخل أيضاً تعيين دور Azure Resource Manager مثل دور القارئ، الذي تم تحديد نطاقه إلى مستوى حساب التخزين أو أعلى. يمنح دور القارئ الأذونات الأكثر تقييدًا، ولكن دور Azure Resource Manager آخر الذي يمنح الوصول إلى موارد إدارة حساب التخزين مقبول أيضًا. لمعرفة المزيد حول كيفية تعيين أذونات للمستخدمين للوصول إلى البيانات في مدخل Azure باستخدام حساب Microsoft Entra، راجع تعيين دور Azure للوصول إلى بيانات الكائن الثنائي كبير الحجم.

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

الوصول إلى البيانات من PowerShell أو Azure CLI

يدعم Azure CLI وPowerShell تسجيل الدخول باستخدام بيانات اعتماد Microsoft Entra. بعد تسجيل الدخول، يتم تشغيل جلسة العمل الخاصة بك ضمن بيانات الاعتماد هذه. لمعرفة المزيد، راجع المقالات التالية:

دعم الميزة

قد يتأثر دعم هذه الميزة بتمكين Data Lake Storage Gen2 أو بروتوكول نظام ملفات الشبكة (NFS) 3.0 أو بروتوكول نقل ملفات SSH (SFTP). إذا قمت بتمكين أي من هذه الإمكانات، فراجع دعم ميزة Blob Storage في حسابات Azure Storage لتقييم الدعم لهذه الميزة.

يتم دعم تخويل عمليات بيانات blob باستخدام معرف Microsoft Entra فقط لإصدارات REST API 2017-11-09 والإصدارات الأحدث. لمزيد من المعلومات، راجع تعيين الإصدار لخدمات Azure Storage.

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