تأمين تطبيق ويب باستخدام تسجيل دخول المستخدم

يتعلق الدليل التالي بتطبيق مستضاف على خوادم الويب، ويحافظ على سيناريوهات عمل متعددة، وينشر على خوادم الويب. يحتوي التطبيق على متطلبات توفير موارد محمية مؤمنة فقط لمستخدمي Microsoft Entra. الهدف من السيناريو هو تمكين تطبيق الويب من المصادقة على معرف Microsoft Entra واستدعاء واجهات برمجة تطبيقات REST خرائط Azure نيابة عن المستخدم.

لعرض تفاصيل مصادقة حساب خرائط 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

يجب إنشاء تطبيق ويب في معرف Microsoft Entra للمستخدمين لتسجيل الدخول. ثم يفوض تطبيق الويب هذا وصول المستخدم إلى واجهات برمجة تطبيقات REST خرائط Azure.

  1. في مدخل Microsoft Azure، في قائمة خدمات Azure، حدد Microsoft Entra ID>App registrations New registrations.>

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

  2. أدخل اسما، واختر نوع حساب الدعم، وقدم عنوان URI لإعادة التوجيه يمثل عنوان URL الذي يصدر إليه معرف Microsoft Entra الرمز المميز، وهو عنوان URL حيث تتم استضافة عنصر تحكم الخريطة. لمزيد من المعلومات، راجع سيناريو معرف Microsoft Entra: تطبيق الويب الذي يسجل دخول المستخدمين. أكمل الخطوات المتوفرة من سيناريو Microsoft Entra.

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

  4. لتعيين أذونات واجهة برمجة التطبيقات المفوضة خرائط Azure، انتقل إلى التطبيق وحدد أذونات>واجهة برمجة التطبيقات إضافة إذن. حدد خرائط Azure في قائمة واجهات برمجة التطبيقات التي تستخدمها مؤسستي.

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

  5. حدد مربع الاختيار بجوار الوصول إلى خرائط Azure، ثم حدد Add permissions.

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

  6. تمكين تطبيق الويب لاستدعاء Azure Maps REST APIs عن طريق تكوين تسجيل التطبيق باستخدام البيانات السرية للتطبيق، للحصول على خطوات تفصيلية، راجع تطبيق ويب يستدعي واجهات برمجة تطبيقات الويب: تسجيل التطبيق. مطلوب سر للمصادقة على Microsoft Entra نيابة عن المستخدم. يجب تخزين شهادة تسجيل التطبيق أو البيانات السرية في مخزن آمن لتطبيق الويب لاسترداده للمصادقة على معرف Microsoft Entra.

    • قد يتم تخطي هذه الخطوة إذا كان التطبيق يحتوي بالفعل على تسجيل تطبيق Microsoft Entra وسر تم تكوينه.

    تلميح

    إذا تمت استضافة التطبيق في بيئة Azure، نوصي باستخدام الهويات المُدارة لموارد Azure ومثيل Azure Key Vault للوصول إلى الأسرار عن طريق الحصول على رمز وصول للوصول إلى أسرار أو شهادات Azure Key Vault. للاتصال بـ Azure Key Vault لاسترداد البيانات السرية، راجع البرنامج التعليمي للاتصال من خلال الهوية المُدارة.

  7. تنفيذ نقطة نهاية الرمز المميز الآمن لـ Azure Maps Web SDK من أجل الوصول إلى رمز مميز.

    • للحصول على نموذج لوحدة تحكم الرمز المميز، راجع خرائط Azure Microsoft Entra ID Samples.
    • للحصول على تطبيق غير AspNetCore أو غير ذلك، راجع الحصول على الرمز المميز للتطبيق من وثائق Microsoft Entra.
    • نقطة نهاية الرمز المميز الآمنة مسؤولة عن إرجاع رمز وصول للمستخدم المُصادق عليه والمخول للاتصال بـ Azure Maps REST APIs.
  8. لتكوين التحكم في الوصول استنادا إلى الدور في Azure (Azure RBAC) للمستخدمين أو المجموعات، راجع منح الوصول المستند إلى الدور للمستخدمين.

  9. تكوين صفحة تطبيق الويب باستخدام Azure Maps Web SDK للوصول إلى نقطة نهاية الرمز المميز الآمن.

var map = new atlas.Map("map", {
        center: [-122.33, 47.64],
        zoom: 12,
        language: "en-US",
        authOptions: {
            authType: "anonymous",
            clientId: "<insert>",  // azure map account client id
            getToken: function (resolve, reject, map) {
                var xhttp = new XMLHttpRequest();
                xhttp.open("GET", "/api/token", true); // the url path maps to the token endpoint.
                xhttp.onreadystatechange = function () {
                    if (this.readyState === 4 && this.status === 200) {
                        resolve(this.responseText);
                    } else if (this.status !== 200) {
                        reject(this.responseText);
                    }
                };

                xhttp.send();
            }
        }
    });
    map.events.add("tokenacquired", function () {
        console.log("token acquired");
    });
    map.events.add("error", function (err) {
        console.log(JSON.stringify(err.error));
    });

منح الوصول المستند إلى الدور للمستخدمين إلى 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:

استكشف العينات التي توضح كيفية دمج معرف Microsoft Entra مع خرائط Azure: