تكوين جدار حماية IP في Microsoft Azure Cosmos DB

ينطبق على: NoSQL MongoDB كاساندرا العفريت الجدول

لتأمين البيانات المخزنة في حسابك، يدعم Microsoft Azure Cosmos DB نموذج تخويل يستند إلى السرية يستخدم التعليمة البرمجية لمصادقة الرسالة المستندة إلى التجزئة (HMAC). يدعم Microsoft Azure Cosmos DB عناصر التحكم في الوصول المستندة إلى IP لدعم جدار الحماية الداخلي. يشبه هذا النموذج قواعد جدار الحماية الخاصة بنظام قاعدة بيانات تقليدي ويوفر مستوى إضافيًّا من الأمان لحسابك. باستخدام جدران الحماية، يمكنك تكوين حساب Azure Cosmos DB الخاص بك ليكون متاحا فقط من مجموعة معتمدة من الأجهزة و/أو الخدمات السحابية. سيظل الوصول إلى البيانات المخزنة في قاعدة بيانات Azure Cosmos DB من هذه المجموعات المعتمدة من الأجهزة والخدمات يتطلب من المتصل تقديم رمز مميز صالح للتخويل.

عنصر التحكم في وصول IP

بشكل افتراضي، يمكن الوصول إلى حساب Azure Cosmos DB الخاص بك من الإنترنت، طالما أن الطلب مصحوبا برمز تخويل صالح. لتكوين التحكم في الوصول المستند إلى نهج IP، يجب على المستخدم توفير مجموعة عناوين IP أو نطاقات عناوين IP في نموذج CIDR (توجيه بين المجالات بدون فئة) ليتم تضمينها كقائمة مسموح بها من عناوين IP للعميل للوصول إلى حساب Azure Cosmos DB معين. بمجرد تطبيق هذا التكوين، تتلقى أي طلبات تنشأ من أجهزة خارج هذه القائمة المسموح بها استجابة 403 (محظورة). عند استخدام جدار حماية IP، يُوصى بالسماح لمدخل Microsoft Azure بالوصول إلى حسابك. يُطلب الوصول للسماح باستخدام مستكشف البيانات وكذلك لاسترداد قياسات حسابك التي تظهر على مدخل Microsoft Azure. عند استخدام مستكشف البيانات، بالإضافة إلى السماح لمدخل Microsoft Azure بالوصول إلى حسابك، تحتاج أيضًا إلى تحديث إعدادات جدار الحماية لإضافة عنوان IP الحالي إلى قواعد جدار الحماية. لاحظ أن تغييرات جدار الحماية قد تستغرق 15 دقيقة ليتم نشرها، وجدار الحماية قد يحمل سلوكًا غير متناسق أثناء هذه الفترة.

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

للتلخيص، الرمز المميز للتخويل مطلوب دائما للوصول إلى حساب Azure Cosmos DB. إذا لم يتم إعداد جدار حماية IP وقائمة التحكم بالوصول إلى VNET (ACLs)، يمكن الوصول إلى حساب Azure Cosmos DB باستخدام رمز التخويل المميز. بعد إعداد جدار حماية IP أو VNET ACLs أو كليهما على حساب Azure Cosmos DB، فقط الطلبات التي تنشأ من المصادر التي حددتها (ومع رمز التخويل المميز) تحصل على استجابات صالحة.

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

  • من مدخل Azure
  • بشكل تصريحي عن طريق استخدام قالب Azure Resource Manager
  • برمجيًّا من خلال أزور واجهة سطر الأوامر من Microsoft Azure أو Azure PowerShell عن طريق تحديث الخاصية ipRangeFilter الخاصية

تكوين جدار حماية IP باستخدام مدخل Microsoft Azure

لتعيين نهج التحكم بالوصول إلى IP في مدخل Microsoft Azure، انتقل إلى صفحة حساب Microsoft Azure Cosmos DB وحدد «جدار الحماية والشبكات الظاهرية» في قائمة التنقل. تغيير السماح بالوصول من القيمة إلى الشبكات المحددة،ثم حدد «حفظ». إذا قمت بتغيير إعدادات شبكة الوصول العام، إما عن طريق تعطيلها أو السماح بها لجميع الشبكات، فستفقد عنوان IP لجدار الحماية الذي ربما قمت بإعداده من قبل.

لقطة شاشة توضح كيفية فتح صفحة جدار الحماية في مدخل Microsoft Azure

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

إشعار

بعد تمكين نهج التحكم بالوصول IP لحساب Microsoft Azure Cosmos DB، يتم رفض كافة الطلبات إلى حساب Microsoft Azure Cosmos DB من أجهزة خارج القائمة المسموح بها لنطاقات عناوين IP. كما يُحظر استعراض موارد Microsoft Azure Cosmos DB من المدخل لضمان تكامل بيانات التحكم بالوصول.

السماح بالطلبات من مدخل Microsoft Azure

عند تمكين نهج التحكم بالوصول إلى IP برمجيًّا، تحتاج إلى إضافة عنوان IP لمدخل Microsoft Azure إلى الخاصية ipRangeFilterللحفاظ على الوصول. عناوين IP للمدخل هي:

المنطقة عنوان IP
الصين 139.217.8.252
حكومة الولايات المتحدة 52.244.48.71
كافة المناطق الأخرى 104.42.195.92,40.76.54.131,52.176.6.30,52.169.50.45,52.187.184.26

يمكنك تمكين طلبات الوصول إلى مدخل Azure عن طريق تحديد الخيار «السماح بالوصول من مدخل Microsoft Azure» كما هو موضح في لقطة الشاشة التالية:

لقطة شاشة توضح كيفية تمكين الوصول إلى مدخل Microsoft Azure

عناوين IP لمدخل Azure الجديد

تنتقل خدمات مدخل Cosmos DB إلى بنية أساسية جديدة في عام 2024. كجزء من هذا الانتقال، تتطلب الحسابات التي تم تمكين جدار الحماية لها السماح لعناوين IP جديدة بمتابعة الوصول إلى بعض وظائف المدخل، مثل Data Explorer. تقدم هذه الخطوة أيضا عناوين IP مخصصة لحسابات Mongo DB وApache Cassandra API.

أثناء هذا الانتقال، يضيف الخيار السماح بالوصول من مدخل Microsoft Azure عناوين IP الحالية والجديدة إلى إعدادات جدار حماية الحساب (بما في ذلك عناوين MongoDB وCassandra المحددة لتلك الحسابات) عند اكتمال الانتقال، سيتم توفير خيار مدخل لإزالة عناوين IP القديمة.

Azure العامة
واجهة برمجة تطبيقات حساب قاعدة البيانات عناوين IP
الكل 13.91.105.215, 4.210.172.107, 13.88.56.148, 40.91.218.243
MongoDB فقط 20.245.81.54, 40.118.23.126, 40.80.152.199, 13.95.130.121
Apache Cassandra فقط 40.113.96.14, 104.42.11.145, 137.117.230.240, 168.61.72.237
Azure الصين:
واجهة برمجة تطبيقات حساب قاعدة البيانات عناوين IP
الكل 163.228.137.6, 143.64.170.142
MongoDB فقط 52.131.240.99, 143.64.61.130
Apache Cassandra فقط 40.73.99.146, 143.64.62.47
Azure حكومة الولايات المتحدة
واجهة برمجة تطبيقات حساب قاعدة البيانات عناوين IP
الكل 52.247.163.6, 52.244.134.181
MongoDB فقط 52.244.176.112, 52.247.148.42
Apache Cassandra فقط 52.244.50.101, 52.227.165.24

إشعار

إذا كنت تواجه تحديات في الاتصال بحساب Azure Cosmos DB الخاص بك من مستكشف البيانات، فراجع دليل استكشاف الأخطاء وإصلاحها في مستكشف البيانات.

السماح بالطلبات من مراكز بيانات Microsoft Azure العمومية أو مصادر أخرى داخل Microsoft Azure

