اختيار كيفية تخويل الوصول إلى بيانات blob باستخدام Azure CLI

يوفر Azure Storage ملحقات لـAzure CLI تُمكّنك من تحديد الطريقة التي تريد بها تخويل العمليات على بيانات الكائن الثنائي كبير الحجم. يمكنك تخويل عمليات البيانات بالطرق التالية:

  • باستخدام أساس أمان Microsoft Entra. توصي Microsoft باستخدام بيانات اعتماد Microsoft Entra للأمان الفائق وسهولة الاستخدام.
  • باستخدام مفتاح الاختصار إلى الحساب أو الرمز المميز لتوقيع الوصول المشترك (SAS).

تحديد طريقة اعتماد عمليات البيانات

تتضمن أوامر Azure CLI لقراءة وكتابة بيانات الكائن الثنائي كبير الحجم المعلمة الاختيارية --auth-mode. حدد هذه المعلمة للإشارة إلى كيفية تفويض عملية البيانات:

  • قم بتعيين المعلمة --auth-mode لتسجيل login الدخول باستخدام أساس أمان Microsoft Entra (مستحسن).
  • عيّن المعلمة --auth-mode إلى القيمة القديمة key لمحاولة استرداد مفتاح الاختصار إلى الحساب لاستخدامه في التخويل. إذا حذفت المعلمة--auth-mode، فسيحاول Azure CLI أيضًا استرداد مفتاح الوصول.

لاستخدام المعلمة --auth-mode، تأكد من تثبيت الإصدار 2.0.46 من Azure CLI أو إصدار أحدث. شغّل az --version للتحقق من الإصدار المثبت لديك.

إشعار

عند تأمين حساب تخزين باستخدام قفل Azure Resource Manager للقراءة فقط، لا يُسمح بتشغيل مفاتيح القائمة لحساب التخزين هذا. إعداد قائمة بالمفاتيح هي عملية POST، ويتم منع جميع عمليات POST عند تكوين قفل للقراءة فقط للحساب. لهذا السبب، عندما يتم تأمين الحساب مع تأمين ReadOnly ، يجب على المستخدمين الذين لا يمتلكون بالفعل مفاتيح الحساب استخدام بيانات اعتماد Microsoft Entra للوصول إلى بيانات الكائن الثنائي كبير الحجم.

هام

إذا حذفت المعلمة --auth-mode أو عينتها إلى key، فسيحاول Azure CLI استخدام مفتاح الاختصار إلى الحساب للتخويل. في هذه الحالة، تُوصي Microsoft بتوفير مفتاح الاختصار إما على الأمر أو في متغير البيئة AZURE_STORAGE_KEY. لمزيد من المعلومات عن متغيرات البيئة، راجع القسم المعنون تعيين متغيرات البيئة لمعلمات التخويل.

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

تخويل باستخدام بيانات اعتماد Microsoft Entra

عند تسجيل الدخول إلى Azure CLI باستخدام بيانات اعتماد Microsoft Entra، يتم إرجاع رمز وصول OAuth 2.0. يُستخدم هذا الرمز المميز تلقائياً بواسطة Azure CLI لتخويل عمليات البيانات التالية مقابل تخزين Blob أو Queue. بالنسبة للعمليات المدعومة، لم تعد بحاجة إلى تمرير مفتاح حساب أو رمز SAS المميز باستخدام الأمر.

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

أذونات استدعاء عمليات البيانات

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

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

مثال: تخويل عملية لإنشاء حاوية باستخدام بيانات اعتماد Microsoft Entra

يوضح المثال التالي كيفية إنشاء حاوية من Azure CLI باستخدام بيانات اعتماد Microsoft Entra. لإنشاء الحاوية، ستحتاج إلى تسجيل الدخول إلى Azure CLI، وستحتاج إلى مجموعة موارد وحساب تخزين. لمعرفة كيفية إنشاء هذه الموارد، راجع التشغيل السريع: إنشاء الكائنات الثنائية كبيرة الحجم وتنزيلها وإدراجها باستخدام Azure CLI.

  1. وقبل إنشاء الحاوية، عيّن نفسك في دور "Storage Blob Data Contributor". على الرغم من أنك مالك الحساب، فأنت بحاجة إلى أذونات صريحة لإجراء عمليات البيانات على حساب التخزين. لمزيد من المعلومات حول تعيين أدوار Azure، راجع تعيين دور Azure للوصول إلى بيانات الكائن الثنائي كبير الحجم.

    هام

    قد تستغرق تعيينات الأدوار في Azure بضع دقائق.

  2. استدعاء الأمر az storage container create مع تعيين المعلمة --auth-mode لإنشاء login الحاوية باستخدام بيانات اعتماد Microsoft Entra. تذكر استبدال قيم العناصر النائبة بين أقواس الزاوية بالقيم الخاصة بك:

    az storage container create \
        --account-name <storage-account> \
        --name sample-container \
        --auth-mode login
    

تخويل باستخدام مفتاح الاختصار إلى الحساب

إذا كنت تمتلك مفتاح الحساب، يمكنك استدعاء أي عملية بيانات Azure Storage. بشكل عام، يكون استخدام مفتاح الحساب أقل أماناً. في حالة اختراق مفتاح الحساب، فقد يتم اختراق جميع البيانات الموجودة في حسابك.

يوضح المثال التالي كيفية إنشاء حاوية باستخدام مفتاح الاختصار إلى الحساب. حدد مفتاح الحساب، وقدم المعلمة--auth-modeبالقيمةkey:

az storage container create \
    --account-name <storage-account> \
    --name sample-container \
    --account-key <key>
    --auth-mode key

هام

عند تأمين حساب تخزين باستخدام قفل Azure Resource Manager للقراءة فقط، لا يُسمح بتشغيل مفاتيح القائمة لحساب التخزين هذا. إعداد قائمة بالمفاتيح هي عملية POST، ويتم منع جميع عمليات POST عند تكوين قفل للقراءة فقط للحساب. لهذا السبب، عندما يتم تأمين الحساب مع تأمين ReadOnly ، يجب على المستخدمين الوصول إلى البيانات باستخدام بيانات اعتماد Microsoft Entra.

التخويل باستخدام رمز SAS المميز

إذا كنت تمتلك رمز SAS المميز، يمكنك استدعاء عمليات البيانات التي يسمح بها SAS. يوضح المثال التالي كيفية إنشاء حاوية باستخدام رمز SAS المميز:

az storage container create \
    --account-name <storage-account> \
    --name sample-container \
    --sas-token <token>

ضبط متغيرات البيئة لمعلمات التفويض

يمكنك تحديد معلمات التخويل في متغيرات البيئة لتجنب تضمينها في كل استدعاء لعملية بيانات Azure Storage. يصف الجدول التالي متغيرات البيئة المتوفرة.

متغير البيئة ‏‏الوصف
AZURE_STORAGE_ACCOUNT اسم حساب التخزين. يجب استخدام هذا المتغير بالاقتران مع مفتاح حساب التخزين أو رمز SAS المميز. إذا لم يكن أي منهما موجودا، يحاول Azure CLI استرداد مفتاح الوصول إلى حساب التخزين باستخدام حساب Microsoft Entra المصادق عليه. إذا نُفذ عدد كبير من الأوامر في وقت واحد، فقد تصل إلى حد تقييد موفر Azure Storage. لمزيد من المعلومات حول حدود موفر الموارد، راجع قابلية التوسع وأهداف الأداء لموفر موارد Azure Storage .
AZURE_STORAGE_KEY مفتاح حساب التخزين. يجب استخدام هذا المتغير بالاقتران مع اسم حساب التخزين.
AZURE_STORAGE_CONNECTION_STRING تشمل سلسلة الاتصال مفتاح حساب التخزين أو رمز SAS. يجب استخدام هذا المتغير بالاقتران مع اسم حساب التخزين.
AZURE_STORAGE_SAS_TOKEN رمز مميز لتوقيع الوصول المشترك (SAS). يجب استخدام هذا المتغير بالاقتران مع اسم حساب التخزين.
AZURE_STORAGE_AUTH_MODE وضع التخويل الذي سيتم من خلاله تشغيل الأمر. القيم المسموح بها login (مستحسن) أو key. إذا قمت بتحديد login، يستخدم Azure CLI بيانات اعتماد Microsoft Entra لتخويل عملية البيانات. إذا حددت الوضع القديم key، فسيحاول Azure CLI الاستعلام عن مفتاح الاختصار إلى الحساب وتخويل الأمر باستخدام المفتاح.

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