مشاركة عبر


تأمين التطبيق الخفي

توضح هذه المقالة كيفية استضافة التطبيقات الخفية في بيئة موثوق بها وآمنة في Microsoft Azure Maps.

فيما يلي أمثلة على التطبيقات الخفية:

  • Azure Web Job
  • تطبيق الوظائف Azure
  • Windows Service
  • خدمة خلفية قيد التشغيل وموثوق بها

عرض تفاصيل مصادقة Azure Maps

لعرض تفاصيل مصادقة حساب خرائط Azure في مدخل Microsoft Azure:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. انتقل إلى قائمة مدخل Microsoft Azure. حدد All resources، ثم حدد حساب خرائط Azure الخاص بك.

  3. ضمن الإعدادات الموجودة في الجزء الأيسر، حدد Authentication.

    لقطة شاشة تعرض خيارات المصادقة خرائط Azure في مدخل Microsoft Azure.

يتم إنشاء ثلاث قيم عند إنشاء حساب خرائط 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.

توضح الخطوات التالية هذه العملية:

  1. Create an Azure Key Vault.
  2. إنشاء كيان خدمة Microsoft Entra عن طريق إنشاء تسجيل تطبيق أو هوية مدارة. الأساسي الذي تم إنشاؤه مسؤول عن الوصول إلى Key Vault Azure.
  3. تعيين الوصول إلى كيان الخدمة إلى البيانات السرية لـ Azure Key get والحصول على الإذن. للحصول على تفاصيل حول كيفية تعيين الأذونات، راجع Assign a Key Vault access policy using the Azure portal.
  4. تعيين الوصول مؤقتًا إلى إذن set البيانات السرية لك كمطور.
  5. تعيين المفتاح المشترك في البيانات السرية لـ Key Vault والإشارة إلى معرّف البيانات السرية كتكوين للتطبيق الخفي.
  6. قم بإزالة إذن set البيانات السرية.
  7. لاسترداد سر المفتاح المشترك من Azure Key Vault، قم بتنفيذ مصادقة Microsoft Entra في التطبيق الخفي.
  8. إنشاء طلب واجهة برمجة تطبيقات 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 المفوضة.

لإنشاء تسجيل تطبيق جديد:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. حدد معرف Microsoft Entra.

  3. تحت Manage في الجزء الأيمن، حدد App registrations.

  4. حدد علامة التبويب + تسجيل جديد.

    لقطة شاشة تعرض تسجيل التطبيق في معرف Microsoft Entra.

  5. أدخل اسمًا، ثم حدد نوع حساب الدعم.

    إنشاء تسجيل التطبيق.

  6. حدد تسجيل.

تعيين أذونات واجهة برمجة التطبيقات المفوضة

لتعيين أذونات واجهة برمجة التطبيقات المفوضة إلى Azure Maps:

  1. إذا لم تكن قد قمت بذلك بالفعل، فسجّل الدخول إلى Azure portal.

  2. حدد معرف Microsoft Entra.

  3. تحت Manage في الجزء الأيمن، حدد App registrations.

  4. حدد طلبك.

    تحديد تسجيلات التطبيقات.

  5. تحت خانة "Manage" في الجزء الأيسر، حدد "API permissions".

  6. حدد إضافة إذن.

    إضافة إذن التطبيق.

  7. حدد علامة التبويب APIs my organization uses.

  8. في مربع البحث، أدخل Azure Maps.

  9. حدد Azure Maps.

    طلب إذن التطبيق.

  10. حدد مربع الاختيار Access Azure Maps.

  11. حدد إضافة أذونات.

    تحديد أذونات واجهة برمجة التطبيقات للتطبيق.

إنشاء بيانات العميل السرية أو تكوين شهادة

لتنفيذ المصادقة المستندة إلى الخادم أو التطبيق في تطبيقك، يمكنك اختيار أحد الخيارين:

  • تحميل شهادة مفتاح عام.
  • إنشاء سر عميل.
تحميل شهادة مفتاح عام

لتحميل شهادة مفتاح عام.

  1. ضمن إدارة في الجزء الأيمن، حدد الشهادات والأسرار.

  2. حدد تحميل الشهادة. تحميل الشهادة.

  3. على يمين مربع النص، حدد أيقونة الملف.

  4. حدد ملف .crt أو .cer أو .pem ، ثم حدد Add.

    تحميل ملف شهادة.

إنشاء سر عميل

لإنشاء سر عميل:

  1. ضمن إدارة في الجزء الأيمن، حدد الشهادات والأسرار.

  2. حدد + سر عميل جديد.

    سر عميل جديد.

  3. أدخل وصفًا لسر العميل.

  4. حدد إضافة.

    إضافة سر عميل جديد.

  5. انسخ البيانات السرية وخزنها بأمان في خدمة مثل 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، ستحتاج إلى طلب رمز مميز للوصول.

للحصول على الرمز المميز للوصول:

  1. إذا لم تكن قد قمت بذلك بالفعل، فسجّل الدخول إلى Azure portal.

  2. حدد معرف Microsoft Entra.

  3. تحت Manage في الجزء الأيمن، حدد App registrations.

  4. حدد طلبك.

  5. يجب أن تطلع على الصفحة نظرة عامة. انسخ معرّف التطبيق (العميل) ومعرّف الدليل (المستأجر).

    نسخ معلمات الرمز المميز.

تستخدم هذه المقالة تطبيق bruno لإنشاء طلب الرمز المميز، ولكن يمكنك استخدام بيئة تطوير API مختلفة.

  1. افتح تطبيق bruno، وحدد NEW REQUEST لإنشاء الطلب.

  2. في نافذة NEW REQUEST ، قم بتعيين Type إلى HTTP. أدخل اسما للطلب، مثل طلب الرمز المميز ل POST.

  3. حدد أسلوب 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} مع سر العميل الخاص بك.
  4. حدد زر التشغيل

يجب أن تشاهد استجابة 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: