المصادقة باستخدام خرائط Azure
يدعم خرائط Azure ثلاث طرق مصادقة: المفتاح المشترك ومعرف Microsoft Entra والرمز المميز لتوقيع الوصول المشترك (SAS). تشرح هذه المقالة أساليب المصادقة هذه بما في ذلك تفاصيل حول عناصر تحكم الحساب مثل تعطيل المصادقة المحلية لنهج Azure ومشاركة الموارد عبر المنشأ (CORS).
إشعار
لتحسين الاتصال الآمن باستخدام خرائط Azure، ندعم الآن بروتوكول أمان طبقة النقل (TLS) 1.2، وسنسحب دعم TLS 1.0 و1.1. إذا كنت تستخدم TLS 1.x حالياً، فقم بتقييم مدى استعداد TLS 1.2 لديك وقم بتطوير خطة ترحيل مع الاختبار الموضح في حل مشكلة TLS 1.0.
مصادقة المفتاح المشترك
للحصول على معلومات حول عرض المفاتيح في مدخل Microsoft Azure، راجع عرض تفاصيل المصادقة.
يتم إنشاء المفاتيح الأساسية والثانوية تلقائيا عند إنشاء حساب خرائط Azure. نشجعك على استخدام المفتاح الأساسي كمفتاح اشتراك عند الاتصال بخرائط Azure بمصادقة المفتاح المشترك. تمرر مصادقة المفتاح المشترك مفتاحاً تم إنشاؤه بواسطة حساب خرائط Azure إلى خدمة خرائط Azure. لكل طلب لخدمات خرائط Azure، أضف مفتاح الاشتراك كمعامل إلى عنوان URL. يمكن استخدام المفتاح الثانوي في سيناريوهات مثل تغيير المفتاح المتداول.
مثال على استخدام مفتاح الاشتراك كمعامل في عنوان URL الخاص بك:
https://atlas.microsoft.com/map/tile?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=2024-04-01&tilesetId=microsoft.base.road&zoom=15&x=5236&y=12665&tileSize=256
هام
يجب التعامل مع المفاتيح الأساسية والثانوية على أنها بيانات حساسة. يتم استخدام المفتاح المشترك لمصادقة جميع خرائط Azure REST API. يجب على المستخدمين الذين يستخدمون مفتاحاً مشتركاً تجريد مفتاح API بعيداً، إما من خلال متغيرات البيئة أو التخزين السري الآمن، حيث يمكن إدارته مركزياً.
مصادقة Microsoft Entra
يتم توفير اشتراكات Azure مع مستأجر Microsoft Entra لتمكين التحكم الدقيق في الوصول. يوفر خرائط Azure مصادقة لخدمات خرائط Azure باستخدام معرف Microsoft Entra. يوفر معرف Microsoft Entra مصادقة مستندة إلى الهوية للمستخدمين والتطبيقات المسجلة في مستأجر Microsoft Entra.
يقبل خرائط Azureرموز وصول OAuth 2.0 لمستأجري Microsoft Entra المقترنين باشتراك Azure الذي يحتوي على حساب خرائط Azure. يقبل خرائط Azure أيضاً الرموز المميزة لـ:
- مستخدمو Microsoft Entra
- التطبيقات الشريكة التي تستخدم الأذونات المفوضة من قبل المستخدمين
- الهويات المُدارة لموارد Azure
تنشئ خرائط Azure معرفاً فريداً (معرف العميل) لكل حساب خرائط Azure. يمكنك طلب رموز مميزة من معرف Microsoft Entra عند دمج معرف العميل هذا مع معلمات أخرى.
لمزيد من المعلومات حول كيفية تكوين معرف Microsoft Entra وطلب الرموز المميزة خرائط Azure، راجع إدارة المصادقة في خرائط Azure.
للحصول على معلومات عامة حول المصادقة باستخدام معرف Microsoft Entra، راجع المصادقة مقابل التخويل.
الهويات المُدارة لموارد Azure وخرائط Azure
توفر الهويات المدارة لموارد Azure خدمات Azure مع أساس أمان يستند إلى تطبيق مدار تلقائيا يمكنه المصادقة باستخدام معرف Microsoft Entra. باستخدام التحكم في الوصول المستند إلى الدور Azure (Azure RBAC)، يمكن تفويض مبدأ أمان الهوية المُدار للوصول إلى خدمات خرائط Azure. تتضمن بعض أمثلة الهويات المدارة: Azure App Service وAzure Functions وأجهزة Azure الظاهرية. للحصول على قائمة بالهويات المدارة، راجع خدمات Azure التي يمكنها استخدام الهويات المدارة للوصول إلى خدمات أخرى. لمزيد من المعلومات حول الهويات المدارة، راجع إدارة المصادقة في خرائط Azure.
تكوين تطبيق مصادقة Microsoft Entra
تتم مصادقة التطبيقات مع مستأجر Microsoft Entra باستخدام سيناريو واحد أو أكثر من السيناريوهات المدعومة التي يوفرها معرف Microsoft Entra. يمثل كل سيناريو تطبيق Microsoft Entra متطلبات مختلفة بناء على احتياجات العمل. قد تتطلب بعض التطبيقات تجارب تسجيل دخول المستخدم وقد تتطلب التطبيقات الأخرى تجربة تسجيل دخول التطبيق. لمزيد من المعلومات، راجع تدفقات المصادقة وسيناريوهات التطبيق.
بعد أن يتلقى التطبيق رمز وصول، يرسل SDK و/أو التطبيق طلب HTTPS مع المجموعة التالية من رؤوس HTTP المطلوبة بالإضافة إلى رؤوس REST API HTTP الأخرى:
اسم الرأس | القيمة |
---|---|
x-ms-client-id | 30d7cc... 9f55 |
التصريح | حامل eyJ0e... HNIVN |
إشعار
x-ms-client-id
هو GUID المستند إلى حساب Azure خرائط الذي يظهر في صفحة مصادقة خرائط Azure.
فيما يلي مثال على طلب توجيه خرائط Azure يستخدم الرمز المميز لمعرف Microsoft Entra OAuth Bearer:
GET /route/directions/json?api-version=1.0&query=52.50931,13.42936:52.50274,13.43872
Host: atlas.microsoft.com
x-ms-client-id: 30d7cc….9f55
Authorization: Bearer eyJ0e…HNIVN
للحصول على معلومات بشأن عرض معرف العميل الخاص بك، راجع عرض تفاصيل المصادقة.
تلميح
الحصول على معرف العميل برمجياً
عند استخدام PowerShell، يتم تخزين معرف العميل كخاصية UniqueId
في عنصر IMapsAccount
. يمكنك استرداد هذه الخاصية باستخدام Get-AzMapsAccount
، على سبيل المثال:
$maps = Get-AzMapsAccount -Name {Azure-Maps_Account-Name} -ResourceGroupName {Resource-Group-Name} -SubscriptionId {SubscriptionId}
$ClientId = $maps.UniqueId
عند استخدام واجهة مستوى الاستدعاء (Azure CLI)، استخدم الأمر az maps account show
مع المعلمة --query
، على سبيل المثال:
$ClientId = az maps account show --name {Azure-Maps_Account-Name} --resource-group {Resource-Group-Name} --subscription {SubscriptionId} --query properties.uniqueId
التخويل مع التحكم في الوصول على أساس الدور
المتطلبات الأساسية
إذا كنت جديدا على Azure RBAC، فإن نظرة عامة على التحكم في الوصول استنادا إلى الدور في Azure (Azure RBAC) توفر منح الأنواع الأساسية مجموعة من الأذونات، والمعروفة أيضا باسم تعريف الدور. يوفر تعريف الدور أذونات لإجراءات REST API. يدعم خرائط Azure الوصول إلى جميع الأنواع الأساسية ل التحكم في الوصول استنادا إلى الدور في Azure (Azure RBAC) بما في ذلك: مستخدمو Microsoft Entra الفرديون والمجموعات والتطبيقات وموارد Azure والهويات المدارة في Azure. يُعرف تطبيق الوصول إلى واحد أو أكثر من حسابات خرائط Azure بالنطاق. يتم إنشاء تعيين دور عند تطبيق أساس وتعريف دور ونطاق.
نظرة عامة
تناقش الأقسام التالية مفاهيم ومكونات تكامل خرائط Azure مع Azure RBAC. كجزء من عملية إعداد حساب خرائط Azure الخاص بك، يقترن دليل Microsoft Entra باشتراك Azure، الذي يوجد به حساب خرائط Azure.
عندما تقوم بتكوين Azure RBAC، فإنك تختار كيان أمان وتطبقه على تعيين دور. لمعرفة كيفية إضافة تعيينات الأدوار على مدخل Microsoft Azure، راجع تعيين أدوار Azure باستخدام مدخل Microsoft Azure.
اختيار تعريف الدور
توجد أنواع تعريف الدور التالية لدعم سيناريوهات التطبيق.
تعريف دور Azure | الوصف |
---|---|
بحث خرائط Azure وعرض قارئ البيانات | يوفر خرائط Azure الوصول إلى البحث فقط وعرض واجهات برمجة تطبيقات REST لتقييد الوصول إلى حالات استخدام مستعرض الويب الأساسية. |
قارئ بيانات خرائط Azure | توفر خرائط Azure الوصول إلى واجهات برمجة تطبيقات REST غير القابلة للتغيير. |
مساهم بيانات خرائط Azure | يوفر خرائط Azure الوصول إلى واجهات برمجة تطبيقات REST القابلة للتغيير. الطفرة، التي تحددها الإجراءات: الكتابة والحذف. |
خرائط Azure قراءة البيانات ودور الدفعة | يمكن استخدام هذا الدور لتعيين إجراءات القراءة والدفعة على خرائط Azure. |
تعريف الدور المخصص | أنشئ دوراً مُصنَّعاً لتمكين خرائط Azure من الوصول المقيد المرن إلى واجهات برمجة تطبيقات REST. |
تتطلب بعض خدمات خرائط Azure امتيازات مرتفعة لتنفيذ إجراءات الكتابة أو الحذف على واجهات برمجة تطبيقات REST خرائط Azure. دور مساهم بيانات خرائط Azure مطلوب للخدمات التي توفر إجراءات الكتابة أو الحذف. يصف الجدول التالي الخدمات المطبقة في Azure Maps Data Contributor عند استخدام إجراءات الكتابة أو الحذف. عندما تكون إجراءات القراءة مطلوبة فقط، يمكن استخدام دور قارئ بيانات خرائط Azure بدلاً من دور مساهم بيانات خرائط Azure.
خدمة الخرائط Azure | تعريف دور خرائط Azure |
---|---|
منشئ ( مهمل1) | مساهم بيانات خرائط Azure |
مكاني (مهمل1) | مساهم بيانات خرائط Azure |
دفعة بحث ومسار | مساهم بيانات خرائط Azure |
1 خرائط Azure Creator، ويتم الآن إهمال سجل البيانات والخدمات المكانية وسيتم إيقافها في 9/30/25.
للحصول على معلومات بشأن عرض إعدادات Azure RBAC، راجع كيفية تكوين Azure RBAC لخرائط Azure.
تعريفات دور مخصصة
أحد جوانب أمان التطبيق هو مبدأ الامتياز الأقل، وهو ممارسة تقييد حقوق الوصول إلى الحقوق المطلوبة للوظيفة الحالية. يتم تحقيق الحد من حقوق الوصول عن طريق إنشاء تعريفات دور مخصصة تدعم حالات الاستخدام التي تتطلب مزيدا من التفاصيل للتحكم في الوصول. لإنشاء تعريف دور مخصص، حدد إجراءات بيانات معينة لتضمينها أو استبعادها من التعريف.
يمكن بعد ذلك استخدام تعريف الدور المخصص في تعيين دور لأي كيان أمان. لمعرفة المزيد بشأن تعريفات الأدوار المخصصة في Azure، راجع أدوار Azure المخصصة.
فيما يلي بعض الأمثلة على السيناريوهات حيث يمكن للأدوار المخصصة تحسين أمان التطبيق.
السيناريو | إجراءات بيانات الدور المخصصة |
---|---|
صفحة ويب عامة أو تفاعلية لتسجيل الدخول مع مربعات خرائط أساسية ولا توجد واجهات برمجة تطبيقات REST أخرى. | Microsoft.Maps/accounts/services/render/read |
تطبيق لا يتطلب سوى ترميز جغرافي عكسي ولا يتطلب واجهات برمجة تطبيقات REST أخرى. | Microsoft.Maps/accounts/services/search/read |
دور لمدير الأمان، الذي يطلب قراءة بيانات الخرائط المستندة إلى Azure Maps Creator وواجهات برمجة تطبيقات REST الخاصة بلوحة الخرائط الكيانية. |
Microsoft.Maps/accounts/services/data/read , Microsoft.Maps/accounts/services/render/read |
دور لمدير الأمان، والذي يتطلب قراءة وكتابة وحذف بيانات الخرائط المستندة إلى المنشئ. يتم تعريفه على أنه دور محرر بيانات الخريطة الذي لا يسمح بالوصول إلى واجهة برمجة تطبيقات REST الأخرى مثل تجانبات الخريطة الأساسية. |
Microsoft.Maps/accounts/services/data/read ، ، Microsoft.Maps/accounts/services/data/write Microsoft.Maps/accounts/services/data/delete |
فهم النطاق
يتم تعريف تعيينات الأدوار ضمن التسلسل الهرمي لمورد Azure، من مجموعة إدارة المستوى الأعلى إلى أدنى مستوى مثل حساب خرائط Azure.
يمكن أن يؤدي تحديد تعيين دور لمجموعة موارد إلى تمكين الوصول إلى حسابات أو موارد خرائط Azure متعددة في المجموعة.
تلميح
توصي Microsoft العامة بتعيين الوصول إلى نطاق حساب Azure خرائط لأنه يمنع الوصول غير المقصود إلى حسابات خرائط Azure الأخرى الموجودة في نفس اشتراك Azure.
تعطيل المصادقة المحلية
تدعم حسابات خرائط Azure خاصية Azure القياسية في واجهة برمجة تطبيقات الإدارة ل Microsoft.Maps/accounts
تسمى disableLocalAuth
. عندما يكون صحيحا، يتم تعطيل جميع المصادقة على واجهة برمجة تطبيقات REST لمستوى البيانات خرائط Azure، باستثناء مصادقة Microsoft Entra. تم تكوين هذا باستخدام Azure Policy للتحكم في توزيع وإدارة المفاتيح المشتركة ورموز SAS. للحصول على مزيدٍ من المعلومات، راجع ما هو نهج Azure.
لا يُفعَّل تعطيل المصادقة المحلية على الفور. انتظر بضع دقائق حتى تحظر الخدمة طلبات المصادقة المستقبلية. لإعادة تمكين المصادقة المحلية، قم بتعيين الخاصية إلى false وبعد بضع دقائق تستأنف المصادقة المحلية.
{
// omitted other properties for brevity.
"properties": {
"disableLocalAuth": true
}
}
المصادقة على رمز توقيع الوصول المشترك
الرموز المميزة لتوقيع الوصول المشترك (SAS) هي رموز المصادقة المميزة التي تم إنشاؤها باستخدام تنسيق JSON Web Token (JWT). يتم توقيع هذه الرموز المميزة بشكل مشفر لمصادقة تطبيق باستخدام واجهة برمجة تطبيقات REST خرائط Azure. يتم إنشاء رموز SAS المميزة هذه عن طريق دمج هوية مدارة معينة من قبل المستخدم مع حساب خرائط Azure في اشتراك Azure الخاص بك. يتم منح الهوية المدارة المعينة من قبل المستخدم تخويلا لحساب خرائط Azure من خلال Azure RBAC باستخدام تعريفات الأدوار المضمنة أو المخصصة.
الاختلافات الرئيسية الوظيفية رمز SAS المميز من الرموز المميزة للوصول إلى Microsoft Entra:
- مدة بقاء الرمز المميز لانتهاء صلاحية الحد الأقصى ليوم واحد (24 ساعة).
- موقع Azure والتحكم في الوصول إلى الموقع الجغرافي لكل رمز مميز.
- حدود السعر لكل رمز تقريباً لتقريب من 1 إلى 500 طلب في الثانية.
- المفاتيح الخاصة للرمز المميز هي المفاتيح الأساسية والثانوية لمورد حساب خرائط Azure.
- يتم توفير عنصر الخدمة الكياني للتخويل من خلال الهوية المُدارة يعينها المستخدم.
الرموز المميزة لـ SAS غير قابلة للتغيير. بمجرد إنشائها، تظل صالحة حتى تنتهي صلاحيتها ولا يمكن تغيير إعداداتها مثل المناطق المسموح بها وحدود المعدلات والهوية المدارة المعينة من قبل المستخدم. لمزيد من المعلومات حول إبطال رمز SAS المميز والتعديلات على التحكم في الوصول، راجع فهم التحكم في الوصول.
فهم حدود معدل رمزية SAS
يمكن أن يتحكم الحد الأقصى لمعدل رمز SAS المميز في الفوترة لمورد خرائط Azure
عند تعيين حد أقصى للمعدل على الرمز المميز (maxRatePerSecond
)، لا تتم فوترة أي أسعار تتجاوز هذا الحد إلى الحساب، مما يتيح لك إنشاء حد أقصى للمعاملات القابلة للفوترة. ومع ذلك، يتلقى التطبيق استجابات خطأ العميل مع 429 (TooManyRequests)
لكافة المعاملات بمجرد الوصول إلى هذا الحد. تقع على عاتق التطبيق مسؤولية إدارة عمليات إعادة المحاولة وتوزيع رموز SAS المميزة. لا يوجد أي قيود على عدد رموز SAS المميزة التي يمكن إنشاؤها لحساب. لتعديل حد رمز مميز موجود، يجب إنشاء رمز SAS جديد. يظل رمز SAS القديم صالحا حتى تنتهي صلاحيته.
مثال تقديري:
المعدل التقريبي الأقصى لكل ثانية | المعدل الفعلي لكل ثانية | مدة المعدل المستمر بالثواني | إجمالي العمليات القابلة للفوترة |
---|---|---|---|
10 | 20 | 600 | 6,000 |
تختلف حدود المعدل الفعلي بناء على خرائط Azure القدرة على فرض التناسق خلال فترة زمنية. ومع ذلك، فإن هذا يسمح بالتحكم الوقائي في تكلفة الفواتير.
يتم فرض حدود السعر لكل موقع Azure، وليس على مستوى العالم أو جغرافياً
على سبيل المثال، يمكن استخدام رمز SAS واحد مع maxRatePerSecond
من 10 للحد من المعدل نقل في الموقع East US
. إذا تم استخدام نفس الرمز المميز في West US 2
، فسيتم إنشاء عداد جديد لقصر معدل النقل على 10 في ذلك الموقع، بغض النظر عن موقع East US
. اقتراحات للتحكم في التكاليف وتحسين إمكانية التنبؤ:
- إنشاء رموز SAS المميزة مع مواقع Azure المسموح بها المعينة للجغرافيا المستهدفة.
- استخدم نقاط نهاية واجهة برمجة تطبيقات REST لمستوى البيانات الجغرافية،
https://us.atlas.microsoft.com
أوhttps://eu.atlas.microsoft.com
.
ضع في اعتبارك هيكل التطبيق حيث توجه نقطة النهاية https://us.atlas.microsoft.com
إلى نفس المواقع الأمريكية التي تستضيف خدمات خرائط Azure، مثل East US
، West Central US
أو West US 2
. تنطبق الفكرة نفسها على نقاط النهاية الجغرافية الأخرى مثل https://eu.atlas.microsoft.com
بين West Europe
وNorth Europe
. لمنع رفض التخويل غير المتوقع، استخدم رمز SAS المميز الذي يستخدم نفس مواقع Azure التي يستهلكها التطبيق. يتم تحديد موقع نقطة النهاية باستخدام واجهة برمجة تطبيقات REST لإدارة خرائط Azure.
حدود المعدل الافتراضي لها الأسبقية على حدود معدل الرمز المميز لـ SAS
كما هو موضح في حدود سعر خرائط Azure، يتم فرض حدود المعدل لعروض الخدمة الفردية بشكل جماعي على مستوى الحساب.
ضع في اعتبارك حالة خدمة البحث - عكس غير دفعي، بحد أقصى 250 استعلارا في الثانية (QPS) للجداول التالية. يمثل كل جدول إجمالي العمليات الناجحة المقدرة من استخدام المثال.
يعرض الجدول الأول رمزا مميزا واحدا يحتوي على طلب أقصى في الثانية من 500، والاستخدام الفعلي للتطبيق هو 500 طلب في الثانية لمدة 60 ثانية.
خدمة البحث - يبلغ الحد الأقصى للسعر غير الدفعي 250 طلبا، مما يعني إجمالي 30000 طلب تم تقديمها في غضون 60 ثانية؛ 15,000 من هذه الطلبات هي معاملات قابلة للفوترة. تؤدي الطلبات المتبقية إلى رمز 429 (TooManyRequests)
الحالة .
الاسم | المعدل التقريبي الأقصى لكل ثانية | المعدل الفعلي لكل ثانية | مدة المعدل المستمر بالثواني | إجمالي العمليات الناجحة التقريبية |
---|---|---|---|---|
الرمز المميز | 500 | 500 | 60 | ~15,000 |
على سبيل المثال، إذا تم إنشاء رمزي SAS المميزين واستخدما نفس الموقع كحساب خرائط Azure، يشارك كل رمز مميز حد المعدل الافتراضي وهو 250 QPS. إذا تم استخدام كلا الرمزين المميزين في نفس الوقت بنفس معدل النقل، فإن كل رمز مميز سيمنح 7500 معاملة ناجحة.
الاسم | المعدل التقريبي الأقصى لكل ثانية | المعدل الفعلي لكل ثانية | مدة المعدل المستمر بالثواني | إجمالي العمليات الناجحة التقريبية |
---|---|---|---|---|
الرمز 1 | 250 | 250 | 60 | 7500 |
الرمز 2 | 250 | 250 | 60 | 7500 |
فهم التحكم في الوصول إلى رمز SAS
تستخدم رموز SAS RBAC للتحكم في الوصول إلى واجهة برمجة تطبيقات REST. عند إنشاء رمز SAS المميز، يتم تعيين الهوية المدارة للمتطلب الأساسي على حساب الخريطة لدور Azure RBAC الذي يمنح الوصول إلى إجراءات REST API معينة. راجع اختيار تعريف دور لتحديد واجهات برمجة التطبيقات التي يسمح بها التطبيق.
لتعيين وصول مؤقت وإزالته قبل انتهاء صلاحية رمز SAS المميز، قم بإبطال الرمز المميز. سبب آخر لإبطال الوصول هو إذا تم توزيع الرمز المميز عن غير قصد مع دور خرائط Azure Data Contributor، والذي يمكن أن يسمح بقراءة/كتابة البيانات غير المصرح بها على خرائط Azure واجهات برمجة تطبيقات REST، ما يؤدي إلى تعرض البيانات الحساسة أو تكاليف غير متوقعة.
هناك خياران لإبطال الوصول إلى رموز SAS المميزة:
- إعادة إنشاء المفتاح الذي تم استخدامه بواسطة رمز SAS المميز أو مفتاح ثانوي لحساب الخريطة.
- قم بإزالة تعيين الدور للهوية المدارة على حساب الخريطة المقترن.
تحذير
يمكن أن يؤدي حذف هوية مدارة يستخدمها رمز SAS المميز أو إبطال التحكم في الوصول إلى الهوية المدارة إلى مثيلات التطبيق الخاص بك باستخدام رمز SAS المميز والهوية المدارة لإرجاع 401 Unauthorized
أو 403 Forbidden
من واجهات برمجة تطبيقات REST خرائط Azure، مما يؤدي إلى اضطرابات محتملة في التطبيق.
لتجنب الاضطراب:
- أضف الهوية المُدارة ثانية إلى حساب الخريطة ومنح الهوية المُدارة الجديدة تعيين الدور الصحيح.
- أنشئ رمز SAS مميزا باستخدام
secondaryKey
، أو هوية مدارة مختلفة عن الهوية السابقة، مثلsigningKey
ووزع رمز SAS المميز الجديد على التطبيق. - إعادة إنشاء المفتاح الأساسي وإزالة الهوية المُدارة من الحساب وإزالة تعيين الدور للهوية المدارة.
إنشاء رموز SAS
لإنشاء رموز SAS المميزة، يجب أن يكون لديك Contributor
حق الوصول إلى الدور لكل من إدارة حسابات خرائط Azure والهويات المعينة من قبل المستخدم في اشتراك Azure.
هام
لا تدعم حسابات خرائط Azure الحالية التي تم إنشاؤها في موقع Azure global
الهويات المدارة.
أولاً، يجب عليك إنشاء الهوية المُدارة التي يعينها المستخدم في نفس الموقع مثل حساب خرائط Azure.
تلميح
يجب عليك استخدام نفس الموقع لكل من الهوية المُدارة وحساب خرائط Azure.
بمجرد إنشاء الهوية المُدارة، يمكنك إنشاء حساب خرائط Azure أو تحديثه وإرفاقه. لمزيد من المعلومات، راجع إدارة حساب خرائط Azure الخاص بك.
بمجرد إنشاء الحساب أو تحديثه بنجاح بالهوية المدارة؛ تعيين التحكم في الوصول المستند إلى الدور للهوية المدارة إلى دور بيانات خرائط Azure في نطاق الحساب. يتيح ذلك منح الهوية المُدارة إمكانية الوصول إلى واجهة برمجة تطبيقات REST API لخرائط Azure لحساب الخريطة الخاص بك.
بعد ذلك، قم بإنشاء رمز SAS المميز باستخدام أدوات Azure Management SDK أو قائمة عملية SAS على واجهة برمجة تطبيقات إدارة الحساب أو صفحة توقيع الوصول المشترك لمدخل Microsoft Azure لمورد حساب الخريطة.
معلمات الرمز المميز لـ SAS:
اسم المعلمة | مثال للقيمة | الوصف |
---|---|---|
signingKey | primaryKey |
مطلوب، يتم استخدام قيمة قائمة تعداد السلسلة ل signingKey إما primaryKey ، secondaryKey أو الهوية المدارة لإنشاء توقيع SAS. |
principalId | <GUID> |
مطلوب، معرف الأساسي هو معرف الكائن (الأساسي) للهوية المدارة المعينة من قبل المستخدم والمرفقة بحساب الخريطة. |
المناطق | [ "eastus", "westus2", "westcentralus" ] |
اختياري، القيمة الافتراضية هي null . تتحكم المناطق في المناطق التي يمكن استخدام رمز SAS المميز فيها في واجهة برمجة تطبيقات مستوى بيانات خرائط AZURE REST. تسمح معلمة حذف المناطق باستخدام رمز SAS المميز دون أي قيود. عند استخدامه بالاشتراك مع نقطة نهاية جغرافية خرائط Azure مستوى البيانات مثل us.atlas.microsoft.com ويسمح eu.atlas.microsoft.com للتطبيق بالتحكم في الاستخدام داخل الجغرافيا المحددة. هذا يسمح بمنع الاستخدام في مناطق جغرافية أخرى. |
maxRatePerSecond | 500 | مطلوب، الحد الأقصى التقريبي المحدد للطلب في الثانية الذي يتم منحه رمز SAS. بمجرد الوصول إلى الحد الأقصى، يكون معدل النقل أكثر محدودا مع رمز 429 (TooManyRequests) حالة HTTP . |
بدء | 2021-05-24T10:42:03.1567373Z |
مطلوب، تاريخ UTC يحدد التاريخ والوقت الذي يصبح فيه الرمز المميز نشطاً. |
تاريخ انتهاء الصلاحية | 2021-05-24T11:42:03.1567373Z |
مطلوب، تاريخ UTC يحدد تاريخ ووقت انتهاء صلاحية الرمز المميز. لا يمكن أن تكون المدة بين البدء وانتهاء الصلاحية أكثر من 24 ساعة. |
تكوين التطبيق برمز SAS
بعد أن يتلقى التطبيق رمز SAS المميز، ترسل خرائط Azure SDK و/أو التطبيقات طلب HTTPS برأس HTTP المطلوب التالي بالإضافة إلى رؤوس واجهة برمجة تطبيقات REST HTTP الأخرى:
اسم الرأس | القيمة |
---|---|
التصريح | jwt-sas eyJ0e….HNIVN |
إشعار
jwt-sas
هو مخطط المصادقة للدلالة على استخدام رمز SAS. لا تقم بتضمين x-ms-client-id
أو عناوين التخويل الأخرى أو subscription-key
معلمة سلسلة الاستعلام.
تبادل الموارد عبر المنشأ (CORS)
CORS هو بروتوكول HTTP يمكّن تطبيق ويب يعمل ضمن نطاق واحد من الوصول إلى الموارد في مجال آخر. تنفذ متصفحات الويب قيوداً أمنية تُعرف باسم نهج نفس المصدر والتي تمنع صفحة الويب من استدعاء واجهات برمجة التطبيقات في مجال مختلف؛ يوفر CORS طريقة آمنة للسماح لمجال واحد (المجال الأصلي) باستدعاء واجهات برمجة التطبيقات في مجال آخر. باستخدام مورد حساب خرائط Azure، يمكنك تكوين الأصول المسموح لها بالوصول إلى خرائط Azure REST API من تطبيقاتك.
هام
CORS ليست آلية تخويل. تحتاج الطلبات المقدمة إلى حساب خريطة باستخدام واجهة برمجة تطبيقات REST، عند تمكين CORS، أيضا إلى نظام مصادقة حساب خريطة صالح مثل المفتاح المشترك أو معرف Microsoft Entra أو رمز SAS المميز.
يتم دعم CORS لجميع طبقات أسعار حساب الخرائط ونقاط نهاية مستوى البيانات والمواقع.
المتطلبات الأساسية
لمنع تنفيذ التعليمات البرمجية الضارة على العميل، تمنع المستعرضات الحديثة الطلبات الواردة من تطبيقات الويب إلى الموارد التي تعمل في مجال منفصل.
- إذا لم تكن معتادا على CORS، فشاهد مشاركة الموارد عبر المنشأ (CORS)، فإنه يتيح لعنوان
Access-Control-Allow-Origin
الإعلان عن الأصول المسموح لها باستدعاء نقاط النهاية لحساب خرائط Azure. بروتوكول CORS غير خاص خرائط Azure.
طلبات CORS
قد يتكون طلب CORS من مجال أصلي من طلبين منفصلين:
طلب اختبار مبدئي يستفسر عن قيود CORS التي تفرضها الخدمة. طلب الاختبار المبدئي مطلوب ما لم يكن الطلب هو الأسلوب القياسي GET أو HEAD أو POST أو الطلبات التي تحتوي على
Authorization
عنوان الطلب.الطلب الفعلي، المقدم مقابل المورد المطلوب.
طلب ما قبل الرحلة
طلب الاختبار المبدئي هو مقياس أمان ولكنه يضمن أيضا أن الخادم يفهم الأسلوب والعناوين المرسلة في الطلب الفعلي، ويتحقق من مصدر الطلب، ويستعلم عن قيود CORS التي تم إنشاؤها لحساب الخريطة. يرسل مستعرض الويب (أو عامل مستخدم آخر) طلب OPTIONS يتضمن عناوين الطلب والأسلوب ومجال الأصل. تحاول خدمة حساب الخريطة جلب أي قواعد CORS إذا كانت مصادقة الحساب ممكنة من خلال بروتوكول الاختبار المبدئي CORS.
إذا لم تكن المصادقة ممكنة، تقوم خدمة الخرائط بتقييم مجموعة مكونة مسبقا من قواعد CORS التي تحدد مجالات الأصل وأساليب الطلب ورؤوس الطلبات التي قد يتم تحديدها على طلب فعلي مقابل خدمة الخرائط. بشكل افتراضي، يتم تكوين حساب الخرائط للسماح لجميع الأصول لتمكين التكامل السلس في متصفحات الويب.
تستجيب الخدمة لطلب الاختبار المبدئي برؤوس Access-Control المطلوبة إذا تم استيفاء المعايير التالية:
- يحتوي طلب OPTIONS على رؤوس CORS المطلوبة (رؤوس المنشأ وطريقة التحكم في الوصول والطلب)
- تمت المصادقة بنجاح وتم تمكين قاعدة CORS للحساب الذي يطابق طلب الاختبار المبدئي.
- تم تخطي المصادقة بسبب رؤوس الطلبات المطلوبة
Authorization
التي لا يمكن تحديدها في طلب الاختبار المبدئي.
عندما ينجح طلب الاختبار المبدئي، تستجيب الخدمة بتعليمة برمجية الحالة 200 (OK)
، وتتضمن رؤوس التحكم في الوصول المطلوبة في الاستجابة.
ترفض الخدمة طلبات الاختبار المبدئي في حالة حدوث الشروط التالية:
- إذا لم يحتوي طلب OPTIONS على رؤوس CORS المطلوبة (عناوين Origin وAcces-Control-Request-Method)، تستجيب الخدمة برمز
400 (Bad request)
الحالة . - إذا نجحت المصادقة في طلب الاختبار المبدئي ولم تتطابق قاعدة CORS مع طلب الاختبار المبدئي، تستجيب الخدمة برمز
403 (Forbidden)
الحالة . قد يحدث هذا إذا تم تكوين قاعدة CORS لقبول أصل لا يتطابق مع عنوان طلب أصل عميل المستعرض الحالي.
إشعار
يتم تقييم طلب الاختبار المبدئي مقابل الخدمة وليس مقابل المورد المطلوب. يجب أن يكون مالك الحساب قد قام بتمكين CORS من خلال تعيين خصائص الحساب المناسبة من أجل نجاح الطلب.
الطلب الفعلي
بمجرد قبول طلب الاختبار المبدئي وإرجاع الاستجابة، يرسل المتصفح الطلب الفعلي مقابل خدمة الخريطة. يرفض المستعرض الطلب الفعلي على الفور إذا تم رفض طلب الاختبار المبدئي.
يتم التعامل مع الطلب الفعلي كطلب عادي مقابل خدمة الخريطة. يشير وجود Origin
العنوان إلى أن الطلب هو طلب CORS ثم تتحقق الخدمة من صحة قواعد CORS. إذا تم العثور على تطابق، تتم إضافة رؤوس التحكم في الوصول إلى الاستجابة وإرسالها مرة أخرى إلى العميل. إذا لم يتم العثور على تطابق، ترجع الاستجابة رسالة 403 (Forbidden)
تشير إلى خطأ أصل CORS.
تمكين نهج CORS
عند إنشاء حساب Map أو تحديثه، تحدد خصائصه الأصول المسموح بها. يمكن تعيين قاعدة CORS على خصائص حساب خرائط Azure من خلال خرائط Azure Management SDK وواجهة برمجة تطبيقات REST لإدارة خرائط Azure والمدخل. بعد تعيين قاعدة CORS للخدمة، يتم تقييم الطلبات المعتمدة من مجالات مختلفة لضمان التوافق مع القاعدة المحددة. على سبيل المثال:
{
"location": "eastus",
"sku": {
"name": "G2"
},
"kind": "Gen2",
"properties": {
"cors": {
"corsRules": [
{
"allowedOrigins": [
"https://www.azure.com",
"https://www.microsoft.com"
]
}
]
}
}
}
يمكن تحديد قاعدة CORS واحدة فقط بقائمة الأصول المسموح بها. يسمح كل أصل بتقديم طلب HTTP إلى واجهة برمجة تطبيقات REST لخرائط Azure في مستعرض الويب الخاص بالأصل المحدد.
نهج إزالة CORS
يمكنك إزالة CORS:
- يدويا في مدخل Microsoft Azure
- برمجيا باستخدام:
- خرائط Azure SDK
- واجهة برمجة تطبيقات REST لإدارة خرائط Azure
- قالب ARM
تلميح
إذا كنت تستخدم واجهة برمجة تطبيقات REST لإدارة خرائط Azure، فاستخدم PUT
أو PATCH
مع قائمة فارغة corsRule
في نص الطلب.
{
"location": "eastus",
"sku": {
"name": "G2"
},
"kind": "Gen2",
"properties": {
"cors": {
"corsRules": []
}
}
}
}
فهم عمليات الفواتير
لا يحسب خرائط Azure معاملات الفوترة ل:
- 5xx أكواد حالة HTTP
- 401 (غير مصرح به)
- 403 (محظور)
- 408 (المهلة)
- 429 (TooManyRequests)
- طلبات الاختبار المبدئي CORS
لمزيد من المعلومات حول معاملات الفوترة ومعلومات تسعير خرائط Azure الأخرى، راجع تسعير خرائط Azure.
الخطوات التالية
لمعرفة المزيد حول أفضل ممارسات الأمان، راجع:
لمعرفة المزيد حول مصادقة تطبيق باستخدام معرف Microsoft Entra خرائط Azure، راجع:
لمعرفة المزيد حول مصادقة خرائط Azure Control باستخدام معرف Microsoft Entra، راجع: