دعم بروتوكول نقل الملفات SSH (SFTP) لـ Azure Blob Storage (إصدار أولي)

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

هام

دعم SFTP موجود حالياً في "المعاينة" وهو متاح على حسابات v2 للأغراض العامة وحسابات كتلة الكائن الثنائي كبير الحجم المميزة. أكمل هذا النموذج قبل استخدام الميزة في المعاينة. التسجيل عبر "ميزات المعاينة" "غير" مطلوب "ولن" يتم إرسال رسالة تأكيد بالبريد الإلكتروني بعد تعبئة النموذج. يمكنك الوصول "فوراً" إلى الميزة.

بعد اختبار السيناريوهات الشاملة باستخدام SFTP، يرجى مشاركة تجربتك عبر هذا النموذج.

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

يسمح Azure بنقل البيانات بأمان إلى حسابات تخزين الكائن الثنائي كبير الحجم باستخدام خدمة واجهة برمجة تطبيقات REST لـ Azure Blob وAzure SDKs وأدوات مثل AzCopy. ومع ذلك، غالباً ما تستخدم أحمال العمل القديمة بروتوكولات نقل الملفات التقليدية مثل SFTP. يمكنك تحديث التطبيقات المخصصة لاستخدام واجهة برمجة تطبيقات REST ومجموعات Azure SDK، لكن فقط عن طريق إجراء تغييرات كبيرة في التعليمات البرمجية.

قبل إصدار هذه الميزة، إذا كنت ترغب في استخدام SFTP لنقل البيانات إلى Azure Blob Storage، فسيتعين عليك إما شراء منتج تابع لجهة أخرى أو تنسيق الحل الخاص بك. سيتعين عليك إنشاء جهاز ظاهري (VM) في Azure لاستضافة خادم SFTP، ثم معرفة طريقة لنقل البيانات إلى حساب التخزين.

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

توضح هذه المقالة دعم SFTP لـ Azure Blob Storage. لمعرفة كيفية تمكين SFTP لحساب التخزين الخاص بك، راجع الاتصال بـ Azure Blob Storage باستخدام بروتوكول نقل الملفات SSH (SFTP) (معاينة).

SFTP ومساحة الأسماء الهرمية

يتطلّب دعم SFTP تنظيم الكائنات الثنائية كبيرة الحجم في مساحة الأسماء الهرمية. قُدمت إمكانية استخدام مساحة الأسماء الهرمية من Azure Data Lake Storage Gen2. تنظيم العناصر (الملفات) في تدرج هرمي للدلائل والدلائل الفرعية بالطريقة نفسها التي يُنظم بها نظام الملفات على الكمبيوتر. تُقاس مساحة الأسماء الهرمية خطياً ولا تخفض سعة البيانات أو أدائها.

تمتد بروتوكولات مختلفة من مساحة الأسماء الهرمية. SFTP هو أحد هذه البروتوكولات المتاحة.

hierarchical namespace

نموذج إذن SFTP

لا يدعم Azure Blob Storage مصادقة Microsoft Azure Active Directory (Azure AD) أو تخويله عبر SFTP. بدلاً من ذلك، يستخدم SFTP شكلاً جديداً من أشكال إدارة الهوية يُسمى المستخدمين المحليين.

يجب على المستخدمين المحليين استخدام كلمة مرور أو بيانات اعتماد مفتاح خاص Secure Shell (SSH) للمصادقة. يُمكنك الحصول على 1000 مستخدم محلي كحد أقصى لحساب تخزين.

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

تنبيه

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

على سبيل المثال، المستخدم A لديه هوية Azure AD مع إذن قراءة فقط لملف foo.txt وهوية مستخدم محلي مع إذن حذف لحاوية con1 التي يتم تخزين foo.txt فيها. في هذه الحالة، يمكن للمستخدم A تسجيل الدخول عبر SFTP باستخدام هوية المستخدم المحلي الخاصة به وحذف foo.txt.

بالنسبة لحسابات التخزين SFTP الممكّنة، يمكنك استخدام الاتساع الكامل لإعدادات أمان Azure Blob Storage، لمصادقة وتخويل المستخدمين الذين يصلون إلى تخزين الكائن الثنائي كبير الحجم عبر مدخل Microsoft Azure وAzure CLI وأوامر Azure PowerShell وAzCopy، بالإضافة إلى Azure SDKS وواجهات برمجة تطبيقات Azure REST. لمعرفة المزيد، راجع نموذج التحكم بالوصول في Azure Data Lake Storage Gen2

أساليب المصادقة

يمكنك مصادقة المستخدمين المحليين الذين يتصلون عبر SFTP باستخدام كلمة مرور أو زوج مفاتيح خاص - عام لـ Secure Shell (SSH). يمكنك تكوين نماذج المصادقة والسماح للمستخدمين المحليين المتصلين باختيار النموذج الذي سيُستخدم. ومع ذلك، لا تُدعم المصادقة متعددة العوامل، حيث تكون كلمة المرور الصالحة وزوج المفاتيح الخاص - العام الصالح مطلوباً للمصادقة الناجحة.

كلمات المرور

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

أزواج مفاتيح SSH

زوج المفاتيح الخاص - العام هو النموذج الأكثر شيوعاً للمصادقة Secure Shell (SSH). المفتاح الخاص سري ويجب أن يكون معروفاً فقط للمستخدم المحلي. يُخزن المفتاح العام في Azure. عندما يتصل عميل SSH بحساب التخزين باستخدام هوية مستخدم محلي، فإنه يرسل رسالة تحتوي على المفتاح الخاص والتوقيع. يقوم Azure بالتحقق من صحة الرسالة ويتحقق من التعرف على المستخدم والمفتاح بواسطة حساب التخزين. لمعرفة المزيد، راجع نظرة عامة على SSH والمفاتيح.

إذا اخترت المصادقة باستخدام زوج مفاتيح خاص - عام، فيمكنك إما إنشاء واحد أو استخدام مفتاح مُخزّن بالفعل في Azure أو تزويد Azure بالمفتاح العام لزوج مفاتيح خاص - عام موجود.

أذونات الحاوية

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

الإذن الرمز الوصف
قراءة R
  • قراءة محتويات الملف
  • كتابة w
  • تحميل ملف
  • إنشاء دليل
  • دلائل التحميل
  • قائمة l
  • قائمة المحتويات داخل الحاوية
  • سرد المحتويات داخل الدلائل
  • حذف D
  • حذف الملفات/الدلائل
  • إنشاء -c
  • حمّل الملف إذا لم يكن الملف موجوداً
  • أنشئ الدليل إذا لم يكن موجوداً
  • هام

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

    الدليل الرئيسي

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

    sftp myaccount.myusername@myaccount.blob.core.windows.net
    put logfile.txt
    

    إذا قمت بتعيين الدليل الرئيسي للمستخدم إلى mycontainer/mydirectory، فسيتصل بهذا الدليل. بعد ذلك، logfile.txt سيتم تحميل الملف إلى mycontainer/mydirectory. إذا لم تقم بتعيين الدليل الرئيسي، فستفشل محاولة الاتصال. بدلاً من ذلك، سيتعين على المستخدمين الذين يقومون بالاتصال تحديد حاوية مع الطلب ثم استخدام أوامر SFTP للانتقال إلى الدليل الهدف قبل تحميل ملف. يوضح المثال التالي ما يلي:

    sftp myaccount.mycontainer.myusername@myaccount.blob.core.windows.net
    cd mydirectory
    put logfile.txt  
    

    ملاحظة

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

    الخوارزميات المدعومة

    يمكنك استخدام العديد من عملاء SFTP المختلفين للاتصال الآمن ثم نقل الملفات. يجب أن يستخدم العملاء المتصلون الخوارزميات المحددة في الجدول أدناه.

    مفتاح المضيف تبادل المفاتيح الأصفار / التشفير تكامل البيانات / وحدة تحكم وصول الوسائط المفتاح العام
    rsa-sha2-256 ecdh-sha2-nistp384 aes128-gcm@openssh.com hmac-sha2-256 ssh-rsa
    rsa-sha2-512 ecdh-sha2-nistp256 aes256-gcm@openssh.com hmac-sha2-512 ecdsa-sha2-nistp256
    ecdsa-sha2-nistp256 diffie-hellman-group14-sha256 aes128-cbc hmac-sha2-256-etm@openssh.com ecdsa-sha2-nistp384
    ecdsa-sha2-nistp384 diffie-hellman-group16-sha512 aes256-cbc hmac-sha2-512-etm@openssh.com
    aes192-cbc

    يحد دعم SFTP لـ Azure Blob Storage حالياً من دعم خوارزمية التشفير استناداً إلى اعتبارات الأمان. نوصي بشدة بأن يستخدم العملاء الخوارزميات المعتمدة من دورة تطوير الأمان من Microsoft (SDL) للوصول إلى بياناتهم بشكل آمن. يمكن العثور على مزيد من التفاصيل عن هذا الموضوع هنا.

    عملاء مدعومون معروفون

    لدى العملاء التاليين دعم خوارزمية متوافق مع SFTP لـ Azure Blob Storage (معاينة). راجع القيود والمشكلات المعروفة المتعلقة بدعم بروتوكول نقل ملفات SSH (SFTP) لـ Azure Blob Storage إذا كنت تواجه مشكلة في الاتصال.

    • AsyncSSH 2.1.0+
    • Cyberduck 7.8.2+
    • edtFTPjPRO 7.0.0+
    • FileZilla 3.53.0+
    • libssh 0.9.5+
    • Maverick Legacy 1.7.15+
    • OpenSSH 7.4+
    • paramiko 2.8.1+
    • PuTTY 0.74+
    • QualysML 12.3.41.1+
    • RebexSSH 5.0.7119.0+
    • ssh2js 0.1.20+
    • sshj 0.27.0+
    • SSH.NET 2020.0.0+
    • WinSCP 5.10+

    ملاحظة

    قائمة العملاء المدعومين أعلاه ليست شاملة وقد تتغير بمرور الوقت.

    الاتصال بـ SFTP

    للبدء، قم بتمكين دعم SFTP وإنشاء مستخدم محلي وتعيين أذونات لهذا المستخدم المحلي. بعد ذلك، يمكنك استخدام أي عميل SFTP للاتصال بأمان ثم نقل الملفات. للإرشادات التفصيلية، راجع الاتصال بـ Azure Blob Storage باستخدام بروتوكول نقل الملفات SSH (SFTP).

    القيود والمشكلات المعروفة

    راجع مقالة القيود والمشكلات المعروفة للحصول على قائمة كاملة بالقيود والمشكلات المتعلقة بدعم SFTP لـ Azure Blob Storage.

    التسعير والفوترة

    هام

    أثناء المعاينة العامة، لا يترتب على استخدام SFTP أي رسوم إضافية. ومع ذلك، لا تزال أسعار العمليات والتخزين والشبكات القياسية لحساب Azure Data Lake Store Gen2 الأساسي سارية. قد تتحمل SFTP رسوماً إضافية عندما تصبح الميزة متاحة بشكل عام.

    تستند تكاليف العملية والتخزين إلى عوامل مثل نوع حساب التخزين ونقطة النهاية التي تستخدمها لنقل البيانات إلى حساب التخزين. لمعرفة المزيد، راجع فهم نموذج الفوترة الكامل لـ Azure Blob Storage.

    راجع أيضًا