تكوين جدار حماية 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، يوصى بالسماح لمدخل Azure بالوصول إلى حسابك. مطلوب الوصول للسماح باستخدام مستكشف البيانات واسترداد المقاييس لحسابك التي تظهر على مدخل Microsoft Azure. عند استخدام مستكشف البيانات، بالإضافة إلى السماح لمدخل Microsoft Azure بالوصول إلى حسابك، تحتاج أيضًا إلى تحديث إعدادات جدار الحماية لإضافة عنوان IP الحالي إلى قواعد جدار الحماية. قد يستغرق نشر تغييرات جدار الحماية ما يصل إلى 15 دقيقة وقد يعرض جدار الحماية سلوكا غير متناسق خلال هذه الفترة.
يمكنك دمج جدار الحماية المستند إلى IP مع الشبكة الفرعية والتحكم في الوصول إلى الشبكة الظاهرية. من خلال دمجها، يمكنك تقييد الوصول إلى أي مصدر يحتوي على IP عام و/أو من شبكة فرعية معينة داخل الشبكة الظاهرية. لمعرفة المزيد حول استخدام الشبكة الفرعية والتحكم في الوصول المستند إلى الشبكة الظاهرية، راجع الوصول إلى موارد Azure Cosmos DB من الشبكات الظاهرية.
للتلخيص، الرمز المميز للتخويل مطلوب دائما للوصول إلى حساب Azure Cosmos DB. إذا لم يتم إعداد جدار حماية IP وقائمة التحكم في الوصول إلى الشبكة الظاهرية (ACLs)، يمكن الوصول إلى حساب Azure Cosmos DB باستخدام رمز التخويل المميز. بعد إعداد جدار حماية IP أو قوائم التحكم في الوصول للشبكة الظاهرية أو كليهما على حساب 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، انتقل إلى صفحة حساب Azure Cosmos DB وحدد Networking في قائمة التنقل. تغيير السماح بالوصول من القيمة إلى الشبكات المحددة،ثم حدد «حفظ». إذا كنت لا تضيف أي عناوين IP حتى الآن، فستضطر أيضا إلى تحديد المربع للإقرار بأنه سيتم حظر جميع الشبكات الظاهرية وعناوين IP. إذا قمت بتغيير إعدادات شبكة الوصول العام، إما عن طريق تعطيلها أو السماح بها لجميع الشبكات، فستفقد عنوان IP لجدار الحماية الذي ربما قمت بإعداده من قبل.
عند تشغيل عنصر التحكم بالوصول إلى 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 لخدمات مدخل Azure إلى الخاصية ipRangeFilter لمتابعة استخدام بعض وظائف المدخل.
تتضمن سيناريوهات المدخل التي تتطلب تمكين هذا الخيار ما يلي:
- الوصول إلى واجهة برمجة التطبيقات ل MongoDB أو API لحسابات Apache Cassandra باستخدام Data Explorer أو <cosmos.azure.com>
- استخدام شفرات Azure Cosmos DB التالية داخل مدخل Microsoft Azure:
- نسخ البيانات نسخا متماثلا عالميا
- استعراض المجموعات
- Power BI
- Azure Synapse
يمكنك تمكين الطلبات للوصول إلى مدخل Microsoft Azure عن طريق تحديد الخيار Add Azure Portal Middleware IPs ، كما هو موضح في لقطة الشاشة التالية:
ستتم إضافة عناوين IP ل Azure Portal Middleware إلى قائمة منفصلة، كما هو موضح في لقطة الشاشة التالية. انقر فوق حفظ لإضافة هذه العناوين إلى حساب قاعدة البيانات. يمكن العثور على مزيد من التفاصيل حول عناوين IP للبرامج الوسيطة أدناه في هذه المقالة.
يمكن إزالة عناوين IP الخاصة ب Azure Portal Middleware بالنقر فوق الخيار Remove Azure Portal Middleware IPs ثم تحديد Save.
عناوين IP للبرامج الوسيطة لمدخل Microsoft Azure
عناوين IP ل Azure Portal Middleware مدرجة أدناه. بعض عناوين IP مطلوبة فقط لواجهات برمجة تطبيقات حساب قاعدة بيانات معينة. عند إضافة عناوين IP للبرامج الوسيطة في المدخل، كما هو موضح أعلاه، ستتم إضافة عناوين IP المطلوبة لحسابك فقط.
على سبيل المثال:
بالنسبة إلى API لحساب NoSQL، ستتم إضافة عناوين IP من الفئة All .
بالنسبة إلى واجهة برمجة التطبيقات لحساب MongoDB، ستتم إضافة عناوين IP من فئتي All وMongoDB فقط .
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 |
عناوين IP القديمة للبرامج الوسيطة
انتقلت خدمات مدخل Cosmos DB مؤخرا إلى بنية أساسية جديدة تتطلب عناوين IP جديدة للبرامج الوسيطة. مع الانتهاء من هذا الانتقال، يمكن الآن إزالة عناوين IP القديمة المستخدمة من قبل البنية الأساسية القديمة بأمان. إذا كان حسابك يحتوي على عناوين IP قديمة للبرامج الوسيطة موجودة في قواعد جدار الحماية، عرض خيار إزالة عناوين IP القديمة للبرامج الوسيطة في مدخل Microsoft Azure. حدد هذا الخيار ثم حفظ لإزالة عناوين IP القديمة.
تعتمد عناوين IP القديمة على بيئة السحابة:
بيئة Azure | عناوين IP |
---|---|
Azure العامة | 104.42.195.92, 40.76.54.131, 52.176.6.30, 52.169.50.45, 52.187.184.26 |
Azure الصين: | 139.217.8.252, 52.176.6.30, 52.169.50.45, 52.187.184.26 |
Azure حكومة الولايات المتحدة | 52.244.48.71, 52.176.6.30, 52.169.50.45, 52.187.184.26 |
إشعار
إذا كنت تواجه تحديات في الاتصال بحساب Azure Cosmos DB الخاص بك من مستكشف البيانات، فراجع دليل استكشاف الأخطاء وإصلاحها في مستكشف البيانات.
السماح بالطلبات من مراكز بيانات Microsoft Azure العمومية أو مصادر أخرى داخل Microsoft Azure
إذا قمت بالوصول إلى حساب Microsoft Azure Cosmos DB الخاص بك من الخدمات التي لا توفر IP ثابت (على سبيل المثال، Azure Stream Analytics ووظائف Microsoft Azure)، فلا يزال بإمكانك استخدام جدار حماية IP لتقييد صلاحية الوصول. يمكنك تمكين الوصول من مصادر أخرى داخل Azure عن طريق تحديد الخيار «قبول الاتصالات من داخل مراكز بيانات Microsoft Azure كما هو موضح في لقطة الشاشة التالية:
عند تمكين هذا الخيار، يُضاف عنوان 0.0.0.0
إلى قائمة عناوين IP المسموح بها. 0.0.0.0
يقيّد عنوان IP الطلبات إلى حساب Microsoft Azure Cosmos DB الخاص بك من نطاق IP لمركز بيانات Microsoft Azure. لا يسمح هذا الإعداد بالوصول إلى أي نطاقات IP أخرى إلى حساب Azure Cosmos DB الخاص بك.
إشعار
تعيين publicNetworkAccess إلى Disabled له الأسبقية على خيار قبول الاتصال من داخل مراكز بيانات Azure. راجع blocking-public-network-access-during-account-creation
إشعار
يقوم هذا الخيار بتكوين جدار الحماية للسماح لكافة الطلبات من 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 الحالي. ثم حدد حفظ.
الترحيل من خدمات شبكة النظير
في Microsoft Azure، تعتبر خدمات شبكة النظير طريقة شائعة لاستضافة منطق الخدمة باستخدام Microsoft Azure Cosmos DB. لتمكين الوصول إلى حساب Microsoft Azure Cosmos DB الخاص بك من خدمة شبكة النظير، يجب إضافة عنوان IP العام لخدمة شبكة النظير إلى القائمة المسموح بها لعناوين IP المقترنة بحساب Microsoft Azure Cosmos DB الخاص بك عن طريقتكوين نهج التحكم بالوصول لعنوان IP. وهذا يضمن أن جميع مثيلات الأدوار لخدمات شبكة النظير لديها حق الوصول إلى حساب Microsoft Azure Cosmos DB الخاص بك.
يمكنك استرداد عناوين IP لخدمات شبكة النظير في مدخل Microsoft Azure، كما هو موضح في لقطة الشاشة التالية:
عند توسيع نطاق خدمة شبكة النظير الخاصة بك عن طريق إضافة مثيلات الدور، سيكون لهذه المثيلات الجديدة حق الوصول تلقائيًّا إلى حساب Microsoft Azure Cosmos DB لأنها جزء من نفس الخدمة السحابية.
الطلبات من الأجهزة الظاهرية
يمكنك أيضًا استخدام الأجهزة الظاهرية أو مجموعات مقياس الجهاز الظاهري لاستضافة خدمات الطبقة المتوسطة باستخدام Microsoft Azure Cosmos DB. لتكوين حساب Azure Cosmos DB الخاص بك بحيث يسمح بالوصول من الأجهزة الظاهرية، يجب تكوين عنوان IP العام للجهاز الظاهري و/أو مجموعة مقياس الجهاز الظاهري كأحد عناوين IP المسموح بها لحساب Azure Cosmos DB الخاص بك عن طريق تكوين نهج التحكم في الوصول إلى IP.
يمكنك استرداد عناوين IP لخدمات شبكة النظير في مدخل Microsoft Azure، كما هو موضح في لقطة الشاشة التالية:
عند إضافة مثيلات الجهاز الظاهري إلى المجموعة، فإنها تتلقى الوصول إلى حِساب Microsoft Azure Cosmos DB الخاص بك تلقائيًا.
طلبات من خلال الإنترنت
عند الوصول إلى حساب Microsoft Azure Cosmos DB الخاص بك من جهاز كمبيوتر على الإنترنت، يجب إضافة عنوان IP للعميل أو نطاق عنوان IP الخاص بالجهاز إلى القائمة المسموح بها لعناوين IP لحسابك.
إضافة القواعد الصادرة إلى جدار الحماية
للوصول إلى قائمة حالية لنطاقات IP الصادرة لإضافتها إلى إعدادات جدار الحماية، راجع تنزيل نطاقات IP Azure وعلامات الخدمة.
لأتمتة القائمة، راجع استخدام واجهة برمجة تطبيقات اكتشاف علامة الخدمة.
تكوين جدار حماية IP باستخدام قالب Resource Manager
لتكوين التحكم بالوصول إلى حساب Microsoft Azure Cosmos DB تأكد من أن قالب Resource Manager يحدد الخاصية «ipRules»من خلال صفيف نطاقات IP المسموح بها. إذا كان تكوين جدار حماية IP إلى حساب Azure Cosmos DB تم نشره بالفعل، فتأكد من locations
تطابق الصفيف مع ما تم نشره حاليا. لا يمكنك تعديل locations
الصفيف والخصائص الأخرى في نفس الوقت. لمزيد من المعلومات وعينات قوالب Azure Resource Manager ل Azure Cosmos DB، راجع قوالب Azure Resource Manager ل Azure Cosmos DB
هام
تم تقديم الخاصية ipRules من خلال إصدار API 2020-04-01. كشفت الإصدارات السابقة الخاصية ipRangeFilter بدلًا من ذلك، وهي قائمة بعناوين IP مفصولة بفاصلة.
يوضح المثال كيفية عرض خاصية ipRules في إصدار واجهة برمجة التطبيقات 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": "13.91.105.215"
},
{
"ipAddressOrRange": "4.210.172.107"
},
{
"ipAddressOrRange": "13.88.56.148"
},
{
"ipAddressOrRange": "40.91.218.243"
}
]
}
}
فيما يلي نفس المثال لأي إصدار 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":"13.91.105.215,4.210.172.107,13.88.56.148,40.91.218.243"
}
}
تكوين نهج التحكم بالوصول 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
عند الوصول إلى موارد 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 خاص في القائمة.