مشاركة عبر


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

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

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

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

  • تمكين دعم SFTP ل Azure Blob Storage. راجع تمكين دعم SFTP أو تعطيله.

  • تخويل الوصول إلى عملاء SFTP. راجع تخويل الوصول إلى العملاء.

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

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

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

PS C:\Users\temp> sftp contoso4.contosouser@contoso4.blob.core.windows.net

اسم مستخدم SFTP هو storage_account_name.username. في المثال أعلاه storage_account_name هو "contoso4" و username هو "contosouser". يصبح اسم المستخدم المدمج "contoso4.contosouser". نقطة نهاية خدمة blob هي "contoso4.blob.core.windows.net".

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

إشعار

يعمل SFTP عبر نقطة نهاية Blob Storage (blob.core.windows.net) وليس نقطة نهاية Data Lake Storage (dfs.core.windows.net). لذلك، نقاط نهاية Data Lake Storage مثل contoso4.contosouser@contoso4.dfs.core.windows.net غير مدعومة.

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

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

هام

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

لمعرفة كيفية تعيين مجال مخصص إلى نقطة نهاية خدمة كائن ثنائي كبير الحجم، راجع تعيين مجال مخصص إلى نقطة نهاية Azure Blob Storage.

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

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

إشعار

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

الاتصال باستخدام توجيه الإنترنت

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

نقل البيانات

بعد الاتصال، يمكنك تحميل الملفات وتنزيلها. يقوم المثال التالي بتحميل ملف باسم logfile.txt باستخدام جلسة عمل Open SSH نشطة.

sftp> put logfile.txt
Uploading logfile.txt to /mydirectory/logfile.txt
logfile.txt
        100%    19    0.2kb/S    00.00

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

لقطة شاشة للملف الذي تم تحميله الذي يظهر في حساب التخزين.

إشعار

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

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

استئناف التحميل

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

  • كتابة: يتيح هذا الوضع للعميل متابعة التحميل عن طريق إضافة بيانات إلى ملف موجود من نقطة معينة دون إنشاء ملف جديد.
  • الكتابة + الإنشاء: يسمح هذا الوضع للعميل باستئناف التحميل إما عن طريق الإضافة إلى ملف موجود أو إنشاء ملف جديد إذا لم يكن موجودا، مما يوفر المرونة عندما لا يكون الملف موجودا في البداية.
  • إلحاق: يضيف هذا الوضع بيانات إلى نهاية ملف موجود دون الكتابة فوق محتوياته الحالية. في السابق، كانت هذه الميزة تدعم وضع الإلحاق فقط في المعاينة العامة، مما حد من استئناف التحميل مع عملاء SFTP الذين يفتقرون إلى دعم وضع الإلحاق. مع التوفر العام ، ندعم الآن أوضاع الكتابة والكتابة + الإنشاء ، مما يفيد المستخدمين الذين يستخدمون عملاء SFTP بدون وضع الإلحاق.

إشعار

التحميل القابل للاستئناف مدعوم فقط للكائنات الثنائية كبيرة الحجم التي تم إنشاؤها باستخدام بروتوكول SFTP. لا يمكنك استئناف تحميل الكائنات الثنائية كبيرة الحجم الموجودة التي تم إنشاؤها باستخدام بروتوكول آخر غير SFTP مثل REST.

تعديل قائمة التحكم بالوصول لملف أو دليل

يمكنك تعديل مستوى إذن المستخدم المالك ومجموعة المالك وجميع المستخدمين الآخرين ل ACL باستخدام عميل SFTP. يمكنك أيضا تغيير المستخدم المالك والمجموعة المالكة. لمعرفة المزيد حول دعم ACL لعملاء SFTP، راجع ACLs.

إشعار

يمكن للمستخدمين الآن أيضا تعديل امتلاك مجموعة وأذونات كائن ثنائي كبير الحجم أو دليل بدون أذونات الحاوية. هذا هو تحسين ميزة جديدة تمت إضافتها أثناء مرحلة التوفر العام ل ACLs للمستخدمين المحليين. بالنسبة لأي مستخدم ليس المستخدم المالك، لا تزال أذونات الحاوية مطلوبة.

تعديل الأذونات

لتغيير مستوى الأذونات للمستخدم المالك أو المجموعة المالكة أو جميع المستخدمين الآخرين ل ACL، يجب أن يكون لدى Modify Permission المستخدم المحلي الإذن. راجع منح الإذن للحاويات.

يقوم المثال التالي بطباعة ACL لدليل إلى وحدة التحكم. ثم يستخدم chmod الأمر لتعيين قائمة التحكم بالوصول إلى 777. كل 7 منها هو الشكل الرقمي ل rwx (القراءة والكتابة والتنفيذ). لذلك 777 يمنح إذن القراءة والكتابة والتنفيذ للمستخدم المالك والمجموعة المالكة وجميع المستخدمين الآخرين. ثم يطبع هذا المثال قائمة التحكم بالوصول المحدثة إلى وحدة التحكم. لمعرفة المزيد حول النماذج الرقمية والقصيرة ل ACL، راجع النماذج القصيرة للحصول على الأذونات.

sftp> ls -l
drwxr-x---     1234     5678                0 Mon, 08 Jan 2024 16:53:25 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chmod 777 dir1
Changing mode on /dir1
sftp> ls -l
drwxrwxrwx     1234     5678                0 Mon, 08 Jan 2024 16:54:06 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2

إشعار

إضافة إدخالات ACL أو تعديلها للمستخدمين المسماة والمجموعات المسماة وأساسيات الأمان المسماة غير مدعومة حتى الآن.

تغيير المستخدم المالك

لتغيير المستخدم المالك لدليل أو كائن ثنائي كبير الحجم، يجب أن يكون لدى Modify Ownership المستخدم المحلي إذن. راجع منح الإذن للحاويات.

يقوم المثال التالي بطباعة ACL لدليل إلى وحدة التحكم. معرف المستخدم المالك هو 0. يستخدم chown هذا المثال الأمر لتعيين معرف المستخدم المالك إلى 1234 وطباعة التغيير إلى وحدة التحكم.

sftp> ls -l
drwxr-x---        0        0                0 Mon, 08 Jan 2024 16:00:12 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chown 1234 dir1
Changing owner on /dir1
sftp> ls -l
drwxr-x---     1234        0                0 Mon, 08 Jan 2024 16:52:52 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp>

تغيير المجموعة المالكة

لتغيير المجموعة المالكة لدليل أو كائن ثنائي كبير الحجم، يجب أن يكون لدى Modify Ownership المستخدم المحلي إذن. راجع منح الإذن للحاويات.

يقوم المثال التالي بطباعة ACL لدليل إلى وحدة التحكم. معرف المجموعة المالكة هو 0. يستخدم chgrp هذا المثال الأمر لتعيين معرف المجموعة المالكة إلى 5678 وطباعة التغيير إلى وحدة التحكم.

sftp> ls -l
drwxr-x---     1234        0                0 Mon, 08 Jan 2024 16:52:52 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chgrp 5678 dir1
Changing group on /dir1
sftp> ls -l
drwxr-x---     1234     5678                0 Mon, 08 Jan 2024 16:53:25 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2