البرنامج التعليمي: تقييد وصول الشبكة إلى موارد PaaS باستخدام نقاط نهاية خدمة الشبكة الظاهرية
مقالة
تمكنك نقاط تقديم خدمة الشبكة الظاهرية من تقييد الوصول إلى الشبكة إلى بعض موارد خدمة Azure إلى شبكة فرعية لشبكة ظاهرية. يمكنك أيضًا إزالة وصول الإنترنت إلى الموارد. توفر نقاط تقديم الخدمة اتصالاً مباشرًا من الشبكة الظاهرية بخدمات Azure المدعومة، مما يسمح لك باستخدام مساحة العنوان الخاصة بالشبكة الظاهرية للوصول إلى خدمات Azure. تظل دائمًا نسبة استخدام الشبكة الموجهة إلى موارد Azure من خلال نقاط نهاية الخدمة على شبكة Microsoft Azure الأساسية.
في هذا البرنامج التعليمي، تتعلم كيفية:
إنشاء شبكة افتراضية باستخدام شبكة فرعية
إضافة شبكة فرعية لتمكين نقطة نهاية خدمة
إنشاء مورد Azure والسماح للشبكة بالوصول إليه من شبكة فرعية فقط
في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
Azure Cloud Shell
Azure يستضيف Azure Cloud Shell، بيئة تفاعلية يمكن استخدامها من خلال المستعرض. يمكنك استخدام Bash أو PowerShell مع Cloud Shell للعمل مع خدمات Azure. يمكنك استخدام أوامر Cloud Shell المثبتة مسبقًا لتشغيل التعليمات البرمجية في هذه المقالة دون الحاجة إلى تثبيت أي شيء على البيئة المحلية.
لبدء Azure Cloud Shell:
خيار
مثال/ رابط
انقر فوق جربه في الزاوية العلوية اليسرى من التعليمة البرمجية أو كتلة الأمر. تحديد جربه لا يقوم بنسخ التعليمة البرمجية أو الأمر تلقائيًا إلى Cloud Shell.
انتقل إلى https://shell.azure.com، أو حدد زر تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك.
حدد زر Cloud Shell على شريط القوائم في أعلى اليمين في مدخل Microsoft Azure.
لاستخدام Azure Cloud Shell:
ابدأ تشغيل Cloud Shell.
حدد الزر نسخ على كتلة التعليمات البرمجية (أو كتلة الأوامر) لنسخ التعليمات البرمجية أو الأمر.
ألصق التعليمة البرمجية أو الأمر في جلسة Cloud Shell بتحديد Ctrl+Shift+Vعلى Windows وLunix، أو بتحديد Cmd+Shift+Vعلى macOS.
حدد Enter لتشغيل التعليمات البرمجية أو الأمر.
إذا اخترت تثبيت PowerShell واستخدامه محليًا، فهذه المقالة تتطلب إصدار الوحدة النمطية 1.0.0 من Azure PowerShell، أو إصدارًا أحدث. بادر بتشغيل Get-Module -ListAvailable Az للعثور على الإصدار المثبت. إذا كنت بحاجة إلى الترقية، فراجع تثبيت الوحدة النمطية Azure PowerShell. في حالة تشغيل PowerShell محليًا، فأنت بحاجة أيضًا إلى تشغيل Connect-AzAccount لإنشاء اتصال مع Azure.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات أخرى لتسجيل دخول، راجع تسجيل الدخول باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات بشأن الامتدادات، راجع استخدام امتدادات مع Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
تتطلب هذه المقالة الإصدار 2.0.28 أو إصدارًا أحدث من واجهة سطر الأوامر من Azure. إذا كنت تستخدم Azure Cloud Shell، يتم تثبيت أحدث إصدار بالفعل.
ينشئ الإجراء التالي شبكة ظاهرية مع شبكة فرعية لمورد وشبكة فرعية Azure Bastion ومضيف Bastion:
في المدخل، ابحث عن Virtual networks وحددها.
في صفحة الشبكة الظاهرية، حدد + إنشاء.
في علامة التبويب Basics في Create virtual network، أدخل المعلومات التالية أو حددها:
الإعداد
القيمة
تفاصيل المشروع
الاشتراك
حدد Subscription الخاص بك.
مجموعة الموارد
حدد إنشاء جديد. أدخل test-rg للاسم. حدد موافق.
تفاصيل المثيل
الاسم
أدخل vnet-1.
المنطقة
حدد شرق الولايات المتحدة 2.
حدد التالي للمتابعة إلى علامة التبويب الأمان .
في قسم Azure Bastion ، حدد Enable Azure Bastion.
يستخدم Bastion المستعرض للاتصال بالأجهزة الظاهرية في شبكتك الظاهرية عبر Secure Shell (SSH) أو بروتوكول سطح المكتب البعيد (RDP) باستخدام عناوين IP الخاصة بها. لا تحتاج الأجهزة الظاهرية إلى عناوين IP عامة أو برامج عميل أو تكوين خاص. لمزيد من المعلومات، راجع ما هو Azure Bastion؟.
إشعار
يبدأ التسعير بالساعة من اللحظة التي يتم فيها نشر Bastion، بغض النظر عن استخدام البيانات الصادرة. لمزيد من المعلومات، راجع التسعير ووحدات SKU. إذا كنت تقوم بنشر Bastion كجزء من برنامج تعليمي أو اختبار، نوصي بحذف هذا المورد بعد الانتهاء من استخدامه.
في Azure Bastion، أدخل المعلومات التالية أو حددها:
الإعداد
القيمة
اسم مضيف Azure Bastion
أدخل bastion.
عنوان IP العام ل Azure Bastion
حدد إنشاء عنوان IP عام. أدخل public-ip-bastion في Name. حدد موافق.
حدد التالي للمتابعة إلى علامة التبويب عناوين IP.
في مربع مساحة العنوان في الشبكات الفرعية، حدد الشبكة الفرعية الافتراضية.
في تحرير الشبكة الفرعية، أدخل المعلومات التالية أو حددها:
الإعداد
القيمة
الغرض من الشبكة الفرعية
اترك الإعداد الافتراضي الافتراضي.
الاسم
أدخل subnet-1.
IPv4
نطاق عناوين IPv4
اترك الإعداد الافتراضي 10.0.0.0/16.
عنوان البدء
اترك الإعداد الافتراضي 10.0.0.0.
الحجم
اترك القيمة الافتراضية ل /24 (256 عنوانا) .
حدد حفظ.
حدد Review + create في أسفل النافذة. بعد تجاوز التحقق من الصحة، حدد Create.
يتم تمكين نقاط تقديم الخدمة لكل خدمة، لكل شبكة فرعية.
في مربع البحث في أعلى صفحة المدخل، ابحث عن الشبكة الظاهرية. حدد الشبكات الظاهرية في نتائج البحث.
في الشبكات الظاهرية، حدد vnet-1.
في قسم Settings في vnet-1، حدد Subnets.
حدد + الشبكة الفرعية.
في صفحة إضافة شبكة فرعية، أدخل المعلومات التالية أو حددها:
قبل إنشاء شبكة ظاهرية، يجب عليك إنشاء مجموعة موارد للشبكة الظاهرية، وجميع الموارد الأخرى التي تم إنشاؤها في هذه المقالة. قم بإنشاء مجموعة موارد باستخدام New-AzResourceGroup. ينشئ المثال التالي مجموعة موارد تسمى test-rg:
يستخدم Azure Bastion المستعرض للاتصال بالأجهزة الظاهرية في شبكتك الظاهرية عبر Secure Shell (SSH) أو بروتوكول سطح المكتب البعيد (RDP) باستخدام عناوين IP الخاصة بها. لا تحتاج الأجهزة الظاهرية إلى عناوين IP عامة أو برامج عميل أو تكوين خاص. لمزيد من المعلومات حول Bastion، راجع ما هو Azure Bastion؟.
يبدأ التسعير بالساعة من اللحظة التي يتم فيها نشر Bastion، بغض النظر عن استخدام البيانات الصادرة. لمزيد من المعلومات، راجع التسعير ووحدات SKU. إذا كنت تقوم بنشر Bastion كجزء من برنامج تعليمي أو اختبار، نوصي بحذف هذا المورد بعد الانتهاء من استخدامه.
تكوين شبكة فرعية Bastion لشبكتك الظاهرية. هذه الشبكة الفرعية محجوزة حصريا لموارد Bastion ويجب تسميتها AzureBastionSubnet.
يستغرق نشر موارد Bastion حوالي 10 دقائق. يمكنك إنشاء أجهزة ظاهرية في القسم التالي أثناء توزيع Bastion على شبكتك الظاهرية.
إنشاء شبكة ظاهرية
قبل إنشاء شبكة ظاهرية، يجب عليك إنشاء مجموعة موارد للشبكة الظاهرية، وجميع الموارد الأخرى التي تم إنشاؤها في هذه المقالة. أنشئ مجموعة موارد باستخدام إنشاء مجموعة az. ينشئ المثال التالي مجموعة موارد تسمى test-rg في موقع westus2 .
az group create \
--name test-rg \
--location westus2
يمكنك تمكين نقاط تقديم الخدمة فقط للخدمات التي تدعم نقاط تقديم الخدمة. اعرض الخدمات المجهزة بنقطة تقديم الخدمة المتوفرة في موقع Azure باستخدام az network vnet list-endpoint-services. يقوم المثال التالي بإرجاع قائمة بالخدمات الممكنة لنقطة نهاية الخدمة المتوفرة في منطقة westus2 . ستزداد قائمة الخدمات التي يتم عرضها بمرور الوقت كلما تم تمكين المزيد من خدمات Azure لنقطة تقديم الخدمة.
az network vnet list-endpoint-services \
--location westus2 \
--out table
إنشاء شبكة فرعية أخرى في الشبكة الظاهرية باستخدام az network vnet subnet create. في هذا المثال، يتم إنشاء نقطة نهاية خدمة للشبكة Microsoft.Storage الفرعية:
بشكل افتراضي، يمكن لجميع مثيلات الجهاز الظاهري في الشبكة الفرعية الاتصال بأي موارد. يمكنك تقييد الاتصال من وإلى كافة الموارد في شبكة فرعية عن طريق إنشاء مجموعة أمان شبكة اتصال وربطها بالشبكة الفرعية.
في مربع البحث في أعلى صفحة المدخل، ابحث عن مجموعة أمان الشبكة. حدد "Network security group" في نتائج البحث.
في مجموعات أمان الشبكة، حدد + إنشاء.
في علامة التبويب "Basics""Create network security group"، أدخل أو حدد المعلومات التالية:
الإعداد
القيمة
تفاصيل المشروع
الاشتراك
حدد Subscription الخاص بك.
مجموعة الموارد
حدد test-rg.
تفاصيل المثيل
الاسم
أدخل nsg-storage.
المنطقة
حدد شرق الولايات المتحدة 2.
حدد Review + create، ثم حدد Create.
إنشاء مجموعة أمان شبكة باستخدام New-AzNetworkSecurityGroup. ينشئ المثال التالي مجموعة أمان شبكة تسمى nsg-private.
في مربع البحث في أعلى صفحة المدخل، ابحث عن مجموعة أمان الشبكة. حدد "Network security group" في نتائج البحث.
حدد nsg-storage.
حدد "Outbound security rules" في "Settings".
حدد + إضافة.
أنشئ قاعدة تسمح بالاتصال الصادر بخدمة Azure Storage. أدخل المعلومات التالية أو حددها في إضافة قاعدة أمان صادرة:
الإعداد
القيمة
Source
حدد علامة الخدمة.
علامة خدمة المصدر
حدد VirtualNetwork.
نطاقات منافذ المصادر
اترك الإعداد الافتراضي الخاص بـ *.
الوجهة
حدد علامة الخدمة.
علامة خدمة الوجهة
اختار التخزين .
الخدمة
اترك الإعداد الافتراضي مخصص.
نطاقات المنفذ الوجهات
أدخل 445.
البروتوكول
حدد "Any".
الإجراء
حدد السماح.
أولوية
اترك القيمة الافتراضية 100.
الاسم
أدخل allow-storage-all.
حدد + إضافة.
إنشاء قاعدة أمان صادرة أخرى تمنع الاتصال بالإنترنت. تتجاوز هذه القاعدة قاعدة افتراضية في كل مجموعات أمان الشبكة تسمح بالاتصال بالإنترنت الصادر. أكمل الخطوات السابقة بالقيم التالية في إضافة قاعدة أمان صادرة:
الإعداد
القيمة
Source
حدد علامة الخدمة.
علامة خدمة المصدر
حدد VirtualNetwork.
نطاقات منافذ المصادر
اترك الإعداد الافتراضي الخاص بـ *.
الوجهة
حدد علامة الخدمة.
علامة خدمة الوجهة
حدد Internet.
الخدمة
اترك الإعداد الافتراضي مخصص.
نطاقات المنفذ الوجهات
أدخل *.
البروتوكول
حدد "Any".
الإجراء
حدد Deny.
أولوية
اترك القيمة الافتراضية 110.
الاسم
أدخل deny-internet-all.
حدد إضافة.
في مربع البحث في أعلى صفحة المدخل، ابحث عن مجموعة أمان الشبكة. حدد "Network security group" في نتائج البحث.
حدد nsg-storage.
حدد الشبكات الفرعية في الإعدادات.
حدد + مساعد .
في Associate subnet، حدد vnet-1 في Virtual network. حدد subnet-private في الشبكة الفرعية.
حدد موافق.
قم بإنشاء قاعدة مجموعة أمان الشبكة باستخدام New-AzNetworkSecurityRuleConfig. تسمح القاعدة التالية بالوصول الصادر إلى عناوين IP العامة المعينة لخدمة Azure Storage:
تمنع القاعدة التالية الوصول إلى جميع عناوين IP العامة. تتجاوز القاعدة السابقة هذه القاعدة، نظراً لأولويتها العليا، والتي تسمح بالوصول إلى عناوين IP العامة لـ Azure Storage.
# Retrieve the existing network security group
$nsgpriv = @{
ResourceGroupName = 'test-rg'
Name = 'nsg-private'
}
$nsg = Get-AzNetworkSecurityGroup @nsgpriv
# Add the new rules to the security group
$nsg.SecurityRules += $rule1
$nsg.SecurityRules += $rule2
# Update the network security group with the new rules
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
قم بإقران مجموعة أمان الشبكة بالشبكة الفرعية الخاصة بالشبكة الفرعية مع Set-AzVirtualNetworkSubnetConfig ثم اكتب تكوين الشبكة الفرعية إلى الشبكة الظاهرية. يربط المثال التالي مجموعة أمان الشبكة nsg-private بالشبكة الفرعية الخاصة بالشبكة الفرعية:
تحتوي كل مجموعة أمان شبكة على العديد من قواعد الأمان الافتراضية. تمنع القاعدة التالية قاعدة أمان افتراضية تسمح بالوصول الصادر إلى كل عناوين IP العامة. يرفض الخيار destination-address-prefix "Internet" الوصول الصادر إلى كل عناوين IP العامة. تتجاوز القاعدة السابقة هذه القاعدة، نظراً لأولويتها العليا، والتي تسمح بالوصول إلى عناوين IP العامة لـ Azure Storage.
تسمح القاعدة التالية بنسبة استخدام الشبكة SSH الواردة إلى الشبكة الفرعية من أي مكان. تتجاوز القاعدة قاعدة أمان افتراضية تمنع جميع زيارات الشبكة الواردة من الإنترنت. يتم السماح لـSSH بالوصول إلى الشبكة الفرعية بحيث يمكن اختبار الاتصال في خطوة لاحقة.
إقران مجموعة أمان الشبكة بالشبكة الفرعية الخاصة بالشبكة الفرعية مع تحديث الشبكة الفرعية لشبكة az network vnet. يربط المثال التالي مجموعة أمان الشبكة nsg-private بالشبكة الفرعية الخاصة بالشبكة الفرعية:
تختلف الخطوات المطلوبة لتقييد وصول الشبكة إلى الموارد التي تم إنشاؤها من خلال خدمات Azure، والتي تم تمكينها لنقاط نهاية الخدمة عبر الخدمات. راجع الوثائق الخاصة بالخدمات الفردية للحصول على خطوات محددة لكل خدمة. يتضمن الجزء المتبقي من هذا البرنامج التعليمي خطوات لتقييد وصول الشبكة لحساب Azure Storage، كمثال.
إنشاء حساب تخزين
إنشاء حساب Azure Storage للخطوات الواردة في هذه المقالة. إذا كان لديك حساب تخزين بالفعل، يمكنك استخدامه بدلا من ذلك.
في مربع البحث أعلى المدخل، أدخل Storage account. حدّد Storage accounts في نتائج البحث.
حدد + إنشاء.
في علامة التبويب Basics في Create a storage account، أدخل المعلومات التالية أو حددها:
الإعداد
القيمة
تفاصيل المشروع
الاشتراك
حدد اشتراك Azure الخاص بك.
مجموعة الموارد
حدد test-rg.
تفاصيل المثيل
Storage account name
أدخل storage1. إذا كان الاسم غير متوفر، فأدخِل اسمًا فريدًا.
الموقع
حدد (US) Eeast US 2
الأداء
اترك Standardالافتراضي.
التكرار
حدد التخزين المتكرر محليًا (LRS).
حدد "Review".
حدد إنشاء.
قم بإنشاء حساب تخزين في Azure باستخدام New-AzStorageAccount. استبدل <replace-with-your-unique-storage-account-name> باسم فريد عبر جميع مواقع Azure بعدد احرف يتراوح بين 3-24 حرفاً في الطول، باستخدام الأرقام والأحرف الصغيرة فقط.
لأغراض هذا البرنامج التعليمي، يتم استخدام سلسلة الاتصال للاتصال بحساب التخزين. توصي Microsoft باستخدام تدفق المصادقة الأكثر أمانا المتوفر. يتطلب تدفق المصادقة الموضح في هذا الإجراء درجة عالية من الثقة في التطبيق، ويحمل مخاطر غير موجودة في تدفقات أخرى. يجب عليك استخدام هذا التدفق فقط عندما لا تكون التدفقات الأخرى الأكثر أمانا، مثل الهويات المدارة، قابلة للتطبيق.
يتم استخدام المفتاح لإنشاء مشاركة ملف في خطوة لاحقة. أدخل $storageAcctKey القيمة ولاحظها. يمكنك إدخاله يدويا في خطوة لاحقة عند تعيين مشاركة الملف إلى محرك أقراص في جهاز ظاهري.
تختلف الخطوات الضرورية لتقييد الوصول إلى الشبكة إلى الموارد التي تم إنشاؤها من خلال خدمات Azure الممكنة لنقاط تقديم الخدمة عبر الخدمات. راجع الوثائق الخاصة بالخدمات الفردية للحصول على خطوات محددة لكل خدمة. يتضمن الجزء المتبقي من هذه المقالة خطوات لتقييد الوصول إلى الشبكة لحساب Azure Storage، كمثال.
إنشاء حساب تخزين
قم بإنشاء حساب Azure Sorage باستخدام az storage account create. استبدل <replace-with-your-unique-storage-account-name> باسم فريد عبر جميع مواقع Azure بعدد احرف يتراوح بين 3-24 حرفاً في الطول، باستخدام الأرقام والأحرف الصغيرة فقط.
بعد إنشاء حساب التخزين، استرد سلسلة الاتصال لحساب التخزين إلى متغير باستخدام az storage account show-connection-string. يتم استخدام سلسلة الاتصال لإنشاء مشاركة ملف في خطوة لاحقة.
لأغراض هذا البرنامج التعليمي، يتم استخدام سلسلة الاتصال للاتصال بحساب التخزين. توصي Microsoft باستخدام تدفق المصادقة الأكثر أمانا المتوفر. يتطلب تدفق المصادقة الموضح في هذا الإجراء درجة عالية من الثقة في التطبيق، ويحمل مخاطر غير موجودة في تدفقات أخرى. يجب عليك استخدام هذا التدفق فقط عندما لا تكون التدفقات الأخرى الأكثر أمانا، مثل الهويات المدارة، قابلة للتطبيق.
بشكل افتراضي، تقبل حسابات التخزين اتصالات الشبكة من العملاء في أي شبكة، بما في ذلك الإنترنت. يمكنك تقييد الوصول إلى الشبكة من الإنترنت، وجميع الشبكات الفرعية الأخرى في جميع الشبكات الظاهرية (باستثناء الشبكة الفرعية الخاصة بالشبكة الفرعية في الشبكة الظاهرية vnet-1 .)
لتقييد الوصول إلى الشبكة إلى شبكة فرعية:
في مربع البحث أعلى المدخل، أدخل Storage account. حدّد Storage accounts في نتائج البحث.
حدد حساب التخزين.
في Security + networking، حدد Networking.
في علامة التبويب Firewalls and virtual networks ، حدد Enabled من الشبكات الظاهرية المحددة وعناوين IP في الوصول إلى الشبكة العامة.
في الشبكات الظاهرية، حدد + إضافة شبكة ظاهرية موجودة.
في إضافة شبكات، أدخل المعلومات التالية أو حددها:
الإعداد
القيمة
الاشتراك
حدد Subscription الخاص بك.
الشبكات الظاهرية
حدد vnet-1.
الشبكات الفرعية
حدد subnet-private.
حدد إضافة.
حدد Save لحفظ تكوينات الشبكة الظاهرية.
بشكل افتراضي، تقبل حسابات التخزين اتصالات الشبكة من العملاء في أي شبكة. لتقييد الوصول إلى الشبكات المحددة، قم بتغيير الإجراء الافتراضي إلى Deny باستخدام Update-AzStorageAccountNetworkRuleSet. بمجرد رفض الوصول إلى الشبكة، لا يمكن الوصول إلى حساب التخزين من أي شبكة.
بشكل افتراضي، تقبل حسابات التخزين اتصالات الشبكة من العملاء في أي شبكة. لتقييد الوصول إلى الشبكات المحددة، قم بتغيير الإجراء الافتراضي إلى Deny باستخدام az storage account update. بمجرد رفض الوصول إلى الشبكة، لا يمكن الوصول إلى حساب التخزين من أي شبكة.
لاختبار الوصول إلى الشبكة إلى حساب تخزين، انشر جهازا ظاهريا على كل شبكة فرعية.
إنشاء جهاز ظاهري للاختبار
ينشئ الإجراء التالي جهازا ظاهريا تجريبيا (VM) يسمى vm-1 في الشبكة الظاهرية.
في المدخل، ابحث عن الأجهزة الظاهرية وحددها.
في الأجهزة الظاهرية، حدد + إنشاء، ثم جهاز Azure الظاهري.
في علامة التبويب أساسيات، قم بإنشاء جهاز ظاهري، وأدخل أو حدد المعلومات التالية:
الإعداد
القيمة
تفاصيل المشروع
الاشتراك
حدد Subscription الخاص بك.
مجموعة الموارد
حدد test-rg.
تفاصيل المثيل
اسم الجهاز الظاهري
أدخل vm-1.
المنطقة
حدد شرق الولايات المتحدة 2.
خيارات التوفر
حدد No infrastructure redundancy required.
نوع الأمان
اترك الإعداد الافتراضي "Standard".
الصورة
حدد Windows Server 2022 Datacenter - x64 Gen2.
بنية الجهاز الظاهري
اترك الإعداد الافتراضي x64.
الحجم
تحديد الحجم.
حساب المسؤول
نوع المصادقة
اختر كلمة السر.
اسم مستخدم
أدخل azureuser.
كلمة المرور
إدخال «password».
تأكيد كلمة المرور
أعد إدخال كلمة المرور.
قواعد المنفذ الوارد
المنافذ العامة الواردة
حدد لا شيء.
حدد علامة التبويب Networking في أعلى الصفحة.
أدخل المعلومات التالية أو حددها في علامة تبويب "Networking":
الإعداد
القيمة
واجهة الشبكة
الشبكة الظاهرية
حدد vnet-1.
الشبكة الفرعية
حدد subnet-1 (10.0.0.0/24).
عنوان IP عام
حدد لا شيء.
المجموعة الأمنية للشبكة NIC
حدد خيارات متقدمة.
تكوين مجموعة أمان الشبكة
حدد إنشاء جديد. أدخل nsg-1 للاسم. اترك الباقي في الإعدادات الافتراضية وحدد موافق.
اترك بقية الإعدادات في الإعدادات الافتراضية وحدد Review + create.
راجع الإعدادات وحدد Create.
إشعار
لا تحتاج الأجهزة الظاهرية في شبكة ظاهرية مع مضيف معقل إلى عناوين IP عامة. يوفر Bastion عنوان IP العام، وتستخدم الأجهزة الظاهرية عناوين IP الخاصة للاتصال داخل الشبكة. يمكنك إزالة عناوين IP العامة من أي أجهزة ظاهرية في الشبكات الظاهرية المستضافة الأساسية. لمزيد من المعلومات، راجع فصل عنوان IP عام من جهاز Azure الظاهري.
إشعار
يوفر Azure عنوان IP افتراضيا للوصول الصادر للأجهزة الظاهرية التي لم يتم تعيين عنوان IP عام لها أو الموجودة في تجمع الواجهة الخلفية لموازن تحميل Azure الأساسي الداخلي. توفر آلية IP للوصول الصادر الافتراضي عنوان IP صادر غير قابل للتكوين.
يتم تعطيل عنوان IP الافتراضي للوصول الصادر عند حدوث أحد الأحداث التالية:
يتم تعيين عنوان IP عام إلى الجهاز الظاهري.
يتم وضع الجهاز الظاهري في تجمع الواجهة الخلفية لموازن التحميل القياسي، مع قواعد صادرة أو بدونها.
إنشاء جهاز ظاهري ثان يكرر الخطوات الواردة في القسم السابق. استبدل القيم التالية في إنشاء جهاز ظاهري:
الإعداد
القيمة
اسم الجهاز الظاهري
أدخل vm-private.
الشبكة الفرعية
حدد subnet-private.
عنوان IP عام
حدد لا شيء.
المجموعة الأمنية للشبكة NIC
حدد لا شيء.
تحذير
لا تنتقل إلى الخطوة التالية حتى يتم إكمال التوزيع.
أنشئ الجهاز الظاهري الأول
إنشاء جهاز ظاهري في الشبكة الفرعية العامة للشبكة الفرعية باستخدام New-AzVM. عند تشغيل الأمر التالي، تتم مطالبتك ببيانات الاعتماد. تكوين القيم المُدخَلة كاسم المستخدم وكلمة المرور للجهاز الظاهري.
يستغرق Azure بضع دقائق لإنشاء أي جهاز ظاهري. لا تستمر إلى الخطوة التالية حتى ينتهي Azure من إنشاء الجهاز الظاهري وإرجاع الإخراج إلى PowerShell.
لاختبار الوصول إلى شبكة اتصال إلى حساب تخزين، بادر بتوزيع جهاز ظاهري إلى كل شبكة فرعية.
أنشئ الجهاز الظاهري الأول
إنشاء جهاز ظاهري في الشبكة الفرعية العامة للشبكة الفرعية باستخدام az vm create. إذا لم تكن مفاتيح SSH موجودة بالفعل في موقع مفتاح افتراضي، يقوم الأمر بإنشائها. لاستخدام مجموعة محددة من المفاتيح، استخدم الخيار --ssh-key-value.
يتم استخدام الجهاز الظاهري الذي قمت بإنشائه سابقا الذي تم تعيينه إلى الشبكة الفرعية الخاصة بالشبكة الفرعية لتأكيد الوصول إلى حساب التخزين. يتم استخدام الجهاز الظاهري الذي قمت بإنشائه في القسم السابق الذي تم تعيينه للشبكة الفرعية 1 للتأكد من حظر الوصول إلى حساب التخزين.
الحصول على مفتاح الوصول إلى حساب التخزين
في مربع البحث أعلى المدخل، أدخل Storage account. حدّد Storage accounts في نتائج البحث.
في حسابات التخزين، حدد حساب التخزين الخاص بك.
في Security + networking، حدد Access keys.
انسخ قيمة key1. قد تحتاج إلى تحديد الزر إظهار لعرض المفتاح.
في مربع البحث الموجود أعلى المدخل، أدخل Virtual machine. حدد "Virtual machines" في نتائج البحث.
حدد vm-private.
حدد Bastion في Operations.
أدخل اسم المستخدم وكلمة المرور التي حددتها عند إنشاء الجهاز الظاهري. حدد اتصال.
افتح Windows PowerShell. استخدم البرنامج النصي التالي لتعيين مشاركة ملف Azure لمحرك الأقراص Z.
استبدل <storage-account-key> بالمفتاح الذي نسخته في الخطوة السابقة.
استبدال <storage-account-name> اسم حساب التخزين الخاص بك. في هذا المثال، إنه storage8675.
يرجع PowerShell الإخراج مشابهًا إلى إخراج المثال التالي:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
تم تعيين مشاركة ملف Azure بنجاح إلى محرك الأقراص Z.
أغلق اتصال Bastion إلى vm-private.
يتم استخدام الجهاز الظاهري الذي قمت بإنشائه سابقا الذي تم تعيينه إلى الشبكة الفرعية الخاصة بالشبكة الفرعية لتأكيد الوصول إلى حساب التخزين. يتم استخدام الجهاز الظاهري الذي قمت بإنشائه في القسم السابق الذي تم تعيينه للشبكة الفرعية 1 للتأكد من حظر الوصول إلى حساب التخزين.
يرجع PowerShell الإخراج مشابهًا إلى إخراج المثال التالي:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
تم تعيين مشاركة ملف Azure بنجاح إلى محرك الأقراص Z.
تأكد من أن الجهاز الظاهري ليس لديه اتصال صادر بأي عناوين IP عامة أخرى:
ping bing.com
لا تتلقى أي ردود، لأن مجموعة أمان الشبكة المقترنة بالشبكة الفرعية الخاصة لا تسمح بالوصول الصادر إلى عناوين IP العامة بخلاف العناوين المعينة لخدمة Azure Storage.
أغلق اتصال Bastion إلى vm-private.
SSH في vm-private VM.
قم بتشغيل الأمر التالي لتخزين عنوان IP للجهاز الظاهري كمتغير بيئة:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-private --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
إنشاء مجلد لنقطة تركيب:
sudo mkdir /mnt/file-share
قم بإدخال مشاركة ملف Azure في الدليل الذي أنشأته. قبل تشغيل الأمر التالي، استبدل <storage-account-name> باسم الحساب واستبدل <storage-account-key> بالمفتاح الذي استرددته في إنشاء حساب تخزين.
sudo mount --types cifs //<storage-account-name>.file.core.windows.net/my-file-share /mnt/file-share --options vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
تتلقى المطالبة user@vm-private:~$. تم تحميل مشاركة ملف Azure بنجاح إلى /mnt/file-share.
تأكد من أن الجهاز الظاهري ليس لديه اتصال صادر بأي عناوين IP عامة أخرى:
ping bing.com -c 4
لا تتلقى أي ردود، لأن مجموعة أمان الشبكة المقترنة بالشبكة الفرعية الخاصة بالشبكة الفرعية لا تسمح بالوصول الصادر إلى عناوين IP العامة بخلاف العناوين المعينة لخدمة Azure Storage.
Get-AzStorageFile : The remote server returned an error: (403) Forbidden. HTTP Status Code: 403 - HTTP Error Message: This request isn't authorized to perform this operation
الكمبيوتر الخاص بك ليس في الشبكة الفرعية الخاصة بالشبكة الظاهرية vnet-1 .
SSH في vm-public VM.
قم بتشغيل الأمر التالي لتخزين عنوان IP للجهاز الظاهري كمتغير بيئة:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-public --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
إنشاء دليل لنقطة تركيب:
sudo mkdir /mnt/file-share
حاول إدخال مشاركة ملف Azure في الدليل الذي أنشأته. تفترض هذه المقالة أنك وزعت أحدث إصدار من Ubuntu. إذا كنت تستخدم إصدارات سابقة من Ubuntu، فشاهد Mount on Linux للحصول على مزيد من الإرشادات حول تحميل مشاركات الملفات. قبل تشغيل الأمر التالي، استبدل <storage-account-name> باسم الحساب واستبدل <storage-account-key> بالمفتاح الذي استرددته في إنشاء حساب تخزين:
sudo mount --types cifs //storage-account-name>.file.core.windows.net/file-share /mnt/file-share --options vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
تم رفض الوصول، وتتلقى خطأ mount error(13): Permission denied ، لأنه يتم نشر vm-public VM داخل الشبكة الفرعية للشبكة الفرعية العامة . لا تحتوي الشبكة الفرعية العامة للشبكة الفرعية على نقطة نهاية خدمة ممكنة ل Azure Storage، ويسمح حساب التخزين فقط بالوصول إلى الشبكة من الشبكة الفرعية الخاصة بالشبكة الفرعية، وليس الشبكة الفرعية العامة للشبكة الفرعية.
الخروج من جلسة SSH إلى VM-public VM.
من جهاز الكمبيوتر الخاص بك، حاول أن تعرض المشاركات في حساب التخزين الخاص بك باستخدام az storage share list. استبدل <account-name> و<account-key> باسم حساب التخزين ومفتاحه من إنشاء حساب تخزين:
az storage share list \
--account-name <account-name> \
--account-key <account-key>
تم رفض الوصول وتتلقى هذا الطلب غير مصرح به لتنفيذ خطأ العملية هذا، لأن الكمبيوتر الخاص بك ليس في الشبكة الفرعية الخاصة بالشبكة الظاهرية vnet-1.
إذا كان لديك شبكات ظاهرية متعددة في حسابك، فقد ترغب في إنشاء اتصال بينها بحيث يمكن للموارد الاتصال ببعضها البعض. لمعرفة كيفية توصيل الشبكات الافتراضية، تقدم إلى البرنامج التعليمي التالي.