إذا قمت بالوصول إلى حساب Microsoft Azure Cosmos DB الخاص بك من الخدمات التي لا توفر IP ثابت (على سبيل المثال، Azure Stream Analytics ووظائف Microsoft Azure)، فلا يزال بإمكانك استخدام جدار حماية IP لتقييد صلاحية الوصول. يمكنك تمكين الوصول من مصادر أخرى داخل Azure عن طريق تحديد الخيار «قبول الاتصالات من داخل مراكز بيانات Microsoft Azure كما هو موضح في لقطة الشاشة التالية:

لقطة شاشة توضح كيفية قبول الاتصالات من مراكز بيانات Microsoft Azure

عند تمكين هذا الخيار، يُضاف عنوان 0.0.0.0 إلى قائمة عناوين IP المسموح بها. 0.0.0.0 يقيّد عنوان IP الطلبات إلى حساب Microsoft Azure Cosmos DB الخاص بك من نطاق IP لمركز بيانات Microsoft Azure. لا يسمح هذا الإعداد بالوصول إلى أي نطاقات IP أخرى إلى حساب Microsoft Azure Cosmos DB.

إشعار

يقوم هذا الخيار بتكوين جدار الحماية للسماح لكافة الطلبات من Microsoft Azure، بما في ذلك الطلبات من اشتراكات العملاء الآخرين المنتشرين في Microsoft Azure. تعتبر قائمة عناوين IP المسموح بها تحت إطار هذا الخيار واسعة، لذلك يحد من فعالية نهج جدار الحماية. استخدم هذا الخيار فقط في حال لم تنشأ طلباتك من عناوين IP ثابتة أو شبكات فرعية في الشبكات الظاهرية. اختيار هذا الخيار تلقائيًّا يسمح بالوصول من مدخل Microsoft Azure لأنه يتم نشر مدخل Microsoft Azure في Microsoft Azure.

الطلبات من عنوان IP الحالي الخاص بك

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

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

لإضافة IP الحالي إلى قائمة عناوين IP، حدد«أضف عنوان IP الحالي الخاص بي». ثم حدد حفظ.

لقطة شاشة توضح كيفية تكوين إعدادات جدار الحماية لعنوان IP الحالي

الترحيل من خدمات شبكة النظير

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

يمكنك استرداد عناوين IP لخدمات شبكة النظير في مدخل Microsoft Azure، كما هو موضح في لقطة الشاشة التالية:

لقطة شاشة تعرض عنوان IP العام لخدمة شبكة النظير معروضة في مدخل Microsoft Azure

عند توسيع نطاق خدمة شبكة النظير الخاصة بك عن طريق إضافة مثيلات الدور، سيكون لهذه المثيلات الجديدة حق الوصول تلقائيًّا إلى حساب Microsoft Azure Cosmos DB لأنها جزء من نفس الخدمة السحابية.

الطلبات من الأجهزة الظاهرية

يمكنك أيضًا استخدام الأجهزة الظاهرية أو مجموعات مقياس الجهاز الظاهري لاستضافة خدمات الطبقة المتوسطة باستخدام Microsoft Azure Cosmos DB. لتكوين حساب Azure Cosmos DB الخاص بك بحيث يسمح بالوصول من الأجهزة الظاهرية، يجب تكوين عنوان IP العام للجهاز الظاهري و/أو مجموعة مقياس الجهاز الظاهري كأحد عناوين IP المسموح بها لحساب Azure Cosmos DB الخاص بك عن طريق تكوين نهج التحكم في الوصول إلى IP.

يمكنك استرداد عناوين IP لخدمات شبكة النظير في مدخل Microsoft Azure، كما هو موضح في لقطة الشاشة التالية:

لقطة شاشة توضّح عنوان IP العام لخدمة شبكة النظير معروض في مدخل Microsoft Azure

عند إضافة مثيلات الجهاز الظاهري إلى المجموعة، فإنها تتلقى الوصول إلى حِساب Microsoft Azure Cosmos DB الخاص بك تلقائيًا.

طلبات من خلال الإنترنت

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

إضافة القواعد الصادرة إلى جدار الحماية

