تأمين التطبيق الخفي
توضح هذه المقالة كيفية استضافة التطبيقات الخفية في بيئة موثوق بها وآمنة في Microsoft Azure Maps.
فيما يلي أمثلة على التطبيقات الخفية:
- Azure Web Job
- تطبيق الوظائف Azure
- Windows Service
- خدمة خلفية قيد التشغيل وموثوق بها
عرض تفاصيل مصادقة Azure Maps
لعرض تفاصيل مصادقة حساب خرائط Azure في مدخل Microsoft Azure:
قم بتسجيل الدخول إلى بوابة Azure.
انتقل إلى قائمة مدخل Microsoft Azure. حدد All resources، ثم حدد حساب خرائط Azure الخاص بك.
ضمن الإعدادات الموجودة في الجزء الأيسر، حدد Authentication.
يتم إنشاء ثلاث قيم عند إنشاء حساب خرائط Azure. يتم استخدامها لدعم نوعين من المصادقة في خرائط Azure:
- مصادقة Microsoft Entra:
Client ID
يمثل الحساب الذي سيتم استخدامه لطلبات واجهة برمجة تطبيقات REST.Client ID
يجب تخزين القيمة في تكوين التطبيق، ثم يجب استردادها قبل إجراء خرائط Azure طلبات HTTP التي تستخدم مصادقة Microsoft Entra. - مصادقة المفتاح المشترك:
Primary Key
يتم استخدام وSecondary Key
كمفتاح اشتراك لمُصادقة المفتاح المشترك. تعتمد مُصادقة المفتاح المشترك على تمرير المفتاح الذي تم إنشاؤه بواسطة حساب خرائط Azure مع كل طلب خرائط Azure. نوصي بإعادة إنشاء المَفاتيح بانتظام. للحفاظ على الاتصالات الحالية أثناء التجديد، يتم توفير مَفتاحين. يُمكن أن يكون أحد المفاتيح قيد الاستخدام، أثناء إعادة إنشاء المفتاح الآخر. عند إعادة إنشاء مفاتيحك، يجب عليك تحديث أي تطبيقات تصل إلى هـذا الحساب لاستخدام المفاتيح الجديدة. لمزيدٍ من المعلومات، راجع Authentication with Azure Maps
هام
بالنسبة لتطبيقات الإنتاج، نوصي بتنفيذ معرف Microsoft Entra والتحكم في الوصول المستند إلى الدور Azure (Azure RBAC). للحصول على نظرة عامة على مفاهيم Microsoft Entra، راجع المصادقة مع خرائط Azure.
السيناريو: مصادقة المفتاح المشترك مع Azure Key Vault
يجب أن تخزن التطبيقات التي تستخدم مصادقة المفتاح المشترك المفاتيح في مخزن آمن. يصف هذا السيناريو كيفية تخزين مفتاح التطبيق بأمان كبيانات سرية في Azure Key Vault. بدلاً من تخزين المفتاح المشترك في تكوين التطبيق، يمكن للتطبيق استرداد المفتاح المشترك كبيانات سرية في Key Vault Azure. لتبسيط إعادة إنشاء المفتاح، نوصي بأن تستخدم التطبيقات مفتاحا واحدا في كل مرة. يمكن للتطبيقات بعد ذلك إعادة إنشاء المفتاح غير المستخدم وتوزيع المفتاح الذي تم إعادة إنشائه إلى Azure Key Vault مع الحفاظ على الاتصالات الحالية باستخدام مفتاح واحد. لفهم كيفية تكوين Azure Key Vault، راجع Azure Key Vault developer guide.
هام
يصل هذا السيناريو بشكل غير مباشر إلى معرف Microsoft Entra من خلال Azure Key Vault. ومع ذلك، نوصي باستخدام مصادقة Microsoft Entra مباشرة. يؤدي استخدام معرف Microsoft Entra مباشرة إلى تجنب التعقيد الإضافي والمتطلبات التشغيلية لاستخدام مصادقة المفتاح المشترك وإعداد Key Vault.
توضح الخطوات التالية هذه العملية:
- Create an Azure Key Vault.
- إنشاء كيان خدمة Microsoft Entra عن طريق إنشاء تسجيل تطبيق أو هوية مدارة. الأساسي الذي تم إنشاؤه مسؤول عن الوصول إلى Key Vault Azure.
- تعيين الوصول إلى كيان الخدمة إلى البيانات السرية لـ Azure Key
get
والحصول على الإذن. للحصول على تفاصيل حول كيفية تعيين الأذونات، راجع Assign a Key Vault access policy using the Azure portal. - تعيين الوصول مؤقتًا إلى إذن
set
البيانات السرية لك كمطور. - تعيين المفتاح المشترك في البيانات السرية لـ Key Vault والإشارة إلى معرّف البيانات السرية كتكوين للتطبيق الخفي.
- قم بإزالة إذن
set
البيانات السرية. - لاسترداد سر المفتاح المشترك من Azure Key Vault، قم بتنفيذ مصادقة Microsoft Entra في التطبيق الخفي.
- إنشاء طلب واجهة برمجة تطبيقات REST خرائط Azure باستخدام المفتاح المشترك. الآن، يمكن للتطبيق الخفي استرداد المفتاح المشترك من Key Vault.
تلميح
إذا تمت استضافة التطبيق في بيئة Azure، نوصي باستخدام هوية مدارة لخفض التكلفة وتعقيد إدارة البيانات السرية للمصادقة. لمعرفة كيفية إعداد هوية مدارة، راجع Tutorial: Use a managed identity to connect Key Vault to an Azure web app in .NET.
السيناريو: التحكم في الوصول المستند إلى الدور في Microsoft Entra
بعد إنشاء حساب Azure Maps، تكون قيمة Azure Maps Client ID
موجودة في صفحة تفاصيل مصادقة مدخل Azure. تمثل هذه القيمة الحساب الذي سيتم استخدامه لطلبات واجهة برمجة تطبيقات REST. يجب تخزين هذه القيمة في تكوين التطبيق واستردادها قبل إجراء طلبات HTTP. الهدف من السيناريو هو تمكين التطبيق الخفي للمصادقة على معرف Microsoft Entra واستدعاء واجهات برمجة تطبيقات REST خرائط Azure.
تلميح
لتمكين فوائد مكونات الهوية المدارة، نوصي بالاستضافة على أجهزة Azure الظاهرية أو مجموعات مقياس الجهاز الظاهري أو خدمات التطبيقات.
استضافة تطبيق خفي على موارد Azure
عند التشغيل على موارد Azure، يمكنك تكوين الهويات المدارة من Azure لتمكين التكلفة المنخفضة، والحد الأدنى من الجهود التي تبذلها إدارة بيانات الاعتماد.
لتمكين وصول التطبيق إلى هوية مدارة، راجع Overview of managed identities.
فيما يلي بعض مزايا الهوية المدارة:
- مصادقة تشفير المفتاح العام لشهادة X509 التي يديرها نظام Azure.
- أمان Microsoft Entra مع شهادات X509 بدلا من أسرار العميل.
- يدير Azure جميع الشهادات المقترنة بمورد الهوية المدارة ويجددها.
- يتم تبسيط الإدارة التشغيلية لبيانات الاعتماد لأن الهوية المدارة تزيل الحاجة إلى خدمة مخزن سري آمن، مثل Azure Key Vault.
استضافة تطبيق خفي على موارد غير Azure
لا تتوفر الهويات المدارة إلا عند التشغيل على بيئة Azure. على هذا النحو، يجب تكوين كيان خدمة من خلال تسجيل تطبيق Microsoft Entra لتطبيق daemon.
قم بإنشاء تسجيل تطبيق جديد
إذا قمت بالفعل بإنشاء تسجيل التطبيق الخاص بك، فانتقل إلى تعيين أذونات API المفوضة.
لإنشاء تسجيل تطبيق جديد:
قم بتسجيل الدخول إلى بوابة Azure.
حدد معرف Microsoft Entra.
تحت Manage في الجزء الأيمن، حدد App registrations.
حدد علامة التبويب + تسجيل جديد.
أدخل اسمًا، ثم حدد نوع حساب الدعم.
حدد تسجيل.
تعيين أذونات واجهة برمجة التطبيقات المفوضة
لتعيين أذونات واجهة برمجة التطبيقات المفوضة إلى Azure Maps:
إذا لم تكن قد قمت بذلك بالفعل، فسجّل الدخول إلى Azure portal.
حدد معرف Microsoft Entra.
تحت Manage في الجزء الأيمن، حدد App registrations.
حدد طلبك.
تحت خانة "Manage" في الجزء الأيسر، حدد "API permissions".
حدد إضافة إذن.
حدد علامة التبويب APIs my organization uses.
في مربع البحث، أدخل Azure Maps.
حدد Azure Maps.
حدد مربع الاختيار Access Azure Maps.
حدد إضافة أذونات.
إنشاء بيانات العميل السرية أو تكوين شهادة
لتنفيذ المصادقة المستندة إلى الخادم أو التطبيق في تطبيقك، يمكنك اختيار أحد الخيارين:
- تحميل شهادة مفتاح عام.
- إنشاء سر عميل.
تحميل شهادة مفتاح عام
لتحميل شهادة مفتاح عام.
ضمن إدارة في الجزء الأيمن، حدد الشهادات والأسرار.
حدد تحميل الشهادة.
على يمين مربع النص، حدد أيقونة الملف.
حدد ملف .crt أو .cer أو .pem ، ثم حدد Add.
إنشاء سر عميل
لإنشاء سر عميل:
ضمن إدارة في الجزء الأيمن، حدد الشهادات والأسرار.
حدد + سر عميل جديد.
أدخل وصفًا لسر العميل.
حدد إضافة.
انسخ البيانات السرية وخزنها بأمان في خدمة مثل Azure Key Vault. استخدم أيضا السر في قسم Request token with Managed Identity من هذه المقالة.
هام
لتخزين الشهادة أو البيانات السرية بشكل آمن، راجع Azure Key Vault Developer Guide. ستستخدم هذا السر للحصول على رموز مميزة من معرف Microsoft Entra.
منح الوصول المستند إلى الدور للمستخدمين إلى Azure Maps
يمكنك منح التحكم في الوصول استنادا إلى الدور في Azure (Azure RBAC) عن طريق تعيين مجموعة Microsoft Entra أو أساس أمان إلى تعريف دور واحد أو أكثر خرائط Azure.
لعرض تعريفات دور Azure المتوفرة لخرائط Azure، راجع عرض تعريفات الأدوار خرائط Azure المضمنة.
للحصول على خطوات تفصيلية حول كيفية تعيين دور خرائط Azure المتاح للهوية المُدارة المنشأة أو مدير الخدمة، راجع تعيين أدوار Azure باستخدام مدخل Microsoft Azure
لإدارة تطبيق خرائط Azure والوصول إلى الموارد لعدد كبير من المستخدمين بكفاءة، راجع مجموعات Microsoft Entra.
هام
لكي يسمح للمستخدمين بالمصادقة على أحد التطبيقات، يجب أولا إنشاء المستخدمين في Microsoft Entra ID. لمزيد من المعلومات، راجع إضافة مستخدمين أو حذفهم باستخدام معرف Microsoft Entra.
للتعرف على كيفية إدارة دليل كبير للمستخدمين بشكل فعال، راجع معرف Microsoft Entra.
تحذير
توفر تعريفات الأدوار المضمنة خرائط Azure وصول تخويل كبير جدًا إلى العديد مـن واجهات برمجة تطبيقات REST خرائط Azure. لتقييد وصول واجهات برمجة التطبيقات إلى الحد الأدنى، راجع إنشاء تعريف دور مخصص وتعيين الهوية المعينة من قبل النظام لتعريف الدور المخصص. يتيح ذلك أقل امتياز ضروري للتطبيق للوصول إلى Azure Maps.
طلب رمز مميز بهوية مدارة
بعد تكوين هوية مدارة لمورد الاستضافة، يمكنك استخدام Azure SDK أو REST API للحصول على رمز مميز لـ Azure Maps. لمعرفة كيفية الحصول على رمز مميز للوصول، راجع Acquire an access token.
طلب الرمز المميز مع تسجيل التطبيق
بعد تسجيل التطبيق وإقرانه بـ Azure Maps، ستحتاج إلى طلب رمز مميز للوصول.
للحصول على الرمز المميز للوصول:
إذا لم تكن قد قمت بذلك بالفعل، فسجّل الدخول إلى Azure portal.
حدد معرف Microsoft Entra.
تحت Manage في الجزء الأيمن، حدد App registrations.
حدد طلبك.
يجب أن تطلع على الصفحة نظرة عامة. انسخ معرّف التطبيق (العميل) ومعرّف الدليل (المستأجر).
تستخدم هذه المقالة تطبيق bruno لإنشاء طلب الرمز المميز، ولكن يمكنك استخدام بيئة تطوير API مختلفة.
افتح تطبيق bruno، وحدد NEW REQUEST لإنشاء الطلب.
في نافذة NEW REQUEST ، قم بتعيين Type إلى HTTP. أدخل اسما للطلب، مثل طلب الرمز المميز ل POST.
حدد أسلوب GET HTTP في القائمة المنسدلة URL، ثم أدخل عنوان URL التالي:
https://login.microsoftonline.com/{Tenant-ID}/oauth2/v2.0/token?response_type=token&grant_type=client_credentials&client_id={Client-ID}&client_secret={Client-Secret}&scope=https://atlas.microsoft.com/.default
إشعار
استبدل:
{Tenant-ID}
بمعرف الدليل (المستأجر){Client-ID}
بمعرف التطبيق (العميل){Client-Secret}
مع سر العميل الخاص بك.
حدد زر التشغيل
يجب أن تشاهد استجابة JSON التالية:
{
"token_type": "Bearer",
"expires_in": 86399,
"ext_expires_in": 86399,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFq..."
}
لمزيد من المعلومات حول تدفق المصادقة، راجع OAuth 2.0 client credentials flow on the Microsoft identity platform
الخطوات التالية
للحصول على أمثلة أكثر تفصيلاً:
ابحث عـن مقاييس استخدام واجهة برمجة التطبيقات لحساب خرائط Azure:
استكشف العينات التي توضح كيفية دمج معرف Microsoft Entra مع خرائط Azure: