المصادقة والتفويض في مايكروسوفت فاوندري

المصادقة والتفويض في مايكروسوفت فاوندري تتحكم في كيفية إثبات المديرين لهويتهم والحصول على إذن لأداء العمليات. يقسم فاوندري العمليات إلى مستوى تحكم (إدارة الموارد) ومستوى البيانات (استخدام وقت التشغيل)، كل منهما له سطح مصادقة وتحكم وصول قائم على الأدوار (RBAC).

يدعم Foundry طريقتي مصادقة: Microsoft Entra ID ومفاتيح API. يتيح Microsoft Entra ID الوصول المشروط، والهويات المدارة، وRBAC الدقيق. تظل مفاتيح API متاحة للنمذجة السريعة لكنها تفتقر إلى قابلية التتبع لكل مستخدم. تقارن هذه المقالة بين هذه الطرق، وتربط الهويات بالأدوار، وتصف سيناريوهات الامتيازات الأقل شائعة.

مهم

استخدم معرف Microsoft Entra لأحمال العمل الإنتاجية لتمكين الوصول المشروط، والهويات المدارة، وRBAC الأقل امتيازا. مفاتيح API مريحة للتقييم السريع لكنها توفر وصولا دقيقا.

المتطلبات الأساسية

مستوى التحكم ومستوى البيانات

تنقسم عمليات Azure إلى فئتين: مستوى التحكم ومستوى البيانات. يفصل Azure إدارة الموارد (مستوى التحكم) عن وقت التشغيل (مستوى البيانات). لذلك، تستخدم مستوى التحكم لإدارة الموارد في اشتراكك وتستخدم مستوى البيانات لاستخدام القدرات التي يعرضها نسختك من نوع المورد. لمعرفة المزيد عن مستوى التحكم ومستوى البيانات، راجع مستوى التحكم في Azure ومستوى البيانات. في Foundry، هناك تمييز واضح بين عمليات طائرة التحكم وعمليات مستوى البيانات. يشرح الجدول التالي الفرق بين الاثنين، النطاق في Foundry، العمليات النموذجية للمستخدم، أمثلة على الأدوات والميزات، وسطح التفويض لاستخدام كل منهما.

الطائرة النطاق في المصنع العمليات النموذجية أمثلة على الأدوات سطح التفويض
طائرة التحكم إعداد وتكوين الموارد والمشاريع والشبكات والتشفير والاتصالات إنشاء أو حذف الموارد، تعيين الأدوار، تدوير المفاتيح، إعداد الرابط الخاص مدخل Azure، Azure CLI، قوالب ARM، Bicep، Terraform إجراءات Azure RBAC
مستوى البيانات تشغيل واستخدام استدلال النماذج، وتفاعلات الوكلاء، ووظائف التقييم، ومكالمات أمان المحتوى إكمال المحادثات، توليد التضمين، بدء ضبط المهام، إرسال رسائل الوكلاء، عمليات المحلل والمصنف SDKs، واجهات برمجة التطبيقات REST، ملعب بوابة Foundry Azure RBAC dataActions

لجميع عينات بايسب، تيرافورم، وSDK، راجع مستودع عينات المسبك على GitHub ل Foundry.

توضح القوائم والمخطط التالي بالتفصيل الفصل بين إجراءات مستوى التحكم ومستوى البيانات. تشمل إجراءات مستوى التحكم داخل Foundry:

  • إنشاء موارد في المسبك
  • إنشاء مشروع المسبك
  • إنشاء مضيف قدرات الحساب
  • إنشاء مضيف القدرة على المشروع
  • نشر النماذج
  • إنشاء الحساب وربط المشروع

تشمل إجراءات مستوى البيانات داخل Foundry:

  • وكلاء البناء
  • إجراء تقييم
  • التتبع والمراقبة
  • الضبط الدقيق

يوضح المخطط التالي عرض الفصل بين مستوى التحكم ومستوى البيانات في Foundry إلى جانب تعيينات التحكم في الوصول القائم على الأدوار (RBAC) وما هو الوصول الذي قد يحصل عليه المستخدم في مستوى التحكم أو مستوى البيانات أو كلاهما. كما هو موضح في المخطط، ترتبط "إجراءات" RBAC بمستوى التحكم بينما ترتبط "أفعال" RBAC بمستوى البيانات.

مخطط يوضح فصل عمليات مستوى التحكم ومستوى البيانات مع أسطح RBAC المرتبطة.

طرق المصادقة

يدعم Foundry Microsoft Entra ID (المعتمد على الرموز، بدون مفاتيح) ومفاتيح API.

Microsoft Entra ID

يستخدم Microsoft Entra ID رموز OAuth 2.0 الحامل المخصصة ل https://ai.azure.com/.default.

استخدم معرف Microsoft Entra من أجل:

  • أعباء الإنتاج.
  • الوصول المشروط، والمصادقة متعددة العوامل (MFA)، والوصول في الوقت المناسب.
  • أقل امتيازات RBAC ودمج الهوية المدارة.

المزايا: تعيينات أدوار دقيقة، تدقيق لكل رأس الكل، عمر الرموز القابلة للتحكم، النظافة السرية التلقائية، وهويات مدارة للخدمات.

القيود: تعقيد إعداد أولي أعلى. يتطلب فهم التحكم في الوصول القائم على الأدوار (RBAC). لمزيد من المعلومات حول RBAC في Foundry، راجع التحكم في الوصول القائم على الأدوار لمايكروسوفت فاوندري.

مفاتيح واجهة برمجة التطبيقات

مفاتيح API هي أسرار ثابتة تحدد بمورد في Foundry.

استخدم مفاتيح API من أجل:

  • النمذجة الأولية السريعة.
  • بيئات اختبار معزولة حيث يكون الدوران ذو السر الواحد مقبولا.

المزايا: بسيط، غير معتمد على اللغة، ولا يتطلب الحصول على الرموز.

القيود: لا يمكن التعبير عن هوية المستخدم، ومن الصعب تحديد النطاق بشكل دقيق، ومن الصعب التدقيق. عادة لا تقبل في أعباء عمل الإنتاج المؤسسي ولا توصي بها مايكروسوفت.

لمزيد من المعلومات حول تفعيل المصادقة بدون مفتاح، راجع إعداد المصادقة بدون مفتاح باستخدام Microsoft Entra ID.

المصادقة باستخدام معرف Microsoft Entra (بايثون)

يوضح المثال التالي كيفية المصادقة باستخدام Microsoft Entra ID باستخدام المكتبة azure-identity وتقديم طلب إلى نقطة نهاية Foundry:

from azure.identity import DefaultAzureCredential
import requests

# Create a credential object using DefaultAzureCredential
# This automatically uses environment variables, managed identity, or Azure CLI credentials
credential = DefaultAzureCredential()

# Get an access token for the Foundry scope (https://ai.azure.com/.default)
token = credential.get_token("https://ai.azure.com/.default")

# Use the token in your API request
headers = {
    "Authorization": f"Bearer {token.token}",
    "Content-Type": "application/json"
}

# Replace with your Foundry endpoint
endpoint = "https://<your-resource-name>.services.ai.azure.com"

# Example: List deployments (adjust the path for your specific API)
response = requests.get(f"{endpoint}/openai/deployments?api-version=2024-10-21", headers=headers)
print(response.json())

الناتج المتوقع: رد JSON يسرد نشر النماذج الخاصة بك، أو خطأ في المصادقة إذا كانت بيانات الاعتماد مفقودة أو لم يتم تكوين تعيين الدور.

المرجع: DefaultAzureCredential | azure-identity library

المصادقة باستخدام مفتاح API (بايثون)

يوضح المثال التالي كيفية المصادقة باستخدام مفتاح API. استخدم هذا النهج فقط للنمذجة الأولية السريعة؛ يوصى بمعالج Microsoft Entra ID للإنتاج.

import requests

# Replace with your actual API key and endpoint
api_key = "<your-api-key>"
endpoint = "https://<your-resource-name>.services.ai.azure.com"

headers = {
    "api-key": api_key,
    "Content-Type": "application/json"
}

# Example: List deployments
response = requests.get(f"{endpoint}/openai/deployments?api-version=2024-10-21", headers=headers)
print(response.json())

تحذير

توفر مفاتيح API وصولا كاملا إلى المورد ولا يمكن تحديدها للمستخدمين أو الإجراءات المحددة. قم بتدوير المفاتيح بانتظام وتجنب التزامها بالتحكم في المصدر.

الناتج المتوقع: رد JSON يسرد نشر النموذج الخاص بك، أو خطأ 401 إذا كان مفتاح API غير صالح.

مرجع: تدوير مفاتيح الوصول إلى واجهة برمجة التطبيقات

مصفوفة دعم الميزات

راجع المصفوفة التالية لفهم القدرات في Foundry التي تدعم مفتاح API مقابل Microsoft Entra ID.