للوصول إلى القائمة الحالية من نطاقات IP الصادرة لإضافتها إلى إعدادات جدار الحماية، يرجى الاطلاع على «نزّل نطاقات IP وعلامات الخدمة في Microsoft Azure».

لأتمتة القائمة، يرجى الاطلاع على «استخدام Service Tag Discovery API».

تكوين جدار حماية IP باستخدام قالب Resource Manager

لتكوين التحكم بالوصول إلى حساب Microsoft Azure Cosmos DB تأكد من أن قالب Resource Manager يحدد الخاصية «ipRules»من خلال صفيف نطاقات IP المسموح بها. إذا كان تكوين جدار حماية IP إلى حساب Azure Cosmos DB تم نشره بالفعل، فتأكد من locations تطابق الصفيف مع ما تم نشره حاليا. لا يمكنك تعديل locationsالصفيف وخصائص أخرى في ذات الوقت. لمزيد من المعلومات ونماذج قوالب Azure Resource Manager لـ Microsoft Azure Cosmos DB راجع «قوالب Azure Resource Manager لـ Microsoft Azure Cosmos DB»

هام

تم تقديم الخاصية ipRules من خلال إصدار API 2020-04-01. كشفت الإصدارات السابقة الخاصية ipRangeFilter بدلًا من ذلك، وهي قائمة بعناوين IP مفصولة بفاصلة.

يوضّح المثال أدناه كيفية تعرض الخاصية ipRules في إصدار API 2020-04-01 أو أحدث:

{
  "type": "Microsoft.DocumentDB/databaseAccounts",
  "name": "[variables('accountName')]",
  "apiVersion": "2020-04-01",
  "location": "[parameters('location')]",
  "kind": "GlobalDocumentDB",
  "properties": {
    "consistencyPolicy": "[variables('consistencyPolicy')[parameters('defaultConsistencyLevel')]]",
    "locations": "[variables('locations')]",
    "databaseAccountOfferType": "Standard",
    "enableAutomaticFailover": "[parameters('automaticFailover')]",
    "ipRules": [
      {
        "ipAddressOrRange": "40.76.54.131"
      },
      {
        "ipAddressOrRange": "52.176.6.30"
      },
      {
        "ipAddressOrRange": "52.169.50.45"
      },
      {
        "ipAddressOrRange": "52.187.184.26"
      }
    ]
  }
}

وفيما يلي نفس المثال لأي إصدار API قبل تاريخ 2020-04-01:

{
  "type": "Microsoft.DocumentDB/databaseAccounts",
  "name": "[variables('accountName')]",
  "apiVersion": "2019-08-01",
  "location": "[parameters('location')]",
  "kind": "GlobalDocumentDB",
  "properties": {
    "consistencyPolicy": "[variables('consistencyPolicy')[parameters('defaultConsistencyLevel')]]",
    "locations": "[variables('locations')]",
    "databaseAccountOfferType": "Standard",
    "enableAutomaticFailover": "[parameters('automaticFailover')]",
    "ipRangeFilter":"40.76.54.131,52.176.6.30,52.169.50.45,52.187.184.26"
  }
}

تكوين نهج التحكم بالوصول IP باستخدام واجهة سطر الأوامر من Microsoft Azure

يوضح الأمر التالي كيفية إنشاء حساب Microsoft Azure Cosmos DB من خلال التحكم بالوصول في IP:

# Create an Azure Cosmos DB account with default values and IP Firewall enabled
resourceGroupName='MyResourceGroup'
accountName='mycosmosaccount'
ipRangeFilter='192.168.221.17,183.240.196.255,40.76.54.131'

# Make sure there are no spaces in the comma-delimited list of IP addresses or CIDR ranges.
az cosmosdb create \
    -n $accountName \
    -g $resourceGroupName \
    --locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
    --locations regionName='East US 2' failoverPriority=1 isZoneRedundant=False \
    --ip-range-filter $ipRangeFilter

تكوين نهج التحكم بالوصول IP باستخدام PowerShell

يوضح النص التالي كيفية إنشاء حساب Microsoft Azure Cosmos DB من خلال التحكم بالوصول في IP:

