إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
المصادقة والتفويض في مايكروسوفت فاوندري تتحكم في كيفية إثبات المديرين لهويتهم والحصول على إذن لأداء العمليات. يقسم فاوندري العمليات إلى مستوى تحكم (إدارة الموارد) ومستوى البيانات (استخدام وقت التشغيل)، ولكل منهما surface مصادقة و access control قائم على الأدوار (RBAC).
يدعم فاوندري طريقتي مصادقة: Microsoft Entra ID ومفاتيح API. يتيح Microsoft Entra ID access مشروط، والهويات المدارة، وRBAC الدقيق. تظل مفاتيح API متاحة للنمذجة السريعة لكنها تفتقر إلى قابلية التتبع لكل مستخدم. تقارن هذه المقالة بين هذه الطرق، وتربط الهويات بالأدوار، وتصف سيناريوهات الامتيازات الأقل شائعة.
مهم
استخدم Microsoft Entra ID لأعباء العمل الإنتاجية لتمكين access المشروط، والهويات المدارة، وRBAC الأقل امتيازا. مفاتيح API مريحة للتقييم السريع لكنها توفر access خشن.
المتطلبات المسبقه
- اشتراك في Azure. إذا لم يكن لديك حساب، أنشئ حسابا مجانيا.
- مورد Microsoft Foundry مع <نطاق فرعي مخصص c0> مهيأ.
- فهم مفاهيم Azure RBAC.
- لتعيين الأدوار، تحتاج إلى دور Owner أو دور User Access Administrator في النطاق المناسب.
- (اختياري) تم تثبيت Azure CLI أو Azure SDK لبايثون للمصادقة البرمجية.
- (اختياري) حزم بايثون لعينات الكود:
pip install azure-identity requests
مستوى التحكم ومستوى البيانات
تنقسم عمليات Azure إلى فئتين: مستوى التحكم ومستوى البيانات. يفصل Azure إدارة الموارد (مستوى التحكم) عن وقت التشغيل (مستوى البيانات). لذلك، تستخدم مستوى التحكم لإدارة الموارد في اشتراكك وتستخدم مستوى البيانات لاستخدام القدرات التي يعرضها نسختك من نوع المورد. لمعرفة المزيد عن مستوى التحكم ومستوى البيانات، راجع Azure مستوى التحكم ومستوى البيانات. في Foundry، هناك تمييز واضح بين عمليات طائرة التحكم وعمليات مستوى البيانات. يشرح الجدول التالي الفرق بين الاثنين، والنطاق في Foundry، والعمليات النموذجية للمستخدم، وأمثلة على الأدوات والميزات، وتفويض surface لاستخدام كل منهما.
| المستوى | النطاق في المصنع | العمليات النموذجية | أمثلة على الأدوات | surface الصلاحية |
|---|---|---|---|---|
| مستوى التحكم | إعداد وتكوين الموارد والمشاريع والشبكات والتشفير والاتصالات | إنشاء أو حذف الموارد، تعيين الأدوار، تدوير المفاتيح، إعداد Private Link | Azure portal, Azure CLI, ARM templates, Bicep, Terraform | إجراءات Azure RBAC |
| مستوى البيانات | تشغيل واستخدام استدلال النموذج وتفاعلات الوكيل ومهام التقييم ومكالمات أمان المحتوى | إكمال الدردشة ، وتضمين الإنشاء ، وبدء ضبط المهام ، وإرسال رسائل الوكيل ، وعمليات المحلل والمصنف | SDKs، واجهات برمجة التطبيقات REST، ملعب بوابة Foundry | Azure RBAC dataActions |
لجميع عينات بايسب، تيرافورم، وSDK، راجع مستودع عينات Foundry-Samples على GitHub الخاص ب Foundry.
توضح القوائم والمخطط التالي بالتفصيل الفصل بين إجراءات مستوى التحكم ومستوى البيانات. تشمل إجراءات مستوى التحكم داخل Foundry:
- إنشاء موارد في المسبك
- إنشاء project Foundry
- إنشاء مضيف قدرات الحساب
- إنشاء مضيف Project Capability
- نشر النموذج
- إنشاء الحساب واتصال project
تشمل إجراءات مستوى البيانات داخل Foundry:
- عاملو الإنشاء
- إجراء تقييم
- التتبع والمراقبة
- Fine-tuning
يوضح الرسم البياني التالي عرض فصل مستوى التحكم مقابل مستوى البيانات في Foundry إلى جانب تعيينات access control (RBAC) القائمة على الأدوار وما هو access الذي قد يمتلكه المستخدم في مستوى التحكم أو مستوى البيانات أو كليهما. كما هو موضح في المخطط، ترتبط "إجراءات" RBAC بمستوى التحكم بينما ترتبط "أفعال" RBAC بمستوى البيانات.
طرق المصادقة
يدعم Foundry Microsoft Entra ID (يعتمد على الرموز، بدون مفتاح) ومفاتيح API.
Microsoft Entra ID
تستخدم Microsoft Entra ID رموز OAuth 2.0 الحاملة بنطاق https://ai.azure.com/.default.
استخدم معرف Microsoft Entra ID من أجل:
- أعباء الإنتاج.
- Conditional access، والمصادقة متعددة العوامل (MFA)، وjust-in-time access.
- أقل امتيازات RBAC ودمج الهوية المدارة.
المزايا: تعيينات أدوار دقيقة، تدقيق لكل رأس الكل، عمر الرموز القابلة للتحكم، النظافة السرية التلقائية، وهويات مدارة للخدمات.
القيود: تعقيد إعداد أولي أعلى. يتطلب فهم نظام التحكم في access control القائم على الدور (RBAC). لمزيد من المعلومات عن RBAC في Foundry، راجع Role-based access control لمايكروسوفت فاوندري.
مفاتيح واجهة برمجة التطبيقات
مفاتيح API هي أسرار ثابتة تحدد بمورد في Foundry.
استخدم مفاتيح API من أجل:
- النمذجة الأولية السريعة.
- بيئات اختبار معزولة حيث يكون الدوران ذو السر الواحد مقبولا.
المزايا: بسيط، غير معتمد على اللغة، ولا يتطلب الحصول على الرموز.
القيود: لا يمكن التعبير عن هوية المستخدم، ومن الصعب تحديد النطاق بشكل دقيق، ومن الصعب التدقيق. عادة لا تقبل في أعباء عمل الإنتاج المؤسسي ولا توصي بها مايكروسوفت.
لمزيد من المعلومات حول تفعيل المصادقة بدون مفتاح، راجع تكوين المصادقة بدون مفتاح باستخدام Microsoft Entra ID.
المصادقة باستخدام Microsoft Entra ID (بايثون)
يوضح المثال التالي كيفية المصادقة باستخدام 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 Cognitive Services scope
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>.cognitiveservices.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 يسرد نشر النماذج الخاصة بك، أو خطأ في المصادقة إذا كانت بيانات الاعتماد مفقودة أو لم يتم تكوين تعيين الدور.
Reference: 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>.cognitiveservices.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 access كاملة إلى المورد ولا يمكن تجميعها للمستخدمين أو الإجراءات المحددة. قم بتدوير المفاتيح بانتظام وتجنب التزامها بالتحكم في المصدر.
الناتج المتوقع: رد JSON يسرد نشر النموذج الخاص بك، أو خطأ 401 إذا كان مفتاح API غير صالح.
Reference: تدوير مفاتيح access API
مصفوفة دعم الميزات
راجع المصفوفة التالية لفهم القدرات في Foundry التي تدعم مفتاح API مقابل Microsoft Entra ID.
| القدرة أو الميزة | API key | Microsoft Entra ID | ملاحظات |
|---|---|---|---|
| استدلال النموذج الأساسي (الدردشة ، التضمينات) | نعم | نعم | مدعوم بالكامل. |
| عمليات الضبط الدقيق | نعم | نعم | تضيف Entra ID تدقيقا لكل رأس مال. |
| خدمة الوكلاء | لا | نعم | استخدم معرف Entra للوصول إلى أداة الهوية المدارة access. |
| Evaluations | لا | نعم | استخدم معرف إنترا. |
| تحليل أمان المحتوى للمكالمات | نعم | نعم | استخدم RBAC للحد من العمليات عالية الخطورة. |
| وظائف تحليل الدفعات (فهم المحتوى) | نعم | نعم | موصى ب Entra ID للحجم. |
| استخدام ملعب البوابة | نعم | نعم | يستخدم Playground وضع اتصال project. |
| عزل الشبكة باستخدام Private Link | نعم | نعم | يضيف Entra ID access مشروط. |
| أقل امتياز مع الأدوار المضمنة والمخصصة | لا | نعم | المفاتيح تعتمد على كل شيء أو لا شيء لكل مورد. |
| الهوية المدارة (النظام أو المعين من قبل المستخدم) | لا | نعم | يتيح تصريحا بدون سر. |
| إحالة المستخدم لكل طلب | لا | نعم | يحتوي الرمز على معرفات المستأجرين والكائنات. |
| الإلغاء (فوري) | مفتاح التدوير | إزالة الدور أو تعطيل المبدأ | ينطبق عمر الرمز القصير. |
| دعم في Auto pipelines | نعم (سري) | نعم (كيان الخدمة أو الهوية المدارة) | إنترا ID يقلل من الدوران السري. |
| واجهة برمجة تطبيقات المساعدين | نعم | نعم | أنصح باستخدام Entra ID. |
| الاستدلال الدفعي | نعم | نعم |
أنواع الهوية
تقوم موارد وتطبيقات Azure بالتحقق باستخدام أنواع هوية مختلفة، كل منها مصمم لسيناريوهات محددة. يمثل مستخدمو المستخدمون المستخدمين البشر، ويمثل رؤساء الخدمة التطبيقات أو العمليات المؤتمتة، وتوفر الهويات المدارة وسيلة آمنة وخالية من الاعتمادات لموارد Azure access خدمات أخرى. فهم هذه الفروقات يساعدك على اختيار الهوية المناسبة لتسجيل الدخول التفاعلي، أو التواصل بين التطبيقات، أو أتمتة عبء العمل.
يدعم Azure أنواع الهوية التالية.
| نوع الهوية | وصف |
|---|---|
| كيان المستخدم | المستخدم الفردي في Microsoft Entra ID |
| مدير الخدمة (تسجيل التطبيق) | هوية التطبيق التي تستخدم سر العميل أو الشهادة |
| الهوية المدارة (معين للنظام) | Azure resource-identity تدار تلقائيا من قبل المنصة. |
| الهوية المدارة (المعينة من قبل المستخدم) | هوية مستقلة ترتبط بموارد متعددة. |
نظرة عامة على الأدوار المضمنة
في Foundry، استخدم الأدوار المدمجة لفصل الإجراءات المسموح بها للمستخدم. معظم المؤسسات ترغب في فصل بين إجراءات التحكم ومستوى البيانات لأدوارها المدمجة. ويتوقع آخرون وجود دور مشترك بين البيانات ومستوى التحكم لتقليل عدد التعيينات المطلوبة. الجدول التالي يسرد السيناريوهات والأدوار المدمجة المقابلة في Foundry التي تناسب كل سيناريو بشكل أفضل.
| السيناريو | الأدوار المدمجة النموذجية | ملاحظات |
|---|---|---|
| بناء الوكلاء باستخدام نماذج منشورة مسبقا | مستخدم Azure الذكاء الاصطناعي | استخدام مستوى البيانات فقط؛ لا تكتب أي إدارة. |
| إدارة عمليات النشر أو ضبط النماذج | Azure الذكاء الاصطناعي Project Manager | يشمل نشر النماذج، إنشاء وتحديث. |
| تدوير المفاتيح أو إدارة الموارد | Azure AI Account Owner | امتياز كبير؛ فكر في دور مخصص لأقل الامتيازات. |
| إدارة الموارد، إدارة النشرات، بناء الوكلاء | Azure AI Owner | دور خدمة ذاتية عالي الامتيازات للمستخدمين الذين يحتاجون إلى access لكل من مستوى التحكم ومستوى البيانات. قم بالدمج مع Azure Monitor Reader إذا لزم الحاجة للملاحظة. |
| الملاحظة، التتبع، المراقبة | Azure AI User (minimum) | أضف Azure Monitor Reader على Application Insights. |
لفهم تفصيل الأدوار المدمجة وإجراءات التحكم ومستوى البيانات، راجع الرسم البياني التالي.
نصيحة
أنشئ دورا مخصصا إذا كان الدور المدمج يمنح صلاحيات زائدة لحالة الاستخدام الخاصة بك.
إعداد Microsoft Entra ID
للحصول على إرشادات عامة حول إعداد مصادقة Entra ID في Foundry، راجع إعداد المصادقة بدون مفتاح.
تأكد من أن مورد Microsoft Foundry الخاص بك يحتوي على نطاق فرعي مخصص معين. انظر النطاقات الفرعية المخصصة. يتطلب الأمر نطاقا فرعيا مخصصا للمصادقة المعتمدة على الرموز.
قم بتعيين الدور المدمج أو المخصص المطلوب لكل مدير. تحتاج إلى دور Owner أو User Access Administrator في النطاق المستهدف لتعيين الأدوار. تعيينات الأدوار الشائعة:
- Azure مستخدم الذكاء الاصطناعي: للمطورين الذين يحتاجون إلى البناء والاختبار باستخدام نماذج منشورة مسبقا.
- Azure مدير Project الذكاء الاصطناعي: لقادة الفريق الذين يحتاجون إلى إنشاء المشاريع وإدارة عمليات النشر.
- Azure مالك حساب الذكاء الاصطناعي: للمسؤولين الذين يحتاجون إلى إدارة موارد كاملة ويمكنهم تعيين مستخدم ذكاء اصطناعي Azure بشكل مشروط لمستوى البيانات access.
- Azure مالك الذكاء الاصطناعي: للمستخدمين الذين يحتاجون إلى إدارة موارد كاملة ومستوى بيانات access. مثال على أمر CLI لتعيين دور مستخدم Azure AI:
az role assignment create \ --assignee <principal-id> \ --role "Azure AI User" \ --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.CognitiveServices/accounts/<resource-name>للتحقق من تعيين الدور، قم بتشغيل
az role assignment list --assignee <principal-id> --scope <resource-scope>وتأكيد ظهور الدور في المخرج.(اختياري) بالنسبة لمدير الخدمة، أنشئ تسجيل تطبيق، أضف سر العميل أو الشهادة، وسجل معرف المستأجر، معرف العميل، والسر أو الشهادة.
(اختياري) بالنسبة لهوية مدارة، قم بتمكين الهوية المعينة من النظام على الخدمة المتصل أو إرفاق هوية معينة من المستخدم، ثم تعيين دور لها في مورد Foundry.
قم بإزالة المصادقة المستندة إلى المفتاح بعد أن يستخدم جميع المتصلين مصادقة الرمز المميز. قم اختياريا بتعطيل المصادقة المحلية في قوالب النشر.
Reference: تعيين أدوار Azure | access control القائم على الأدوار ل Foundry
استكشاف أخطاء المصادقة الشائعة
| Error | السبب | الحل |
|---|---|---|
| 401 غير مصرح به | رمز مفقود أو منتهية الصلاحية؛ مفتاح واجهة برمجة التطبيقات غير صالح | تحقق من أن نطاق اكتساب الرموز هو https://ai.azure.com/.default. أعد توليد مفتاح API إذا كنت تستخدم المصادقة المعتمدة على المفاتيح. |
| 403 ممنوع | تعيين دور مفقود في RBAC | خصص الدور المدمج المناسب (مثلا، Azure AI User) في نطاق المورد أو project. |
| AADSTS700016 | لم يتم العثور على طلب في المستأجر | تحقق من وجود تسجيل التطبيق في المستأجر الصحيح وأن معرف العميل صحيح. |
| نطاق فرعي مخصص مطلوب | يستخدم المورد نقطة نهاية إقليمية بدلا من نطاق فرعي مخصص | قم بتكوين نطاق فرعي مخصص مخصص على مورد Foundry. يتطلب التحقق من الهوية المعتمدة على الرموز نطاقا فرعيا مخصصا. |