القدرة أو الميزة مفتاح API Microsoft Entra ID ملاحظات
الاستدلال الأساسي للنموذج (دردشة، تضمينات) نعم نعم مدعوم بالكامل.
عمليات الضبط الدقيق نعم نعم تضيف Entra ID تدقيقا لكل رأس مال.
خدمة الوكلاء لا نعم استخدم معرف إنترا للوصول إلى أداة الهوية المدارة.
التقييمات لا نعم استخدم معرف إنترا.
تحليل مكالمات أمان المحتوى نعم نعم استخدم RBAC للحد من العمليات عالية المخاطر.
وظائف تحليل الدفعات (فهم المحتوى) نعم نعم موصى ب Entra ID للحجم.
استخدام ملعب البوابة نعم نعم يستخدم Playground وضع اتصال المشروع.
عزل الشبكة باستخدام الرابط الخاص نعم نعم تضيف Entra ID وصولا مشروطا.
أقل امتياز مع الأدوار المدمجة والمخصصة لا نعم المفاتيح تعتمد على كل شيء أو لا شيء لكل مورد.
الهوية المدارة (النظام أو المعين من قبل المستخدم) لا نعم يتيح تصريحا بدون سر.
نسبة المستخدم لكل طلب لا نعم يحتوي الرمز على معرفات المستأجرين والكائنات.
الإلغاء (الفوري) مفتاح تدوير إزالة الدور أو تعطيل المبدأ ينطبق عمر الرمز القصير.
الدعم في خطوط الأتمتة نعم (سر) نعم (هوية رئيسية الخدمة أو المدارة) إنترا ID يقلل من الدوران السري.
واجهة برمجة تطبيقات المساعدين نعم نعم مهمل؛ يتقاعد في 26 أغسطس 2026. استخدام خدمة عامل Foundry.
الاستدلال الدفعي نعم نعم
صندوق الأدوات لا نعم استخدم معرف إنترا للوصول إلى أداة الهوية المدارة.

أنواع الهوية

تصادق موارد وتطبيقات Azure باستخدام أنواع هوية مختلفة، كل منها مصمم لسيناريوهات محددة. يمثل المستخدمون الرئيسيون المستخدمين البشر، ويمثل مسؤولو الخدمات التطبيقات أو العمليات الآلية، وتوفر الهويات المدارة طريقة آمنة وخالية من بيانات الاعتماد لموارد Azure للوصول إلى خدمات أخرى. فهم هذه الفروقات يساعدك على اختيار الهوية المناسبة لتسجيل الدخول التفاعلي، أو التواصل بين التطبيقات، أو أتمتة عبء العمل.

يدعم Azure أنواع الهوية التالية.

نوع الهوية الوصف
مبدأ المستخدم المستخدم الفردي في Microsoft Entra ID
مدير الخدمة (تسجيل التطبيق) هوية التطبيق التي تستخدم سر العميل أو شهادة
الهوية المدارة (المعينة للنظام) هوية Azure المحدودة بالموارد تدار تلقائيا بواسطة المنصة.
الهوية المدارة (المعينة من قبل المستخدم) هوية مستقلة ترتبط بموارد متعددة.

نظرة عامة على الأدوار المدمجة

في Foundry، استخدم الأدوار المدمجة لفصل الإجراءات المسموح بها للمستخدم. معظم المؤسسات ترغب في فصل بين إجراءات التحكم ومستوى البيانات لأدوارها المدمجة. ويتوقع آخرون وجود دور مشترك بين البيانات ومستوى التحكم لتقليل عدد التعيينات المطلوبة. الجدول التالي يسرد السيناريوهات والأدوار المدمجة المقابلة في Foundry التي تناسب كل سيناريو بشكل أفضل.

السيناريو الأدوار المدمجة النموذجية ملاحظات
بناء الوكلاء باستخدام نماذج منشورة مسبقا مستخدم المسبك استخدام مستوى البيانات فقط؛ لا تكتب أي إدارة.
إدارة عمليات النشر أو ضبط النماذج بدقة مدير Project Foundry يشمل نشر النماذج، إنشاء وتحديث.
تدوير المفاتيح أو إدارة الموارد مالك حساب Foundry امتياز كبير؛ فكر في دور مخصص لأقل الامتيازات.
إدارة الموارد، إدارة النشرات، بناء الوكلاء مالك المصنع دور خدمة ذاتية عالي الامتيازات للمستخدمين الذين يحتاجون إلى الوصول إلى مستوى التحكم ومستوى البيانات. ادمج مع Azure Monitor Reader إذا لزم الأمر الملاحظة.
الملاحظة، التتبع، المراقبة مستخدم المسبك (الحد الأدنى) أضف Azure Monitor Reader على Application Insights.

مهم

تم تغيير اسم أدوار RBAC في Foundry مؤخرا. Foundry User، Foundry Owner، Foundry Account Owner، وFoundry Project Manager تم تسميتها سابقا Azure مستخدم الذكاء الاصطناعي، ومالك الذكاء الاصطناعي Azure، ومالك حساب Azure الذكاء الاصطناعي، ومدير Project الذكاء الاصطناعي Azure. قد ترى الأسماء السابقة في بعض الأماكن أثناء صدور إعادة التسمية. معرفات الأدوار والأذونات الأساسية لم تتغير عند إعادة الاسم.

لفهم تفصيل الأدوار المدمجة وإجراءات التحكم ومستوى البيانات، راجع الرسم البياني التالي.

رسم بياني للأدوار المدمجة للتحكم في إجراءات المستوى وإجراءات مستوى البيانات في Foundry.

نصيحة

أنشئ دورا مخصصا إذا كان الدور المدمج يمنح صلاحيات زائدة لحالة الاستخدام الخاصة بك.

إعداد معرف Microsoft Entra ID

للحصول على إرشادات عامة حول إعداد مصادقة Entra ID في Foundry، راجع إعداد المصادقة بدون مفتاح.

  1. تأكد من أن مورد Microsoft Foundry الخاص بك يحتوي على نطاق فرعي مخصص معين. انظر النطاقات الفرعية المخصصة. يتطلب الأمر نطاقا فرعيا مخصصا للمصادقة المعتمدة على الرموز.

  2. قم بتعيين الدور المدمج أو المخصص المطلوب لكل مدير. تحتاج إلى دور المالك أو مسؤول وصول المستخدم في النطاق المستهدف لتعيين الأدوار. تعيينات الأدوار الشائعة:

    • مستخدم Foundry: للمطورين الذين يحتاجون إلى البناء والاختبار باستخدام نماذج منشورة مسبقا.
    • Foundry Project Manager: لقادة الفرق الذين يحتاجون إلى إنشاء المشاريع وإدارة النشرات.
    • مالك حساب Foundry: للمسؤولين الذين يحتاجون إلى إدارة كاملة للموارد ويمكنهم تعيين مستخدم Foundry بشكل مشروط للوصول إلى مستوى البيانات.
    • مالك المصنع: للمستخدمين الذين يحتاجون إلى إدارة كاملة للموارد والوصول إلى مستوى البيانات. مثال على أمر CLI لتعيين دور مستخدم المصنع:
    az role assignment create \
      --assignee <principal-id> \
      --role "53ca6127-db72-4b80-b1b0-d745d6d5456d" \
      --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.CognitiveServices/accounts/<resource-name>
    

ملحوظة

نظرا لأن أدوار RBAC في Foundry تم إعادة تسميتها مؤخرا، استخدم معرف تعريف الأدوار (GUID) بدلا من اسم الدور في كودك لتجنب المشاكل أثناء طرح إعادة التسمية:

  • مستخدم المسبك: 53ca6127-db72-4b80-b1b0-d745d6d5456d
  • مالك المصنع: c883944f-8b7b-4483-af10-35834be79c4a
  • مالك حساب Foundry: e47c6f54-e4a2-4754-9501-8e0985b135e1
  • مدير Project المسبك: eadc314b-1a2d-4efa-be10-5d325db5065e

للتحقق من تعيين الدور، قم بتشغيل az role assignment list --assignee <principal-id> --scope <resource-scope> وتأكيد ظهور الدور في المخرج.

  1. (اختياري) بالنسبة لمدير الخدمة، أنشئ تسجيل تطبيق، أضف سر العميل أو الشهادة، وسجل معرف المستأجر، معرف العميل، والسر أو الشهادة.
  2. (اختياري) بالنسبة لهوية مدارة، قم بتمكين الهوية المعينة من النظام على الخدمة المتصل أو إرفاق هوية معينة من المستخدم، ثم تعيين دور لها في مورد Foundry.
  3. قم بإزالة المصادقة القائمة على المفتاح بعد أن يستخدم جميع المتصلين المصادقة بالرموز. اختياريا، يمكنك تعطيل المصادقة المحلية في قوالب النشر.

مرجع: تعيين أدوار | Azureالتحكم في الوصول القائم على الأدوار ل Foundry

استكشاف أخطاء المصادقة الشائعة

خطأ السبب الحل
401 غير مصرح به رمز مفقود أو منتهية الصلاحية؛ مفتاح واجهة برمجة التطبيقات غير صالح تحقق من أن نطاق اكتساب الرمز هو https://ai.azure.com/.default. أعد توليد مفتاح API إذا كنت تستخدم المصادقة المعتمدة على المفاتيح.
403 ممنوع تعيين دور مفقود في RBAC قم بتعيين الدور المدمج المناسب (مثل مستخدم Foundry) في نطاق المورد أو المشروع.
AADSTS700016 لم يتم العثور على طلب في المستأجر تحقق من وجود تسجيل التطبيق في المستأجر الصحيح وأن معرف العميل صحيح.
نطاق فرعي مخصص مطلوب يستخدم المورد نقطة نهاية إقليمية بدلا من نطاق فرعي مخصص قم بتكوين نطاق فرعي مخصص على مورد Foundry. يتطلب التحقق من الهوية المعتمدة على الرموز نطاقا فرعيا مخصصا.