# Create an Azure Cosmos DB account with default values and IP Firewall enabled
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$ipRules = @("192.168.221.17","183.240.196.255","40.76.54.131")

$locations = @(
    @{ "locationName"="West US 2"; "failoverPriority"=0; "isZoneRedundant"=False },
    @{ "locationName"="East US 2"; "failoverPriority"=1, "isZoneRedundant"=False }
)

# Make sure there are no spaces in the comma-delimited list of IP addresses or CIDR ranges.
$CosmosDBProperties = @{
    "databaseAccountOfferType"="Standard";
    "locations"=$locations;
    "ipRules"=$ipRules
}

New-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2020-04-01" -ResourceGroupName $resourceGroupName `
    -Name $accountName -PropertyObject $CosmosDBProperties

استكشاف المشاكل وإصلاحها باستخدام نهج التحكم بالوصول إلى IP

يمكنك استكشاف المشاكل المتعلقة بنهج التحكم بالوصول إلى IP باستخدام الخيارات التالية:

مدخل Azure

بعد تمكين نهج التحكم بالوصول IP لحساب Microsoft Azure Cosmos DB، يتم رفض كافة الطلبات إلى حساب Microsoft Azure Cosmos DB من أجهزة خارج القائمة المسموح بها لنطاقات عناوين IP. لتمكين عمليات مستوى بيانات المدخل مثل استعراض الحاويات والاستعلام عن المستندات، تحتاج إلى السماح صراحة الوصول إلى مدخل Microsoft Azure باستخدام جزء جدار الحماية في المدخل.

SDK

عند الوصول إلى موارد Microsoft Azure Cosmos DB باستخدام SDKs من الأجهزة غير الموجودة في القائمة المسموح بها، يتم إرجاع 403 المحظورمع أية تفاصيل إضافية. تحقق من قائمة IP المسموح بها لحسابك وتأكد من تطبيق تكوين النهج الصحيح على حساب Microsoft Azure Cosmos DB.

عناوين IP للمصدر في الطلبات المحظورة

تمكين تسجيل التشخيص على حساب Microsoft Azure Cosmos DB الخاص بك. تظهر هذه السجلات كل طلب وردّ. تُسجّل الرسائل المتعلقة بجدار الحماية من خلال تعليمة الإرجاع البرمجية 403. عن طريق تصفية هذه الرسائل، يمكنك مشاهدة عناوين IP للمصدر للطلبات المحظورة. انظر «تسجيل التشخيص في Microsoft Azure Cosmos DB».

تمكين الطلبات من شبكة فرعية مع نقطة نهاية خدمة ممكّنة لـ Microsoft Azure Cosmos DB

الطلبات من شبكة فرعية في شبكة ظاهرية تحتوي على نقطة نهاية خدمة ممكّنة لـ Microsoft Azure Cosmos DB تُرسل هوية الشبكة الظاهرية والشبكة الفرعية إلى حسابات Microsoft Azure Cosmos DB. لا تحتوي هذه الطلبات على IP العام للمصدَر، لذلك ترفضها عوامل تصفية IP. للسماح بالوصول من شبكات فرعية معينة في الشبكات الظاهرية، أضف قائمة تحكم بالوصول كما هو موضح في كيفية تكوين الشبكة الظاهرية والوصول المستند إلى الشبكة الفرعية لحساب Microsoft Azure Cosmos DB الخاص بك. قد يستغرق الأمر 15 دقيقة حتى يتم تطبيق قواعد جدار الحماية وقد يحمل جدار الحماية سلوكًا غير متناسق أثناء هذه الفترة.

عناوين IP الخاصة في قائمة العناوين المسموح بها

سيفشل إنشاء حساب Azure Cosmos DB أو تحديثه بقائمة العناوين المسموح بها التي تحتوي على عناوين IP خاصة. تأكد من عدم تحديد عنوان IP خاص في القائمة.

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

لتكوين نقطة نهاية خدمة شبكة اتصال ظاهرية لحساب Microsoft Azure Cosmos DB، راجع المقالات التالية: