ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح هذه المقالة كيفية إدارة الوصول (التخويل) إلى مساحات عمل التعلم الآلي من Azure. يمكنك استخدام التحكم في الوصول استنادا إلى الدور في Azure (Azure RBAC) لإدارة الوصول إلى موارد Azure، ما يمنح المستخدمين القدرة على إنشاء موارد جديدة أو استخدام الموارد الموجودة. يتم تعيين أدوار محددة للمستخدمين في معرف Microsoft Entra الخاص بك، والتي تمنح الوصول إلى الموارد. يوفر Azure كلا من الأدوار المضمنة والقدرة على إنشاء أدوار مخصصة.
تلميح
بينما تركز هذه المقالة على التعلم الآلي من Azure، توفر الخدمات الفردية إعدادات التحكم في الوصول استنادا إلى الدور الخاصة بها. على سبيل المثال، باستخدام المعلومات الواردة في هذه المقالة، يمكنك تكوين من يمكنه إرسال طلبات تسجيل النقاط إلى نموذج تم نشره كخدمة ويب على Azure Kubernetes Service. ولكن Azure Kubernetes Service توفر مجموعة خاصة بها من أدوار Azure. للحصول على معلومات RBAC الخاصة بالخدمة التي قد تكون مفيدة مع التعلم الآلي من Azure، راجع الارتباطات التالية:
تحذير
قد يحد تطبيق بعض الأدوار من وظائف واجهة المستخدم في استوديو التعلم الآلي من Azure للمستخدمين الآخرين. على سبيل المثال، إذا لم يكن دور المستخدم قادرا على إنشاء مثيل حساب، فلن يتوفر خيار إنشاء مثيل حساب في الاستوديو. هذا السلوك متوقع، ويمنع المستخدم من محاولة العمليات التي من شأنها إرجاع خطأ رفض الوصول.
الأدوار الافتراضية
تحتوي مساحات عمل التعلم الآلي من Azure على أدوار مضمنة متوفرة بشكل افتراضي. عند إضافة مستخدمين إلى مساحة عمل، يمكن تعيين أحد الأدوار التالية لهم.
دور | مستوى الوصول |
---|---|
عالم بيانات AzureML | يمكن تنفيذ جميع الإجراءات داخل مساحة عمل التعلم الآلي من Azure، باستثناء إنشاء موارد الحوسبة أو حذفها وتعديل مساحة العمل نفسها. |
عامل تشغيل حساب AzureML | يمكنه إنشاء موارد الحوسبة وإدارتها وحذفها والوصول إليها داخل مساحة عمل. |
قارئ | إجراءات للقراءة فقط في مساحة العمل. يمكن للقراء سرد الأصول وعرضها، بما في ذلك مخزن البيانات بيانات الاعتماد، في مساحة عمل. لا يمكن للقراء إنشاء هذه الأصول أو تحديثها. |
المساهم | عرض الأصول أو إنشائها أو تحريرها أو حذفها (إن أمكن) في مساحة عمل. على سبيل المثال، يمكن للمساهمين إنشاء تجربة، وإنشاء أو إرفاق مجموعة حساب، وإرسال تشغيل، ونشر خدمة ويب. |
مالك |
الوصول الكامل إلى مساحة العمل، بما في ذلك القدرة على عرض الأصول أو إنشائها أو تحريرها أو حذفها (إن أمكن) في مساحة العمل. بالإضافة إلى ذلك، يمكنك تغيير تعيينات الأدوار. |
بالإضافة إلى ذلك، تتمتع سجلات التعلم الآلي من Azure بدور مستخدم سجل التعلم الآلي من Azure الذي يمكن تعيينه إلى مورد سجل لمنح أذونات على مستوى المستخدم لعلماء البيانات. للحصول على أذونات على مستوى المسؤول لإنشاء السجلات أو حذفها، استخدم دور المساهم أو المالك.
دور | مستوى الوصول |
---|---|
مستخدم سجل AzureML | يمكن الحصول على السجلات وقراءة الأصول وكتابتها وحذفها داخلها. لا يمكن إنشاء موارد تسجيل جديدة أو حذفها. |
يمكنك الجمع بين الأدوار لمنح مستويات مختلفة من الوصول. على سبيل المثال، يمكنك منح مستخدم مساحة عمل أدوار كل من AzureML Data ScientistوAzureML Compute Operator للسماح للمستخدم بإجراء التجارب أثناء إنشاء الحسابات بطريقة الخدمة الذاتية.
هام
يمكن تحديد نطاق الوصول إلى الدور إلى مستويات متعددة في Azure. على سبيل المثال، قد لا يكون لدى شخص لديه حق وصول المالك إلى مساحة عمل حق وصول المالك إلى مجموعة الموارد التي تحتوي على مساحة العمل. لمزيد من المعلومات، راجع كيفية عمل Azure RBAC.
دور مسؤول Azure الذكاء الاصطناعي
قبل 11/19/2024، تم تعيين الهوية المدارة المعينة من قبل النظام التي تم إنشاؤها لمساحة العمل تلقائيا لدور المساهم لمجموعة الموارد التي تحتوي على مساحة العمل. مساحات العمل التي تم إنشاؤها بعد هذا التاريخ لها الهوية المدارة المعينة من قبل النظام المعينة لدور مسؤول Azure الذكاء الاصطناعي . يتم تحديد نطاق هذا الدور بشكل أضيق إلى الحد الأدنى من الأذونات المطلوبة للهوية المدارة لأداء مهامها.
دور مسؤول Azure الذكاء الاصطناعي لديه الأذونات التالية:
{
"permissions": [
{
"actions": [
"Microsoft.Authorization/*/read",
"Microsoft.CognitiveServices/*",
"Microsoft.ContainerRegistry/registries/*",
"Microsoft.DocumentDb/databaseAccounts/*",
"Microsoft.Features/features/read",
"Microsoft.Features/providers/features/read",
"Microsoft.Features/providers/features/register/action",
"Microsoft.Insights/alertRules/*",
"Microsoft.Insights/components/*",
"Microsoft.Insights/diagnosticSettings/*",
"Microsoft.Insights/generateLiveToken/read",
"Microsoft.Insights/logDefinitions/read",
"Microsoft.Insights/metricAlerts/*",
"Microsoft.Insights/metricdefinitions/read",
"Microsoft.Insights/metrics/read",
"Microsoft.Insights/scheduledqueryrules/*",
"Microsoft.Insights/topology/read",
"Microsoft.Insights/transactions/read",
"Microsoft.Insights/webtests/*",
"Microsoft.KeyVault/*",
"Microsoft.MachineLearningServices/workspaces/*",
"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action",
"Microsoft.ResourceHealth/availabilityStatuses/read",
"Microsoft.Resources/deployments/*",
"Microsoft.Resources/deployments/operations/read",
"Microsoft.Resources/subscriptions/operationresults/read",
"Microsoft.Resources/subscriptions/read",
"Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Storage/storageAccounts/*",
"Microsoft.Support/*",
"Microsoft.Search/searchServices/write",
"Microsoft.Search/searchServices/read",
"Microsoft.Search/searchServices/delete",
"Microsoft.Search/searchServices/indexes/*",
"Microsoft.DataFactory/factories/*"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
تحويل هوية موجودة يديرها النظام إلى دور مسؤول Azure الذكاء الاصطناعي
تلميح
نوصي بتحويل مساحات العمل التي تم إنشاؤها قبل 11/19/2024 لاستخدام دور مسؤول Azure الذكاء الاصطناعي. يتم تحديد نطاق دور مسؤول Azure الذكاء الاصطناعي بشكل أضيق من دور المساهم المستخدم سابقا ويتبع أساس الامتياز الأقل.
يمكنك تحويل مساحات العمل التي تم إنشاؤها قبل 11/19/2024 باستخدام إحدى الطرق التالية:
Azure REST API: استخدم
PATCH
طلبا إلى Azure REST API لمساحة العمل. يجب تعيين{"properties":{"allowRoleAssignmeentOnRG":true}}
نص الطلب . يوضحPATCH
المثال التالي طلبا باستخدامcurl
. استبدل<your-subscription>
و<resource-group-name>
<workspace-name>
و بقيم<YOUR-ACCESS-TOKEN>
السيناريو الخاص بك. لمزيد من المعلومات حول استخدام واجهات برمجة تطبيقات REST، تفضل بزيارة وثائق Azure REST API.curl -X PATCH https://management.azure.com/subscriptions/<your-subscription>/resourcegroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>?api-version=2024-04-01-preview -H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"
Azure CLI: استخدم
az ml workspace update
الأمر مع المعلمة--allow-roleassignment-on-rg true
. يقوم المثال التالي بتحديث مساحة عمل باسمmyworkspace
. يتطلب هذا الأمر إصدار ملحق Azure Machine Learning CLI 2.27.0 أو أحدث.az ml workspace update --name myworkspace --allow-roleassignment-on-rg true
Azure Python SDK: تعيين
allow_roleassignment_on_rg
خاصية كائن مساحة العمل إلىTrue
ثم تنفيذ عملية تحديث. يقوم المثال التالي بتحديث مساحة عمل باسمmyworkspace
. تتطلب هذه العملية الإصدار 1.17.0 من Azure Machine Learning SDK أو أحدث.ws = ml_client.workspaces.get(name="myworkspace") ws.allow_roleassignment_on_rg = True ws = ml_client.workspaces.begin_update(workspace=ws).result()
إدارة الوصول إلى مساحة العمل
إذا كنت مالك مساحة عمل، يمكنك إضافة أدوار لمساحة العمل وإزالتها. كما يمكنك تعيين أدوار للمستخدمين. استخدم الارتباطات التالية لاكتشاف كيفية إدارة الوصول:
- واجهة مستخدم مدخل Microsoft Azure
- بوويرشيل
- Azure CLI
- واجهة برمجة تطبيقات REST
- قوالب Azure Resource Manager
على سبيل المثال، استخدم Azure CLI لتعيين دور المساهم إلى joe@contoso.com لمجموعة الموارد هذه-rg باستخدام الأمر التالي:
az role assignment create --role "Contributor" --assignee "joe@contoso.com" --resource-group this-rg
استخدام مجموعات أمان Microsoft Entra لإدارة الوصول إلى مساحة العمل
يمكنك استخدام مجموعات أمان Microsoft Entra لإدارة الوصول إلى مساحات العمل. هذا النهج له الفوائد التالية:
- يمكن لقادة الفريق أو المشروع إدارة وصول المستخدم إلى مساحة العمل كمالكي مجموعة الأمان، دون الحاجة إلى دور المالك في مورد مساحة العمل مباشرة.
- يمكنك تنظيم أذونات المستخدمين وإدارتها وإبطالها على مساحة العمل والموارد الأخرى كمجموعة، دون الحاجة إلى إدارة الأذونات على أساس المستخدم حسب المستخدم.
- يساعدك استخدام مجموعات Microsoft Entra على تجنب الوصول إلى حد الاشتراك في تعيينات الأدوار.
لاستخدام مجموعات أمان Microsoft Entra:
- إنشاء مجموعة أمان.
- إضافة مالك المجموعة. لدى هذا المستخدم أذونات لإضافة أعضاء للمجموعة أو إزالتهم. لا يطلب من مالك المجموعة أن يكون عضوا في المجموعة، أو أن يكون له دور RBAC مباشر على مساحة العمل.
- قم بتعيين دور RBAC للمجموعة على مساحة العمل، مثل AzureML Data Scientist أو Reader أو Contributor.
- إضافة أعضاء المجموعة. يحصل الأعضاء على حق الوصول إلى مساحة العمل.
إنشاء دور مخصص
إذا كانت الأدوار المضمنة غير كافية، يمكنك إنشاء أدوار مخصصة. قد تمتلك الأدوار المخصصة أذونات موارد للقراءة والكتابة والحذف والحوسبة في مساحة العمل هذه. يمكنك إتاحة الدور على مستوى مساحة عمل محددة أو مستوى محدد لمجموعة الموارد أو مستوى اشتراك محدد.
ملاحظة
يجب أن تكون مالكا للمورد على هذا المستوى لإنشاء أدوار مخصصة داخل هذا المورد.
لإنشاء دور مخصص، قم أولا بإنشاء ملف JSON لتعريف الدور الذي يحدد الإذن والنطاق للدور. يحدد المثال التالي دورا مخصصا لعالم البيانات المخصص محدد النطاق على مستوى مساحة عمل محددة:
data_scientist_custom_role.json :
{
"Name": "Data Scientist Custom",
"IsCustom": true,
"Description": "Can run experiment but can't create or delete compute.",
"Actions": ["*"],
"NotActions": [
"Microsoft.MachineLearningServices/workspaces/*/delete",
"Microsoft.MachineLearningServices/workspaces/write",
"Microsoft.MachineLearningServices/workspaces/computes/*/write",
"Microsoft.MachineLearningServices/workspaces/computes/*/delete",
"Microsoft.Authorization/*/write"
],
"AssignableScopes": [
"/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>"
]
}
تلميح
يمكنك تغيير AssignableScopes
الحقل لتعيين نطاق هذا الدور المخصص على مستوى الاشتراك أو مستوى مجموعة الموارد أو مستوى مساحة عمل معين.
الدور المخصص السابق هو مجرد مثال، راجع بعض الأدوار المخصصة المقترحة لخدمة التعلم الآلي من Azure.
يمكن لهذا الدور المخصص القيام بكل شيء في مساحة العمل باستثناء الإجراءات التالية:
- لا يمكن حذف مساحة العمل.
- لا يمكنه إنشاء مساحة العمل أو تحديثها.
- لا يمكنه إنشاء موارد الحوسبة أو تحديثها.
- لا يمكنه حذف موارد الحوسبة.
- لا يمكنه إضافة تعيينات الأدوار أو حذفها أو تغييرها.
لنشر هذا الدور المخصص، استخدم أمر Azure CLI التالي:
az role definition create --role-definition data_scientist_custom_role.json
بعد النشر، يصبح هذا الدور متوفرا في مساحة العمل المحددة. يمكنك الآن إضافة هذا الدور وتعيينه في مدخل Microsoft Azure.
لمزيد من المعلومات حول الأدوار المخصصة، راجع أدوار Azure المخصصة.
عمليات التعلم الآلي من Azure
لمزيد من المعلومات حول العمليات (الإجراءات وليس الإجراءات) القابلة للاستخدام مع الأدوار المخصصة، راجع عمليات موفر الموارد. يمكنك أيضا استخدام أمر Azure CLI التالي لسرد العمليات:
az provider operation show –n Microsoft.MachineLearningServices
الأدوار المخصصة بالقائمة
في Azure CLI، قم بتشغيل الأمر التالي:
az role definition list --subscription <subscriptionId> --custom-role-only true
لعرض تعريف الدور لدور مخصص معين، استخدم أمر Azure CLI التالي.
<roleName>
يجب أن يكون بالتنسيق نفسه الذي تم إرجاعه بواسطة الأمر السابق:
az role definition list -n <roleName> --subscription <subscriptionId>
تحديث الدور المخصص
في Azure CLI، قم بتشغيل الأمر التالي:
az role definition update --role-definition update_def.json --subscription <subscriptionId>
تحتاج إلى الحصول على أذونات على النطاق بأكمله لتعريف دورك الجديد. على سبيل المثال، إذا كان لهذا الدور الجديد نطاق عبر ثلاثة اشتراكات، فستحتاج إلى الحصول على أذونات على جميع الاشتراكات الثلاثة.
ملاحظة
قد تستغرق تحديثات الدور من 15 دقيقة إلى ساعة لتطبيقها عبر جميع تعيينات الأدوار في هذا النطاق.
استخدام قوالب Azure Resource Manager للتكرار
إذا كنت تتوقع أنك بحاجة إلى إعادة إنشاء تعيينات دور معقدة، يمكن أن يكون قالب Azure Resource Manager مساعدة كبيرة. يوضح قالب machine-learning-dependencies-role-assignment كيفية تحديد تعيينات الأدوار في التعليمات البرمجية المصدر لإعادة استخدامها.
السيناريوهات الشائعة
الجدول التالي هو ملخص لأنشطة التعلم الآلي من Azure والأذونات المطلوبة لتنفيذها على أقل تقدير. على سبيل المثال، إذا كان يمكن تنفيذ نشاط مع نطاق مساحة عمل (العمود 4)، فإن جميع النطاقات الأعلى مع هذا الإذن تعمل أيضا تلقائيا. بالنسبة لأنشطة معينة، تختلف الأذونات بين واجهات برمجة التطبيقات V1 وV2.
هام
جميع المسارات في هذا الجدول التي تبدأ /
نسبية إلىMicrosoft.MachineLearningServices/
النشاط | نطاق على مستوى الاشتراك | نطاق مستوى مجموعة الموارد | نطاق على مستوى مساحة العمل |
---|---|---|---|
إنشاء مساحة عمل جديدة 1 | غير مطلوب | المالك أو المساهم أو الدور المخصص الذي يسمح بما يلي: Microsoft.Resources/deployments/* ، Microsoft.MachineLearningServices/workspaces/write وأذونات كتابة الموارد التابعة (راجع النقطة 3 أدناه) |
N/A (يصبح مالكا أو يرث دور نطاق أعلى بعد الإنشاء) |
طلب حصة حساب Aml على مستوى الاشتراك أو تعيين الحصة النسبية على مستوى مساحة العمل | المالك أو المساهم أو الدور المخصص السماح /locations/updateQuotas/action في نطاق الاشتراك |
غير مصرح به | غير مصرح به |
إنشاء مجموعة حوسبة جديدة | غير مطلوب | غير مطلوب | يسمح المالك أو المساهم أو الدور المخصص بما يلي: /workspaces/computes/write |
إنشاء مثيل حساب جديد | غير مطلوب | غير مطلوب | يسمح المالك أو المساهم أو الدور المخصص بما يلي: /workspaces/computes/write |
إرسال أي نوع من أنواع التشغيل (V1) | غير مطلوب | غير مطلوب | المالك أو المساهم أو الدور المخصص الذي يسمح بما يلي: /workspaces/*/read ، /workspaces/environments/write ، /workspaces/experiments/runs/write ، /workspaces/metadata/artifacts/write ، /workspaces/metadata/snapshots/write ، /workspaces/environments/build/action ، ، /workspaces/experiments/runs/submit/action /workspaces/environments/readSecrets/action |
إرسال أي نوع من التشغيل (V2) | غير مطلوب | غير مطلوب | المالك أو المساهم أو الدور المخصص الذي يسمح بما يلي: /workspaces/*/read ، /workspaces/environments/write ، /workspaces/jobs/* ، /workspaces/metadata/artifacts/write ، ، /workspaces/environments/build/action /workspaces/environments/readSecrets/action |
نشر المسارات ونقاط النهاية (V1) | غير مطلوب | غير مطلوب | المالك أو المساهم أو الدور المخصص الذي يسمح بما يلي: /workspaces/endpoints/pipelines/* ، ، /workspaces/pipelinedrafts/* /workspaces/modules/* |
نشر المسارات ونقاط النهاية (V2) | غير مطلوب | غير مطلوب | المالك أو المساهم أو الدور المخصص الذي يسمح بما يلي: /workspaces/endpoints/pipelines/* ، ، /workspaces/pipelinedrafts/* /workspaces/components/* |
إرفاق مورد AKS 2 | غير مطلوب | المالك أو المساهم في مجموعة الموارد التي تحتوي على AKS | |
نشر نموذج مسجل على مورد AKS/ACI | غير مطلوب | غير مطلوب | المالك أو المساهم أو الدور المخصص الذي يسمح بما يلي: /workspaces/services/aks/write ، /workspaces/services/aci/write |
التسجيل مقابل نقطة نهاية AKS المنشورة | غير مطلوب | غير مطلوب | المالك أو المساهم أو الدور المخصص الذي يسمح بما يلي: /workspaces/services/aks/score/action ، /workspaces/services/aks/listkeys/action (عندما لا تستخدم مصادقة Microsoft Entra) OR /workspaces/read (عند استخدام مصادقة الرمز المميز) |
الوصول إلى التخزين باستخدام دفاتر الملاحظات التفاعلية | غير مطلوب | غير مطلوب | المالك أو المساهم أو الدور المخصص الذي يسمح بما يلي: /workspaces/computes/read ، /workspaces/notebooks/samples/read ، /workspaces/notebooks/storage/* ، /workspaces/listStorageAccountKeys/action ، /workspaces/listNotebookAccessToken/read |
إنشاء دور مخصص جديد | السماح للمالك أو المساهم أو الدور المخصص Microsoft.Authorization/roleDefinitions/write |
غير مطلوب | يسمح المالك أو المساهم أو الدور المخصص بما يلي: /workspaces/computes/write |
إنشاء/إدارة نقاط النهاية والنشر عبر الإنترنت | غير مطلوب | للنشر على الاستوديو، Microsoft.Resources/deployments/write |
المالك أو المساهم أو الدور المخصص الذي يسمح ب Microsoft.MachineLearningServices/workspaces/onlineEndpoints/* . |
استرداد بيانات اعتماد المصادقة لنقاط النهاية عبر الإنترنت | غير مطلوب | غير مطلوب | المالك أو المساهم أو الدور المخصص الذي يسمح و Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listkeys/action |
إذا تلقيت فشلا عند محاولة إنشاء مساحة عمل للمرة الأولى، فتأكد من أن دورك يسمح .
Microsoft.MachineLearningServices/register/action
يسمح لك هذا الإجراء بتسجيل موفر موارد التعلم الآلي من Azure مع اشتراك Azure الخاص بك.عند إرفاق نظام مجموعة AKS، تحتاج أيضا إلى أن يكون لديك دور مسؤول نظام مجموعة خدمة Azure Kubernetes على نظام المجموعة.
لا تتضمن هذه السيناريوهات الأذونات اللازمة لإنشاء موارد تابعة لمساحة العمل. لمزيد من المعلومات، راجع أذونات الكتابة ل Storage و OperationalInsights و Key Vault و Container Registry.
عند إرفاق الهويات المدارة من قبل المستخدم، تحتاج أيضا إلى الحصول
Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
على إذن على الهويات. لمزيد من المعلومات، راجع أدوار Azure المضمنة للهوية.عند تحديد شبكة فرعية مخصصة للحساب بلا خادم، تحتاج أيضا إلى أن يكون لديك
Microsoft.Network/virtualNetworks/subnets/join/action
على الشبكة الظاهرية. لمزيد من المعلومات، راجع أذونات Azure للشبكات.
النشر في شبكة ظاهرية أو شبكة فرعية
لتوزيع الموارد في شبكة ظاهرية أو شبكة فرعية، يجب أن يكون لحساب المستخدم الخاص بك أذونات للإجراءات التالية في التحكم في الوصول استناداً إلى الدور في Azure (Azure RBAC):
- "Microsoft.Network/*/read" على مورد الشبكة الظاهرية. هذا الإذن غير مطلوب لنشر قالب Azure Resource Manager (ARM).
- "Microsoft.Network/virtualNetworks/join/action" على مورد الشبكة الافتراضية.
- "Microsoft.Network/virtualNetworks/subnets/join/action" على مورد الشبكة الفرعية.
لمزيد من المعلومات حول Azure RBAC مع الشبكات، راجع الأدوار المضمنة في الشبكات
الاختلافات بين إجراءات واجهات برمجة التطبيقات V1 وV2
هناك اختلافات معينة بين إجراءات واجهات برمجة التطبيقات V1 وواجهات برمجة التطبيقات V2.
ذخر | مسار الإجراء ل V1 API | مسار الإجراء ل V2 API |
---|---|---|
مجموعة البيانات | Microsoft.MachineLearningServices/workspaces/datasets | Microsoft.MachineLearningServices/workspaces/datasets/versions |
عمليات تشغيل التجربة والمهام | Microsoft.MachineLearningServices/workspaces/experiments | Microsoft.MachineLearningServices/workspaces/jobs |
نماذج | Microsoft.MachineLearningServices/workspaces/models | Microsoft.MachineLearningServices/workspaces/models/versions |
الوحدات والمكونات | Microsoft.MachineLearningServices/workspaces/modules | Microsoft.MachineLearningServices/workspaces/components |
يمكنك جعل الأدوار المخصصة متوافقة مع كل من V1 وV2 APIs عن طريق تضمين كلا الإجراءين أو استخدام أحرف البدل التي تتضمن كلا الإجراءين، على سبيل المثال Microsoft.MachineLearningServices/workspaces/datasets/*/read
.
إنشاء مساحة عمل باستخدام مفتاح يديره العميل
عند استخدام مفتاح مدار من قبل العميل (CMK)، يتم استخدام Azure Key Vault لتخزين المفتاح. يجب أن يكون للمستخدم أو كيان الخدمة المستخدم لإنشاء مساحة العمل حق وصول المالك أو المساهم إلى مخزن المفاتيح.
إذا تم تكوين مساحة العمل الخاصة بك بهوية مدارة معينة من قبل المستخدم، يجب منح الهوية الأدوار التالية. تسمح هذه الأدوار للهوية المدارة بإنشاء موارد Azure Storage وAzure Cosmos DB وAzure Search المستخدمة عند استخدام مفتاح مدار من قبل العميل:
Microsoft.Storage/storageAccounts/write
Microsoft.Search/searchServices/write
Microsoft.DocumentDB/databaseAccounts/write
داخل key vault، يجب أن يكون لدى المستخدم أو كيان الخدمة حق الوصول إلى المفتاح من خلال نهج الوصول إلى key vault والحصول عليهوحذفهومسحه . لمزيد من المعلومات، راجع أمان Azure Key Vault.
الهوية المدارة المعينة من قبل المستخدم مع نظام مجموعة حساب التعلم الآلي من Azure
لتعيين هوية معينة من قبل المستخدم إلى مجموعة حوسبة التعلم الآلي من Azure، تحتاج إلى أذونات الكتابة لإنشاء الحساب ودور عامل تشغيل الهوية المدارة. لمزيد من المعلومات حول Azure RBAC مع الهويات المدارة، اقرأ كيفية إدارة الهوية المعينة من قبل المستخدم
عمليات MLflow
لتنفيذ عمليات MLflow مع مساحة عمل التعلم الآلي من Azure، استخدم النطاقات التالية دورك المخصص:
عملية MLflow | نطاق |
---|---|
(V1) سرد التجارب أو قراءتها أو إنشائها أو تحديثها أو حذفها | Microsoft.MachineLearningServices/workspaces/experiments/* |
(V2) سرد المهام أو قراءتها أو إنشائها أو تحديثها أو حذفها | Microsoft.MachineLearningServices/workspaces/jobs/* |
احصل على نموذج مسجل بالاسم، وجلب قائمة بجميع النماذج المسجلة في السجل، وابحث عن النماذج المسجلة، وأحدث نماذج الإصدار لكل مرحلة طلبات، والحصول على إصدار نموذج مسجل، وإصدارات نموذج البحث، والحصول على URI حيث يتم تخزين البيانات الاصطناعية لإصدار النموذج، والبحث عن عمليات التشغيل بواسطة معرفات التجربة | Microsoft.MachineLearningServices/workspaces/models/*/read |
إنشاء نموذج مسجل جديد، وتحديث اسم/وصف نموذج مسجل، وإعادة تسمية النموذج المسجل الحالي، وإنشاء إصدار جديد من النموذج، وتحديث وصف إصدار النموذج، ونقل نموذج مسجل إلى إحدى المراحل | Microsoft.MachineLearningServices/workspaces/models/*/write |
حذف نموذج مسجل مع جميع إصداراته، وحذف إصدارات محددة من نموذج مسجل | Microsoft.MachineLearningServices/workspaces/models/*/delete |
أمثلة على الأدوار المخصصة
عالم البيانات
يسمح لعالم البيانات بإجراء جميع العمليات داخل مساحة العمل باستثناء:
- إنشاء حساب
- نشر النماذج إلى مجموعة AKS للإنتاج
- نشر نقطة نهاية البنية الأساسية لبرنامج ربط العمليات التجارية في الإنتاج
data_scientist_custom_role.json :
{
"Name": "Data Scientist Custom",
"IsCustom": true,
"Description": "Can run experiment but can't create or delete compute or deploy production endpoints.",
"Actions": [
"Microsoft.MachineLearningServices/workspaces/*/read",
"Microsoft.MachineLearningServices/workspaces/*/action",
"Microsoft.MachineLearningServices/workspaces/*/delete",
"Microsoft.MachineLearningServices/workspaces/*/write"
],
"NotActions": [
"Microsoft.MachineLearningServices/workspaces/delete",
"Microsoft.MachineLearningServices/workspaces/write",
"Microsoft.MachineLearningServices/workspaces/computes/*/write",
"Microsoft.MachineLearningServices/workspaces/computes/*/delete",
"Microsoft.Authorization/*",
"Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
"Microsoft.MachineLearningServices/workspaces/listKeys/action",
"Microsoft.MachineLearningServices/workspaces/services/aks/write",
"Microsoft.MachineLearningServices/workspaces/services/aks/delete",
"Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/write"
],
"AssignableScopes": [
"/subscriptions/<subscriptionId>"
]
}
عالم البيانات مقيد
تعريف دور أكثر تقييدا دون أحرف بدل في الإجراءات المسموح بها. يمكنه تنفيذ جميع العمليات داخل مساحة عمل باستثناء:
- إنشاء حساب
- نشر النماذج إلى مجموعة AKS للإنتاج
- نشر نقطة نهاية البنية الأساسية لبرنامج ربط العمليات التجارية في الإنتاج
data_scientist_restricted_custom_role.json
:
{
"Name": "Data Scientist Restricted Custom",
"IsCustom": true,
"Description": "Can run experiment but can't create or delete compute or deploy production endpoints",
"Actions": [
"Microsoft.MachineLearningServices/workspaces/*/read",
"Microsoft.MachineLearningServices/workspaces/computes/start/action",
"Microsoft.MachineLearningServices/workspaces/computes/stop/action",
"Microsoft.MachineLearningServices/workspaces/computes/restart/action",
"Microsoft.MachineLearningServices/workspaces/computes/applicationaccess/action",
"Microsoft.MachineLearningServices/workspaces/notebooks/storage/write",
"Microsoft.MachineLearningServices/workspaces/notebooks/storage/delete",
"Microsoft.MachineLearningServices/workspaces/experiments/runs/write",
"Microsoft.MachineLearningServices/workspaces/experiments/write",
"Microsoft.MachineLearningServices/workspaces/experiments/runs/submit/action",
"Microsoft.MachineLearningServices/workspaces/pipelinedrafts/write",
"Microsoft.MachineLearningServices/workspaces/metadata/snapshots/write",
"Microsoft.MachineLearningServices/workspaces/metadata/artifacts/write",
"Microsoft.MachineLearningServices/workspaces/environments/write",
"Microsoft.MachineLearningServices/workspaces/models/*/write",
"Microsoft.MachineLearningServices/workspaces/modules/write",
"Microsoft.MachineLearningServices/workspaces/components/*/write",
"Microsoft.MachineLearningServices/workspaces/datasets/*/write",
"Microsoft.MachineLearningServices/workspaces/datasets/*/delete",
"Microsoft.MachineLearningServices/workspaces/computes/listNodes/action",
"Microsoft.MachineLearningServices/workspaces/environments/build/action"
],
"NotActions": [
"Microsoft.MachineLearningServices/workspaces/computes/write",
"Microsoft.MachineLearningServices/workspaces/write",
"Microsoft.MachineLearningServices/workspaces/computes/delete",
"Microsoft.MachineLearningServices/workspaces/delete",
"Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
"Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action",
"Microsoft.MachineLearningServices/workspaces/listKeys/action",
"Microsoft.Authorization/*",
"Microsoft.MachineLearningServices/workspaces/datasets/registered/profile/read",
"Microsoft.MachineLearningServices/workspaces/datasets/registered/preview/read",
"Microsoft.MachineLearningServices/workspaces/datasets/unregistered/profile/read",
"Microsoft.MachineLearningServices/workspaces/datasets/unregistered/preview/read",
"Microsoft.MachineLearningServices/workspaces/datasets/registered/schema/read",
"Microsoft.MachineLearningServices/workspaces/datasets/unregistered/schema/read",
"Microsoft.MachineLearningServices/workspaces/datastores/write",
"Microsoft.MachineLearningServices/workspaces/datastores/delete"
],
"AssignableScopes": [
"/subscriptions/<subscriptionId>"
]
}
عالم بيانات MLflow
يسمح لعالم البيانات بإجراء جميع العمليات المدعومة من MLflow Azure Machine Learning باستثناء:
- إنشاء حساب
- نشر النماذج إلى مجموعة AKS للإنتاج
- نشر نقطة نهاية البنية الأساسية لبرنامج ربط العمليات التجارية في الإنتاج
mlflow_data_scientist_custom_role.json :
{
"Name": "MLFlow Data Scientist Custom",
"IsCustom": true,
"Description": "Can perform azureml mlflow integrated functionalities that includes mlflow tracking, projects, model registry",
"Actions": [
"Microsoft.MachineLearningServices/workspaces/experiments/*",
"Microsoft.MachineLearningServices/workspaces/jobs/*",
"Microsoft.MachineLearningServices/workspaces/models/*"
],
"NotActions": [
"Microsoft.MachineLearningServices/workspaces/delete",
"Microsoft.MachineLearningServices/workspaces/write",
"Microsoft.MachineLearningServices/workspaces/computes/*/write",
"Microsoft.MachineLearningServices/workspaces/computes/*/delete",
"Microsoft.Authorization/*",
"Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
"Microsoft.MachineLearningServices/workspaces/listKeys/action",
"Microsoft.MachineLearningServices/workspaces/services/aks/write",
"Microsoft.MachineLearningServices/workspaces/services/aks/delete",
"Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/write"
],
"AssignableScopes": [
"/subscriptions/<subscriptionId>"
]
}
MLOps
يسمح لك بتعيين دور إلى كيان خدمة واستخدام ذلك لأتمتة مسارات MLOps الخاصة بك. على سبيل المثال، لإرسال عمليات تشغيل مقابل البنية الأساسية لبرنامج ربط العمليات التجارية المنشورة بالفعل:
mlops_custom_role.json :
{
"Name": "MLOps Custom",
"IsCustom": true,
"Description": "Can run pipelines against a published pipeline endpoint",
"Actions": [
"Microsoft.MachineLearningServices/workspaces/read",
"Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/read",
"Microsoft.MachineLearningServices/workspaces/metadata/artifacts/read",
"Microsoft.MachineLearningServices/workspaces/metadata/snapshots/read",
"Microsoft.MachineLearningServices/workspaces/environments/read",
"Microsoft.MachineLearningServices/workspaces/metadata/secrets/read",
"Microsoft.MachineLearningServices/workspaces/modules/read",
"Microsoft.MachineLearningServices/workspaces/components/read",
"Microsoft.MachineLearningServices/workspaces/datasets/*/read",
"Microsoft.MachineLearningServices/workspaces/datastores/read",
"Microsoft.MachineLearningServices/workspaces/environments/write",
"Microsoft.MachineLearningServices/workspaces/experiments/runs/read",
"Microsoft.MachineLearningServices/workspaces/experiments/runs/write",
"Microsoft.MachineLearningServices/workspaces/experiments/runs/submit/action",
"Microsoft.MachineLearningServices/workspaces/experiments/jobs/read",
"Microsoft.MachineLearningServices/workspaces/experiments/jobs/write",
"Microsoft.MachineLearningServices/workspaces/metadata/artifacts/write",
"Microsoft.MachineLearningServices/workspaces/metadata/snapshots/write",
"Microsoft.MachineLearningServices/workspaces/environments/build/action",
],
"NotActions": [
"Microsoft.MachineLearningServices/workspaces/computes/write",
"Microsoft.MachineLearningServices/workspaces/write",
"Microsoft.MachineLearningServices/workspaces/computes/delete",
"Microsoft.MachineLearningServices/workspaces/delete",
"Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
"Microsoft.MachineLearningServices/workspaces/listKeys/action",
"Microsoft.Authorization/*"
],
"AssignableScopes": [
"/subscriptions/<subscriptionId>"
]
}
مسؤول مساحة العمل
يسمح لك بتنفيذ جميع العمليات ضمن نطاق مساحة العمل، باستثناء:
- إنشاء مساحة عمل جديدة
- تعيين حصص نسبية على مستوى الاشتراك أو مساحة العمل
لا يمكن لمسؤول مساحة العمل أيضا إنشاء دور جديد. يمكنه فقط تعيين أدوار مضمنة أو مخصصة موجودة ضمن نطاق مساحة العمل الخاصة بهم:
workspace_admin_custom_role.json :
{
"Name": "Workspace Admin Custom",
"IsCustom": true,
"Description": "Can perform all operations except quota management and upgrades",
"Actions": [
"Microsoft.MachineLearningServices/workspaces/*/read",
"Microsoft.MachineLearningServices/workspaces/*/action",
"Microsoft.MachineLearningServices/workspaces/*/write",
"Microsoft.MachineLearningServices/workspaces/*/delete",
"Microsoft.Authorization/roleAssignments/*"
],
"NotActions": [
"Microsoft.MachineLearningServices/workspaces/write"
],
"AssignableScopes": [
"/subscriptions/<subscriptionId>"
]
}
تسمية البيانات
هناك دور مضمن لتسمية البيانات، يتم تحديد نطاقه فقط لتسمية البيانات. تمنح الأدوار المخصصة التالية مستويات أخرى من الوصول لمشروع تسمية البيانات.
يسمح لك قائد فريق التسمية بمراجعة مجموعة البيانات المسماة ورفضها وعرض رؤى التسمية. بالإضافة إلى ذلك، يسمح لك هذا الدور أيضا بأداء دور المسمى.
labeling_team_lead_custom_role.json :
{
"Name": "Labeling Team Lead",
"IsCustom": true,
"Description": "Team lead for Labeling Projects",
"Actions": [
"Microsoft.MachineLearningServices/workspaces/read",
"Microsoft.MachineLearningServices/workspaces/labeling/labels/read",
"Microsoft.MachineLearningServices/workspaces/labeling/labels/write",
"Microsoft.MachineLearningServices/workspaces/labeling/labels/reject/action",
"Microsoft.MachineLearningServices/workspaces/labeling/labels/update/action",
"Microsoft.MachineLearningServices/workspaces/labeling/projects/read",
"Microsoft.MachineLearningServices/workspaces/labeling/projects/summary/read"
],
"NotActions": [
"Microsoft.MachineLearningServices/workspaces/labeling/projects/write",
"Microsoft.MachineLearningServices/workspaces/labeling/projects/delete",
"Microsoft.MachineLearningServices/workspaces/labeling/export/action"
],
"AssignableScopes": [
"/subscriptions/<subscriptionId>"
]
}
استكشاف الأخطاء وإصلاحها
فيما يلي بعض الأشياء التي يجب أن تكون على علم بها أثناء استخدام Azure RBAC:
عند إنشاء مورد في Azure، مثل مساحة عمل، فأنت لست مالك المورد مباشرة. يتم توريث دورك من أعلى دور نطاق يتم تخويلك مقابله في هذا الاشتراك. على سبيل المثال، إذا كنت مسؤول شبكة ولديك الأذونات لإنشاء مساحة عمل التعلم الآلي، تعيين دور مسؤول الشبكة مقابل مساحة العمل هذه. ليس دور المالك .
لتنفيذ عمليات الحصة النسبية في مساحة عمل، تحتاج إلى أذونات على مستوى الاشتراك. وهذا يعني أن تعيين حصة نسبية على مستوى الاشتراك أو حصة نسبية على مستوى مساحة العمل لموارد الحوسبة المدارة لا يمكن أن يحدث إلا إذا كان لديك أذونات الكتابة في نطاق الاشتراك.
من أجل النشر على الاستوديو، تحتاج إلى
Microsoft.Resources/deployments/write
ANDMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write
. بالنسبة إلى عمليات نشر SDK/CLI، تحتاج إلىMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write
. اتصل بمالك مساحة العمل/مجموعة الموارد للحصول على الأذونات الإضافية.عندما يكون هناك تعيينان للدور لنفس مستخدم Microsoft Entra مع أقسام متعارضة من Actions/NotActions، قد لا تسري عملياتك المدرجة في NotActions من دور واحد إذا تم إدراجها أيضا كإجراءات في دور آخر. لمعرفة المزيد حول كيفية تحليل Azure لتعيينات الأدوار، اقرأ كيف يحدد Azure RBAC ما إذا كان لدى المستخدم حق الوصول إلى مورد
قد يستغرق الأمر في بعض الأحيان ما يصل إلى ساعة واحدة حتى تسري تعيينات الأدوار الجديدة على الأذونات المخزنة مؤقتا عبر المكدس.
العودة إلى دور المساهم
إذا قمت بإنشاء مساحة عمل جديدة وواجهت أخطاء في تعيين الدور الافتراضي الجديد لمسؤول Azure الذكاء الاصطناعي للهوية المدارة لمساحة العمل، فاستخدم الخطوات التالية للعودة إلى دور المساهم:
هام
لا نوصي بالرجوع إلى دور المساهم ما لم تواجه مشاكل. إذا كان إرجاع مساحة عمل يحل المشكلات التي تواجهها، فالرجاء تسجيل حادث دعم بمعلومات حول المشكلات التي تم حلها حتى نتمكن من مواصلة استثمارها.
إذا كنت ترغب في العودة إلى دور المساهم كافتراضي لمساحات العمل الجديدة، فافتح طلب دعم بتفاصيل اشتراك Azure واطلب تغيير اشتراكك لاستخدام دور المساهم كافتراضي للهوية المدارة المعينة من قبل النظام لمساحات العمل الجديدة.
حذف تعيين الدور للهوية المدارة لمساحة العمل. نطاق تعيين الدور هذا هو مجموعة الموارد التي تحتوي على مساحة العمل، لذلك يجب حذف الدور من مجموعة الموارد.
تلميح
الهوية المدارة المعينة من قبل النظام لمساحة العمل هي نفس اسم مساحة العمل.
من مدخل Microsoft Azure، انتقل إلى مجموعة الموارد التي تحتوي على مساحة العمل. حدد Access control (IAM)، ثم حدد Role assignments. في قائمة تعيينات الأدوار، ابحث عن تعيين الدور للهوية المدارة. حدده، ثم حدد حذف.
للحصول على معلومات حول حذف تعيين دور، راجع إزالة تعيينات الأدوار.
إنشاء تعيين دور جديد في مجموعة الموارد لدور المساهم . عند إضافة تعيين الدور هذا، حدد الهوية المدارة لمساحة العمل كمعين له. اسم الهوية المدارة المعينة من قبل النظام هو نفس اسم مساحة العمل.
- من مدخل Microsoft Azure، انتقل إلى مجموعة الموارد التي تحتوي على مساحة العمل. حدد Access control (IAM)، ثم حدد Add role assignment.
- من علامة التبويب الدور ، حدد المساهم.
- من علامة التبويب Members ، حدد Managed identity، + Select members، ans قم بتعيين القائمة المنسدلة Managed identity إلى مساحة عمل التعلم الآلي من Azure. إذا كانت مساحة العمل عبارة عن مساحة عمل مركزية، فحدد Azure الذكاء الاصطناعي hub بدلا من ذلك. في الحقل تحديد ، أدخل اسم مساحة العمل. حدد مساحة العمل من القائمة، ثم حدد تحديد.
- من علامة التبويب مراجعة + تعيين ، حدد مراجعة + تعيين.