المصادقة على Azure Key Vault

تعمل المصادقة مع Key Vault جنبا إلى جنب مع معرف Microsoft Entra، المسؤول عن مصادقة هوية أي أساس أمان معين.

أساس الأمان هو كائن يمثّل مستخدمًا أو مجموعة أو خدمة أو تطبيقًا يطلب الوصول إلى موارد Azure. يقوم Azure بتعيين معرف كائن فريد لكل أساس أمان.

  • يحدد أساس أمان المستخدم فردا لديه ملف تعريف في معرف Microsoft Entra.

  • يحدد أساس أمان المجموعة مجموعة من المستخدمين الذين تم إنشاؤهم في Microsoft Entra ID. يتم منح أي أدوار أو أذون تم تعيينها للمجموعة لجميع المستخدمين داخل المجموعة.

  • يعد كيان الخدمة نوعًا من مبادئ الأمان التي تحدد تطبيقًا أو خدمة، أي أنها جزء من التعليمة البرمجية، بدلًا من مستخدم أو مجموعة. يعمل معرف كائن كيان الخدمة مثل اسم المستخدم الخاص به؛ يعمل سر عميل كيان الخدمة مثل كلمة المرور الخاصة به.

بالنسبة للتطبيقات، هناك طريقتان للحصول على كيان الخدمة:

  • مستحسن: تمكين هوية مُدارة مخصصة من قِبل النظام للتطبيق.

    باستخدام الهوية المُدارة، يدير Azure داخلياً كيان الخدمة الخاصة بالتطبيق ويباشر تلقائياً بمصادقة التطبيق مع خدمات Azure الأخرى. تتوفر الهوية المُدارة للتطبيقات التي وُزِعت في مجموعة متنوعة من الخدمات.

    لمزيد من المعلومات، راجع نظرة عامة على الهوية المُدارة. راجع أيضاً خدمات Azure التي تدعم الهوية المُدارة، والتي ترتبط بالمقالات التي تصف كيفية تمكين الهوية المُدارة لخدمات معينة (مثل App Service وAzure Functions وVirtual Machines...، وما إلى ذلك).

  • إذا لم تتمكن من استخدام الهوية المدارة، يمكنك بدلا من ذلك تسجيل التطبيق مع مستأجر Microsoft Entra، كما هو موضح في التشغيل السريع: تسجيل تطبيق باستخدام النظام الأساسي للهويات في Azure. ينشئ التسجيل أيضاً كائن تطبيق ثانٍ يحدد التطبيق عبر جميع المستأجرين.

تكوين جدار حماية Key Vault

بشكل افتراضي، يسمح Key Vault بالوصول إلى الموارد من خلال عناوين IP العامة. لمزيد من الأمان، يمكنك أيضاً تقييد الوصول إلى نطاقات IP أو نقاط نهاية الخدمة أو الشبكات الافتراضية أو نقاط النهاية الخاصة.

لمزيد من المعلومات، راجع الوصول إلى Azure Key Vault خلف جدار حماية.

تدفق عملية طلب Key Vault مع المصادقة

تحدث مصادقة Key Vault كجزء من كل عملية طلب على Key Vault. بمجرد استرداد الرمز المميز، يمكن إعادة استخدامه للمكالمات اللاحقة. مثال على تدفق المصادقة:

  1. يطلب الرمز المميز المصادقة باستخدام معرف Microsoft Entra، على سبيل المثال:

    • يتصل مورد Azure، مثل جهاز افتراضي أو تطبيق خدمة التطبيقات بهوية مُدارة، بنقطة نهاية REST للحصول على رمز مميز للوصول.
    • يقوم المستخدم بتسجيل الدخول إلى مدخل Microsoft Azure باستخدام اسم مستخدم وكلمة مرور.
  2. إذا نجحت المصادقة باستخدام معرف Microsoft Entra، يتم منح أساس الأمان رمز OAuth المميز.

  3. استدعاء لواجهة برمجة تطبيقات Key Vault REST من خلال نقطة نهاية Key Vault (URI).

  4. يتحقق Key Vault Firewall من المعايير التالية. في حالة استيفاء أي معيار، يُسمح بالمكالمة. وإلا فسيتم حظر المكالمة وإعادة الرد المحظور.

    • يتم تعطيل جدار الحماية ويمكن الوصول إلى نقطة النهاية العامة لـ Key Vault من الإنترنت العامّ.
    • المتصل هو Key Vault Trusted Service، ما يسمح له بتجاوز جدار الحماية.
    • يتم إدراج المتصل في جدار الحماية حسب عنوان IP أو الشبكة الافتراضية أو نقطة نهاية الخدمة.
    • يمكن للمتصل الوصول إلى Key Vault عبر اتصال ارتباط خاصّ مكوَّن (مهيّأ).
  5. إذا كان جدار الحماية يسمح بالاتصال، فإن Key Vault يستدعي معرف Microsoft Entra للتحقق من صحة رمز الوصول الخاص بكيان الأمان.

  6. يتحقق Key Vault مما إذا كان مدير الأمان لديه الإذن اللازم للعملية المطلوبة. إذا لم يكن الأمر كذلك، فسيقوم Key Vault بإرجاع: رد محظور.

  7. ينفِّذ Key Vault العملية المطلوبة ويعيد النتيجة.

يوضح الرسم البياني التالي العملية الخاصة بتطبيق يستدعي واجهة برمجة تطبيقات Key Vault "Get Secret":

The Azure Key Vault authentication flow

إشعار

يقوم عملاء Key Vault SDK للبحث عن الأسرار والشهادات والمفاتيح بإجراء مكالمة إضافية إلى Key Vault بدون رمز مميز للوصول، ما يؤدي إلى استجابة 401 لاسترداد معلومات المستأجر. لمزيد من المعلومات، راجع المصادقة والطلبات والاستجابات

المصادقة على Key Vault في التعليمة البرمجية الخاصة بالتطبيق

تستخدم Key Vault SDK مكتبة عميل Azure Identity، والتي تتيح مصادقة سلسة لـ Key Vault عبر البيئات التي لها التعليمة البرمجية نفسها

مكتبات عميل Azure Identity

.NET Python Java JavaScript
Azure Identity SDK .NET Azure Identity SDK Python Azure Identity SDK Java Azure Identity SDK JavaScript

لمزيد من المعلومات حول أفضل الممارسات والأمثلة للمطورين، راجع المصادقة على Key Vault في التعليمات البرمجية

الخطوات التالية