الاتصال بتخزين Azure Blob باستخدام بروتوكول نقل ملفات SSH (SFTP)

يمكنك الاتصال بأمان بنقطة نهاية Blob Storage لحساب Azure Storage باستخدام عميل SFTP، ثم تحميل الملفات وتنزيلها. توضح لك هذه المقالة كيفية تمكين SFTP ثم الاتصال ب Blob Storage باستخدام عميل SFTP.

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

المتطلبات الأساسية

  • حساب تخزين v2 قياسي للأغراض العامة أو حساب تخزين كتلة متميزة. يمكن أيضاً تمكين SFTP أثناء إنشاء حساب. للمزيد من المعلومات عن حسابات التخزين، راجع نظرة عامة على حساب التخزين.

  • يجب تمكين ميزة مساحة الأسماء الهرمية للحساب. لتمكين ميزة مساحة الاسم الهرمية، راجع ترقية Azure Blob Storage باستخدام قدرات Azure Data Lake Storage Gen2.

  • إذا كنت تتصل من شبكة محلية، فتأكد من أن عميلك يسمح بالاتصال الصادر من خلال المنفذ 22 الذي تستخدمه SFTP.

تمكين دعم SFTP

يوضح لك هذا القسم كيفية تمكين دعم SFTP لحساب تخزين موجود. لعرض قالب Azure Resource Manager الذي يمكن دعم SFTP كجزء من إنشاء الحساب، راجع إنشاء حساب تخزين Azure وحاوية Blob يمكن الوصول إليها باستخدام بروتوكول SFTP على Azure. عرض محلي Local User REST APIs وNET.، راجع Local Users وLocalUser Class.

  1. في Azure portal، انتقل إلى حساب التخزين الخاص بك.

  2. ضمن الإعدادات، حدد SFTP.

    إشعار

    يظهر هذا الخيار فقط إذا تم تمكين ميزة مساحة الأسماء الهرمية للحساب. لتمكين ميزة مساحة الاسم الهرمية، راجع ترقية Azure Blob Storage باستخدام قدرات Azure Data Lake Storage Gen2.

  3. حدد Enable SFTP.

    Enable SFTP button

    إشعار

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

تعطيل دعم SFTP

يوضح لك هذا القسم كيفية تعطيل دعم SFTP لحساب تخزين موجود. نظرا لأن دعم SFTP يتحمل تكلفة كل ساعة، ففكر في تعطيل دعم SFTP عندما لا يستخدم العملاء SFTP بشكل نشط لنقل البيانات.

  1. في Azure portal، انتقل إلى حساب التخزين الخاص بك.

  2. ضمن الإعدادات، حدد SFTP.

  3. حدد تعطيل SFTP.

    Screenshot of the disable SFTP button.

تكوين الأذونات

لا يدعم Azure Storage توقيع الوصول المشترك (SAS)، أو مصادقة Microsoft Entra للوصول إلى نقطة نهاية SFTP. بدلاً من ذلك، يجب عليك استخدام هوية تسمى المستخدم المحلي والتي يمكن تأمينها باستخدام كلمة مرور تم إنشاؤها بواسطة Azure أو زوج مفاتيح shell (SSH) آمن. لمنح حق الوصول إلى عميل اتصال، يجب أن يكون لحساب التخزين هوية مقترنة بكلمة المرور أو زوج المفاتيح. تسمى هذه الهوية مستخدما محليا.

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

لمعرفة المزيد حول نموذج أذونات SFTP، راجع نموذج أذونات SFTP.

تلميح

يوضح لك هذا القسم كيفية تكوين المستخدمين المحليين لحساب تخزين موجود. لعرض قالب Azure Resource Manager الذي يقوم بتكوين مستخدم محلي كجزء من إنشاء حساب، راجع إنشاء حساب تخزين Azure وحاوية Blob يمكن الوصول إليها باستخدام بروتوكول SFTP على Azure.

  1. في Azure portal، انتقل إلى حساب التخزين الخاص بك.

  2. ضمن الإعدادات، حدد SFTP، ثم حدد إضافة مستخدم محلي.

    Add local users button

  3. في جزء إضافة تكوين مستخدم محلي، أضف اسم مستخدم، ثم حدد أساليب المصادقة التي تريد إقرانها بهذا المستخدم المحلي. يمكنك إقران كلمة مرور و/أو مفتاح SSH.

    هام

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

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

    إذا حددت مفتاح مزدوج SSH، فحدد مصدر مفتاح عام لتحديد مصدر مفتاح.

    Local user configuration pane

    يصف الجدول التالي أي خيار مصدر رئيسي:

    الخيار الإرشادات
    إنشاء زوج مفاتيح جديد استخدم هذا الخيار لإنشاء زوج مفاتيح عام/خاص جديد. يتم تخزين المفتاح العمومي في Azure باسم المفتاح الذي تقدمه. يمكن تنزيل المفتاح الخاص بعد إضافة المستخدم المحلي بنجاح.
    استخدام المفتاح الموجود المخزن في Azure استخدم هذا الخيار إذا كنت تريد استخدام مفتاح عام مخزن بالفعل في Azure. للعثور على المفاتيح الموجودة في Azure، راجع قائمة المفاتيح. عندما يتصل عملاء SFTP ب Azure Blob Storage، يحتاج هؤلاء العملاء إلى توفير المفتاح الخاص المقترن بهذا المفتاح العام.
    استخدم المفتاح العام الموجود استخدم هذا الخيار إذا كنت تريد تحميل مفتاح عام مخزن خارج Azure. إذا لم يكن لديك مفتاح عام، ولكنك ترغب في إنشاء مفتاح خارج Azure، فشاهد إنشاء مفاتيح باستخدام ssh-keygen.

    إشعار

    يدعم خيار المفتاح العام الموجود حاليا المفاتيح العامة المنسقة OpenSSH فقط. يجب أن يتبع المفتاح المتوفر هذا التنسيق: <key type> <key data>. على سبيل المثال، ستبدو مفاتيح RSA مشابهة لما يلي: ssh-rsa AAAAB3N.... إذا كان المفتاح بتنسيق آخر، فيمكن استخدام أداة مثل ssh-keygen لتحويله إلى تنسيق OpenSSH.

  4. حدد التالي لفتح علامة التبويب أذونات الحاوية في جزء التكوين.

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

    Container permissions tab

    هام

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

  6. في مربع تحرير الدليل الرئيسي، اكتب اسم الحاوية أو مسار الدليل (بما في ذلك اسم الحاوية) الذي سيكون الموقع الافتراضي المقترن بهذا المستخدم المحلي.

    لمعرفة المزيد حول الدليل الرئيسي، راجع الدليل الرئيسي.

  7. حدد الزر إضافة لإضافة المستخدم المحلي.

    إذا قمت بتمكين مصادقة كلمة المرور، تظهر كلمة مرور Azure التي تم إنشاؤها في مربع حوار بعد إضافة المستخدم المحلي.

    هام

    لا يمكنك استرداد كلمة المرور هذه في وقت لاحق، لذا تأكد من نسخ كلمة المرور، ثم تخزينها في مكان حيث يمكنك العثور عليها.

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

    إشعار

    لدى sharedKey المستخدمين المحليين خاصية يتم استخدامها لمصادقة SMB فقط.

الاتصال بعميل SFTP

يُمْكنك استخدام أي عميل SFTP للاتصال بأمان ثم نقل الملفات. تظهر لقطة الشاشة التالية جلسة عمل Windows PowerShell التي تستخدم Open SSH ومصادقة كلمة المرور للاتصال ثم تحميل ملف باسم logfile.txt.

Connect with Open SSH

إشعار

اسم مستخدم SFTP هو storage_account_name.username. في المثال المذكور أعلاه storage_account_name هو "contoso4" و username هو "contosouser." يصبح اسم المستخدم المدمج لأمر SFTP هو contoso4.contosouser.

إشعار

قد تُطالب بالوثوق بمفتاح مضيف. يتم نشر مفاتيح المضيف الصالحة هنا.

بعد اكتمال النقل، يمكنك عرض الملف وإدارته في مدخل Microsoft Azure.

Uploaded file appears in storage account

إشعار

يستخدم مدخل Microsoft Azure واجهة برمجة تطبيقات Blob REST وواجهة برمجة تطبيقات Data Lake Storage Gen2 REST. توضح القدرة على التفاعل مع ملف تم تحميله في مدخل Microsoft Azure قابلية التشغيل البيني بين SFTP وREST.

راجع وثائق عميل SFTP للحصول على إرشادات حول كيفية توصيل الملفات ونقلها.

الاتصال باستخدام مجال مخصص

عند استخدام المجالات المخصصة، يكون سلسلة الاتصال هو myaccount.myuser@customdomain.com. إذا لم يتم تحديد الدليل الرئيسي للمستخدم، فهو myaccount.mycontainer.myuser@customdomain.com.

هام

تأكد من أن موفر DNS لا ينفذ بطلبات الوكيل. قد يؤدي الوكيل إلى انتهاء مهلة محاولة الاتصال.

الاتصال باستخدام نقطة نهاية خاصة

عند استخدام نقطة نهاية خاصة، تكون سلسلة الاتصال هي myaccount.myuser@myaccount.privatelink.blob.core.windows.net. إذا لم يتم تحديد الدليل الرئيسي للمستخدم، فهو myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net.

إشعار

تأكد من تغيير تكوين الشبكة إلى "ممكن من الشبكات الظاهرية وعناوين IP المحددة" وحدد نقطة النهاية الخاصة بك، وإلا سيظل الوصول إلى نقطة نهاية SFTP العادية متاحًا للجمهور.

اعتبارات الشبكات

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

إشعار

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

(راجع أيضًا )