تأمين تطبيق خفي
توضح هذه المقالة كيفية استضافة تطبيقات خفية في بيئة موثوقة وآمنة في Microsoft خرائط Azure.
فيما يلي أمثلة على تطبيقات الخفي:
- Azure Web Job
- تطبيق الوظائف Azure
- خدمة Windows
- خدمة خلفية جارية وموثوقة
عرض تفاصيل المصادقة خرائط Azure
لعرض تفاصيل مصادقة حساب خرائط Azure في مدخل Azure:
تسجيل الدخول إلى مدخل Microsoft Azure.
انتقل إلى قائمة مدخل Azure. حدد كافة الموارد، ثم حدد حساب خرائط Azure الخاص بك.
ضمن الإعدادات في الجزء الأيمن، حدد المصادقة.
يتم إنشاء ثلاث قيم عند إنشاء حساب خرائط Azure. يتم استخدامها لدعم نوعين من المصادقة في خرائط Azure:
- مصادقة Azure Active Directory:
Client IDيمثل الحساب الذي سيتم استخدامه لطلبات واجهة برمجة تطبيقات REST.Client IDيجب تخزين القيمة في تكوين التطبيق، ثم يجب استردادها قبل إجراء خرائط Azure طلبات HTTP التي تستخدم مصادقة Azure AD. - مصادقة المفتاح المشترك: يتم
Primary Keyاستخدام مفتاحSecondary Keyالاشتراك لمصادقة المفتاح المشترك. تعتمد مصادقة المفتاح المشترك على تمرير المفتاح الذي تم إنشاؤه بواسطة حساب خرائط Azure مع كل طلب خرائط Azure. نوصي بإعادة إنشاء مفاتيحك بانتظام. للحفاظ على الاتصالات الحالية أثناء التجديد ، يتم توفير مفتاحين. يمكن أن يكون أحد المفاتيح قيد الاستخدام ، بينما يقوم بتجديد الآخر. عند إعادة إنشاء مفاتيحك، يجب تحديث أي تطبيقات تصل إلى هذا الحساب لاستخدام المفاتيح الجديدة. لمزيد من المعلومات، راجع المصادقة باستخدام خرائط Azure
هام
بالنسبة لتطبيقات الإنتاج، نوصي بتنفيذ Azure AD والتحكم في الوصول المستند إلى دور Azure (Azure RBAC). للحصول على نظرة عامة حول مفاهيم Azure AD، راجع المصادقة باستخدام خرائط Azure.
السيناريو: مصادقة المفتاح المشترك مع Azure Key Vault
يجب على التطبيقات التي تستخدم مصادقة المفتاح المشترك تخزين المفاتيح في متجر آمن. يصف هذا السيناريو كيفية تخزين مفتاح التطبيق بأمان كسر في Azure Key Vault. بدلا من تخزين المفتاح المشترك في تكوين التطبيق، يمكن للتطبيق استرداد المفتاح المشترك كسر Key Vault Azure. لتبسيط تجديد المفاتيح، نوصي بأن تستخدم التطبيقات مفتاحا واحدا في كل مرة. يمكن للتطبيقات بعد ذلك إعادة إنشاء المفتاح غير المستخدم ونشر المفتاح الذي تم تجديده إلى Azure Key Vault مع الحفاظ على الاتصالات الحالية بمفتاح واحد. لفهم كيفية تكوين Azure Key Vault، راجع دليل مطوري Azure Key Vault.
هام
يصل هذا السيناريو بشكل غير مباشر إلى Azure Active Directory من خلال Azure Key Vault. ومع ذلك، نوصي باستخدام مصادقة Azure AD مباشرة. يؤدي استخدام Azure AD مباشرة إلى تجنب التعقيد الإضافي والمتطلبات التشغيلية لاستخدام مصادقة المفاتيح المشتركة وإعداد Key Vault.
توضح الخطوات التالية هذه العملية:
- إنشاء Key Vault Azure.
- قم بإنشاء أصل خدمة Azure AD عن طريق إنشاء تسجيل تطبيق أو هوية مدارة. المدير الذي تم إنشاؤه مسؤول عن الوصول إلى Azure Key Vault.
- قم بتعيين الوصول الأساسي للخدمة إلى إذن أسرار
getAzure Key. للحصول على تفاصيل حول كيفية تعيين الأذونات، راجع تعيين نهج وصول Key Vault باستخدام مدخل Azure. - قم بتعيين إذن الوصول إلى الأسرار مؤقتا لك بصفتك المطور
set. - قم بتعيين المفتاح المشترك في أسرار Key Vault والإشارة إلى المعرف السري كتكوين لتطبيق الخفي.
- إزالة إذن الأسرار
setالخاص بك. - لاسترداد سر المفتاح المشترك من Azure Key Vault، قم بتنفيذ مصادقة Azure Active Directory في تطبيق الخفي.
- أنشئ طلب واجهة برمجة تطبيقات REST خرائط Azure باستخدام المفتاح المشترك. الآن ، يمكن لتطبيق الخفي استرداد المفتاح المشترك من Key Vault.
تلميح
إذا تمت استضافة التطبيق في بيئة Azure، فإننا نوصي باستخدام هوية مدارة لتقليل تكلفة وتعقيد إدارة سر للمصادقة. لمعرفة كيفية إعداد هوية مدارة، راجع البرنامج التعليمي: استخدام هوية مدارة للاتصال Key Vault بتطبيق ويب Azure في .NET.
السيناريو: التحكم في الوصول المستند إلى دور Azure AD
بعد إنشاء حساب خرائط Azure، تكون قيمة خرائط Azure Client ID موجودة في صفحة تفاصيل مصادقة مدخل Azure. تمثل هذه القيمة الحساب الذي سيتم استخدامه لطلبات واجهة برمجة تطبيقات REST. يجب تخزين هذه القيمة في تكوين التطبيق واستردادها قبل إجراء طلبات HTTP. الهدف من السيناريو هو تمكين تطبيق الخفي من المصادقة إلى Azure AD واستدعاء واجهات برمجة تطبيقات REST خرائط Azure.
تلميح
لتمكين فوائد مكونات الهوية المدارة، نوصي بالاستضافة على أجهزة Azure الظاهرية أو مجموعات مقياس الجهاز الظاهري أو خدمات التطبيقات.
Host a daemon on Azure resources
عند التشغيل على موارد Azure، يمكنك تكوين الهويات المدارة بواسطة Azure لتمكين تكلفة منخفضة والحد الأدنى من جهد إدارة بيانات الاعتماد.
لتمكين وصول التطبيق إلى هوية مدارة، راجع نظرة عامة على الهويات المدارة.
بعض مزايا الهوية المدارة هي:
- مصادقة تشفير المفتاح العام لشهادة X509 التي يديرها نظام Azure.
- أمان Azure AD مع شهادات X509 بدلا من أسرار العميل.
- يدير Azure جميع الشهادات المقترنة بمورد الهوية المدارة ويجددها.
- يتم تبسيط الإدارة التشغيلية لبيانات الاعتماد لأن الهوية المدارة تزيل الحاجة إلى خدمة متجر سري آمنة، مثل Azure Key Vault.
استضافة برنامج خفي على موارد غير Azure
عند التشغيل على بيئة غير Azure، لا تتوفر الهويات المدارة. على هذا النحو، يجب تكوين أصل خدمة من خلال تسجيل تطبيق Azure AD للتطبيق الخفي.
إنشاء تسجيل طلب جديد
إذا كنت قد أنشأت بالفعل تسجيل التطبيق، فانتقل إلى تعيين أذونات واجهة برمجة التطبيقات المفوضة.
لإنشاء تسجيل طلب جديد:
تسجيل الدخول إلى مدخل Azure.
حدد "Azure Active Directory".
ضمن إدارة في الجزء الأيمن، حدد تسجيلات التطبيقات.
حدد علامة التبويب + تسجيل جديد .
أدخل اسما، ثم حدد نوع حساب الدعم.
اختر تسجيل.
تعيين أذونات واجهة برمجة التطبيقات المفوضة
لتعيين أذونات واجهة برمجة التطبيقات المفوضة خرائط Azure:
إذا لم تكن قد قمت بذلك بالفعل، فقم بتسجيل الدخول إلى مدخل Azure.
حدد "Azure Active Directory".
ضمن إدارة في الجزء الأيمن، حدد تسجيلات التطبيقات.
حدد طلبك.
ضمن إدارة في الجزء الأيمن، حدد أذونات واجهة برمجة التطبيقات.
حدد "Add a permission" .
حدد علامة التبويب واجهات برمجة التطبيقات التي تستخدمها مؤسستي .
في مربع البحث، أدخل خرائط Azure.
حدد خرائط Azure.
حدد خانة الاختيار الوصول خرائط Azure.
حدد "Add permissions".
إنشاء سر عميل أو تكوين شهادة
لتنفيذ المصادقة المستندة إلى الخادم أو التطبيق في التطبيق الخاص بك، يمكنك اختيار أحد الخيارين:
- Upload شهادة مفتاح عمومي.
- إنشاء سر عميل.
Upload شهادة مفتاح عمومي
لتحميل شهادة مفتاح عام:
ضمن إدارة في الجزء الأيمن، حدد أسرار الشهادات&.
حدد Upload certificate.
على يسار مربع النص، حدد رمز الملف.
حدد ملف.crt أو .cer أو . pem ، ثم حدد إضافة.
إنشاء سر عميل
لإنشاء سر عميل:
ضمن إدارة في الجزء الأيمن، حدد أسرار الشهادات&.
حدد + سر عميل جديد.
أدخل وصفا لسر العميل.
حدد إضافة.
انسخ السر وخزنه بأمان في خدمة مثل Azure Key Vault. أيضا، سنستخدم السر في قسم طلب الرمز المميز مع الهوية المدارة في هذه المقالة.
هام
لتخزين الشهادة أو السر بشكل آمن، راجع دليل مطوري Key Vault Azure. ستستخدم هذا السر للحصول على الرموز المميزة من Azure AD.
منح حق الوصول المستند إلى الدور للمستخدمين خرائط Azure
يمكنك منح عنصر تحكم الوصول المستند إلى دور Azure (Azure RBAC) عن طريق تعيين مجموعة Azure AD أو مدير أمان إلى تعريف دور واحد أو أكثر خرائط Azure.
لعرض تعريفات دور Azure المتوفرة خرائط Azure، راجع عرض تعريفات دور خرائط Azure المضمنة.
للحصول على خطوات مفصلة حول كيفية تعيين دور خرائط Azure متوفر للهوية المدارة التي تم إنشاؤها أو أصل الخدمة، راجع تعيين أدوار Azure باستخدام مدخل Azure
لإدارة الوصول خرائط Azure إلى التطبيقات والموارد لعدد كبير من المستخدمين بكفاءة، راجع مجموعات Azure AD.
هام
للسماح للمستخدمين بالمصادقة على أحد التطبيقات، يجب أولا إنشاء المستخدمين في Azure AD. لمزيد من المعلومات، راجع إضافة مستخدمين أو حذفهم باستخدام Azure AD.
للتعرف على كيفية إدارة دليل كبير للمستخدمين بشكل فعال، راجع Azure AD.
تحذير
توفر تعريفات الأدوار المضمنة خرائط Azure وصولا كبيرا جدا إلى التفويض للعديد من واجهات برمجة تطبيقات REST خرائط Azure. لتقييد الوصول إلى واجهات برمجة التطبيقات إلى الحد الأدنى، راجع إنشاء تعريف دور مخصص وتعيين الهوية المعينة من قبل النظام إلى تعريف الدور المخصص . يتيح ذلك أقل امتياز ضروري للتطبيق للوصول إلى خرائط Azure.
طلب رمز مميز بهوية مدارة
بعد تكوين هوية مدارة لمورد الاستضافة، يمكنك استخدام Azure SDK أو REST API للحصول على رمز مميز خرائط Azure. لمعرفة كيفية الحصول على رمز مميز للوصول، راجع الحصول على رمز مميز للوصول.
طلب رمز مميز مع تسجيل الطلب
بعد تسجيل تطبيقك وربطه خرائط Azure، ستحتاج إلى طلب رمز مميز للوصول.
للحصول على رمز الوصول:
إذا لم تكن قد قمت بذلك بالفعل، فقم بتسجيل الدخول إلى مدخل Azure.
حدد "Azure Active Directory".
ضمن إدارة في الجزء الأيمن، حدد تسجيلات التطبيقات.
حدد طلبك.
من المفترض أن تشاهد صفحة نظرة عامة. انسخ معرف التطبيق (العميل) ومعرف الدليل (المستأجر).
سنستخدم تطبيق Postman لإنشاء طلب الرمز المميز ، ولكن يمكنك استخدام بيئة تطوير API مختلفة.
في تطبيق Postman، حدد جديد.
في نافذة إنشاء جديد حدد طلب HTTP.
أدخل اسم طلب للطلب، مثل طلب الرمز المميز POST.
حدد أسلوب HTTP ليكون نشر.
أدخل عنوان URL التالي إلى شريط العناوين (استبدله
{Tenant-ID}بمعرف الدليل (المستأجر{Client-ID}) ومعرف التطبيق (العميل) وبسر{Client-Secret}العميل: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}%3D&scope=api%3A%2F%2Fazmaps.fundamentals%2F.defaultحدد Send
يجب أن تشاهد استجابة JSON التالية:
{
"token_type": "Bearer",
"expires_in": 86399,
"ext_expires_in": 86399,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFq..."
}
لمزيد من المعلومات حول تدفق المصادقة، راجع تدفق بيانات اعتماد عميل OAuth 2.0 على النظام الأساسي للهويات في Microsoft
الخطوات التالية
للحصول على أمثلة أكثر تفصيلا:
ابحث عن مقاييس استخدام واجهة برمجة التطبيقات لحسابك خرائط Azure:
استكشف العينات التي توضح كيفية دمج Azure AD مع خرائط Azure: