إدارة الوصول إلى مساحة عمل التعلم الآلي من Azure
في هذه المقالة، ستتعرف على كيفية إدارة الوصول (التفويض) إلى مساحة عمل Azure التعلم الآلي. يستخدم التحكم في الوصول المستند إلى دور Azure (Azure RBAC) لإدارة الوصول إلى موارد Azure، مثل القدرة على إنشاء موارد جديدة أو استخدام الموارد الموجودة. يتم تعيين أدوار محددة للمستخدمين في Azure Active Directory (Azure AD) تمنح حق الوصول إلى الموارد. يوفر Azure أدوارا مضمنة وقدرة على إنشاء أدوار مخصصة.
تلميح
بينما تركز هذه المقالة على Azure التعلم الآلي، توفر الخدمات الفردية التي يعتمد عليها Azure ML إعدادات RBAC الخاصة بها. على سبيل المثال، باستخدام المعلومات الواردة في هذه المقالة، يمكنك تكوين من يمكنه إرسال طلبات تسجيل النقاط إلى نموذج تم نشره كخدمة ويب على خدمة Azure Kubernetes. لكن Azure Kubernetes Service توفر مجموعة خاصة بها من أدوار Azure. للحصول على معلومات RBAC الخاصة بالخدمة والتي قد تكون مفيدة مع Azure التعلم الآلي، راجع الارتباطات التالية:
تحذير
قد يؤدي تطبيق بعض الأدوار إلى تقييد وظائف واجهة المستخدم في استوديو Azure التعلم الآلي للمستخدمين الآخرين. على سبيل المثال، إذا لم يكن لدى دور المستخدم القدرة على إنشاء مثيل حوسبة، فلن يتوفر خيار إنشاء مثيل حوسبة في الاستوديو. من المتوقع حدوث هذا السلوك، ويمنع المستخدم من محاولة العمليات التي من شأنها إرجاع خطأ تم رفض الوصول.
الأدوار الافتراضية
تحتوي مساحات عمل Azure التعلم الآلي على أربعة أدوار مضمنة متوفرة بشكل افتراضي. عند إضافة مستخدمين إلى مساحة عمل، يمكن تعيين أحد الأدوار المضمنة الموضحة أدناه.
| الدور | مستوى الوصول |
|---|---|
| AzureML Data Scientist | يمكن تنفيذ كافة الإجراءات داخل مساحة عمل Azure التعلم الآلي، باستثناء إنشاء موارد الحوسبة أو حذفها وتعديل مساحة العمل نفسها. |
| قارئ | إجراءات للقراءة فقط في مساحة العمل. يمكن للقراء سرد الأصول وعرضها، بما في ذلك بيانات اعتماد مخزن البيانات ، في مساحة عمل. لا يمكن للقراء إنشاء هذه الأصول أو تحديثها. |
| مساهم | عرض الأصول أو إنشائها أو تحريرها أو حذفها (حيثما ينطبق ذلك) في مساحة عمل. على سبيل المثال، يمكن للمساهمين إنشاء تجربة، وإنشاء أو إرفاق مجموعة حوسبة، وإرسال تشغيل، ونشر خدمة ويب. |
| مالك | الوصول الكامل إلى مساحة العمل، بما في ذلك القدرة على عرض الأصول أو إنشائها أو تحريرها أو حذفها (حيثما ينطبق ذلك) في مساحة العمل. بالإضافة إلى ذلك، يمكنك تغيير تعيينات الأدوار. |
هام
يمكن تحديد نطاق الوصول إلى الدور إلى مستويات متعددة في Azure. على سبيل المثال، قد لا يكون لدى شخص لديه حق وصول المالك إلى مساحة عمل حق وصول المالك إلى مجموعة الموارد التي تحتوي على مساحة العمل. لمزيد من المعلومات، راجع كيفية عمل Azure RBAC.
إدارة الوصول إلى مساحة العمل
إذا كنت مالكا لمساحة عمل، يمكنك إضافة أدوار لمساحة العمل وإزالتها. يمكنك أيضا تعيين أدوار للمستخدمين. استخدم الارتباطات التالية لاكتشاف كيفية إدارة الوصول:
إنشاء دور مخصص
إذا كانت الأدوار المضمنة غير كافية، فيمكنك إنشاء أدوار مخصصة. قد تحتوي الأدوار المخصصة على أذونات قراءة وكتابة وحذف وحساب الموارد في مساحة العمل هذه. يمكنك إتاحة الدور على مستوى مساحة عمل معين أو مستوى مجموعة موارد معين أو مستوى اشتراك محدد.
ملاحظة
يجب أن تكون مالكا للمورد على هذا المستوى لإنشاء أدوار مخصصة داخل هذا المورد.
لإنشاء دور مخصص، قم أولا بإنشاء ملف 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/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace_name>"
]
}
تلميح
يمكنك تغيير الحقل AssignableScopes لتعيين نطاق هذا الدور المخصص على مستوى الاشتراك أو مستوى مجموعة الموارد أو مستوى مساحة عمل معين.
الدور المخصص أعلاه هو مجرد مثال، راجع بعض الأدوار المخصصة المقترحة لخدمة Azure التعلم الآلي.
يمكن لهذا الدور المخصص القيام بكل شيء في مساحة العمل باستثناء الإجراءات التالية:
- لا يمكنه إنشاء مورد حوسبة أو تحديثه.
- لا يمكنه حذف مورد حوسبة.
- لا يمكنه إضافة تعيينات الأدوار أو حذفها أو تغييرها.
- لا يمكنه حذف مساحة العمل.
لنشر هذا الدور المخصص، استخدم الأمر Azure CLI التالي:
az role definition create --role-definition data_scientist_role.json
بعد النشر، يصبح هذا الدور متاحا في مساحة العمل المحددة. يمكنك الآن إضافة هذا الدور وتعيينه في مدخل Azure.
لمزيد من المعلومات حول الأدوار المخصصة، راجع أدوار Azure المخصصة.
عمليات Azure التعلم الآلي
لمزيد من المعلومات حول العمليات (الإجراءات وليس الإجراءات) القابلة للاستخدام مع الأدوار المخصصة، راجع عمليات موفر الموارد. يمكنك أيضا استخدام أمر Azure CLI التالي لسرد العمليات:
az provider operation show –n Microsoft.MachineLearningServices
الأدوار المخصصة بالقائمة
في Azure CLI، قم بتشغيل الأمر التالي:
az role definition list --subscription <sub-id> --custom-role-only true
لعرض تعريف الدور لدور مخصص معين، استخدم الأمر Azure CLI التالي. يجب أن يكون بنفس التنسيق الذي تم <role-name> إرجاعه بواسطة الأمر أعلاه:
az role definition list -n <role-name> --subscription <sub-id>
تحديث الدور المخصص
في Azure CLI، قم بتشغيل الأمر التالي:
az role definition update --role-definition update_def.json --subscription <sub-id>
يجب أن يكون لديك أذونات على النطاق الكامل لتعريف دورك الجديد. على سبيل المثال، إذا كان لهذا الدور الجديد نطاق عبر ثلاثة اشتراكات، فيجب أن يكون لديك أذونات على جميع الاشتراكات الثلاثة.
ملاحظة
يمكن أن تستغرق تحديثات الدور من 15 دقيقة إلى ساعة للتطبيق عبر جميع تعيينات الأدوار في هذا النطاق.
استخدام قوالب Azure Resource Manager للتكرار
إذا كنت تتوقع أنك ستحتاج إلى إعادة إنشاء تعيينات أدوار معقدة، يمكن أن يكون قالب Azure Resource Manager مساعدة كبيرة. يوضح قالب التعلم الآلي والتبعيات وتعيين الأدوار كيفية تحديد تعيينات الدور في التعليمات البرمجية المصدر لإعادة استخدامها.
السيناريوهات الشائعة
الجدول التالي هو ملخص لأنشطة Azure التعلم الآلي والأذونات المطلوبة لتنفيذها على أقل نطاق. على سبيل المثال، إذا كان من الممكن تنفيذ نشاط باستخدام نطاق مساحة عمل (العمود 4)، فسيعمل كل النطاق الأعلى باستخدام هذا الإذن تلقائيا أيضا:
هام
كافة المسارات في هذا الجدول التي تبدأ ب / هي مسارات نسبية إلى Microsoft.MachineLearningServices/ :
| النشاط | نطاق مستوى الاشتراك | نطاق الموارد على مستوى مجموعة الموارد | النطاق على مستوى مساحة العمل |
|---|---|---|---|
| إنشاء مساحة عمل جديدة 1 | غير مطلوب | المالك أو المساهم | N/A (يصبح المالك أو يرث دور النطاق الأعلى بعد الإنشاء) |
| طلب حصة Amlcompute على مستوى الاشتراك أو تعيين حصة نسبية لمستوى مساحة العمل | المالك أو المساهم أو الدور المخصص الذي يسمح به /locations/updateQuotas/action في نطاق الاشتراك |
غير مصرح به | غير مصرح به |
| إنشاء مجموعة حوسبة جديدة | غير مطلوب | غير مطلوب | يسمح المالك أو المساهم أو الدور المخصص بما يلي: /workspaces/computes/write |
| إنشاء مثيل حوسبة جديد | غير مطلوب | غير مطلوب | يسمح المالك أو المساهم أو الدور المخصص بما يلي: /workspaces/computes/write |
| إرسال أي نوع من الركض | غير مطلوب | غير مطلوب | يسمح المالك أو المساهم أو الدور المخصص بما يلي: "/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" |
| نشر خطوط الأنابيب ونقاط النهاية | غير مطلوب | غير مطلوب | يسمح المالك أو المساهم أو الدور المخصص بما يلي: "/workspaces/endpoints/pipelines/*", "/workspaces/pipelinedrafts/*", "/workspaces/modules/*" |
| إرفاق مورد AKS 2 | غير مطلوب | المالك أو المساهم في مجموعة الموارد التي تحتوي على AKS | |
| نشر نموذج مسجل على مورد AKS/ACI | غير مطلوب | غير مطلوب | يسمح المالك أو المساهم أو الدور المخصص بما يلي: "/workspaces/services/aks/write", "/workspaces/services/aci/write" |
| التسجيل ضد نقطة نهاية AKS المنتشرة | غير مطلوب | غير مطلوب | السماح للمالك أو المساهم أو الدور المخصص: "/workspaces/services/aks/score/action", "/workspaces/services/aks/listkeys/action" (عندما لا تستخدم مصادقة Azure Active Directory) أو "/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 |
1: إذا تلقيت فشلا عند محاولة إنشاء مساحة عمل لأول مرة ، فتأكد من أن دورك يسمح .Microsoft.MachineLearningServices/register/action يسمح لك هذا الإجراء بتسجيل موفر موارد Azure التعلم الآلي مع اشتراكك في Azure.
2: عند إرفاق مجموعة AKS، تحتاج أيضا إلى دور مسؤول مجموعة خدمة Azure Kubernetes على المجموعة.
إنشاء مساحة عمل باستخدام مفتاح مدار من قبل العميل
عند استخدام مفتاح مدار من قبل العميل (CMK)، يتم استخدام Key Vault Azure لتخزين المفتاح. يجب أن يكون للمستخدم أو مدير الخدمة المستخدم لإنشاء مساحة العمل حق وصول المالك أو المساهم إلى المخزن الرئيسي.
داخل المخزن الرئيسي، يجب أن يكون لدى المستخدم أو مدير الخدمة إمكانية إنشاء الوصول إلى المفتاح والحصول عليه وحذفه وتطهيره من خلال سياسة الوصول إلى المخزن الرئيسي. لمزيد من المعلومات، راجع أمان Azure Key Vault.
الهوية المدارة المعينة من قبل المستخدم باستخدام Azure ML compute cluster
لتعيين هوية معينة من قبل المستخدم إلى مجموعة حوسبة Azure التعلم الآلي، تحتاج إلى أذونات كتابة لإنشاء الحوسبة ودور مشغل الهوية المدارة. لمزيد من المعلومات حول Azure RBAC مع الهويات المدارة، اقرأ كيفية إدارة الهوية المعينة من قبل المستخدم
عمليات MLflow
لتنفيذ عمليات MLflow باستخدام مساحة عمل Azure التعلم الآلي، استخدم النطاقات التالية لدورك المخصص:
| عملية التدفق الآلي | النطاق |
|---|---|
| سرد جميع التجارب في متجر تتبع مساحة العمل ، والحصول على تجربة حسب المعرف ، والحصول على تجربة بالاسم | Microsoft.MachineLearningServices/workspaces/experiments/read |
| إنشاء تجربة باسم ، تعيين علامة على تجربة ، استعادة تجربة تم وضع علامة عليها للحذف | Microsoft.MachineLearningServices/workspaces/experiments/write |
| حذف تجربة | Microsoft.MachineLearningServices/workspaces/experiments/delete |
| الحصول على تشغيل والبيانات ذات الصلة والبيانات الوصفية، والحصول على قائمة بجميع القيم للمقياس المحدد لتشغيل معين، وقائمة القطع الأثرية للتشغيل | Microsoft.MachineLearningServices/workspaces/experiments/runs/read |
| إنشاء تشغيل جديد ضمن تجربة، وحذف عمليات التشغيل، واستعادة عمليات التشغيل المحذوفة، وتسجيل المقاييس ضمن التشغيل الحالي، وتعيين العلامات أثناء التشغيل، وحذف العلامات أثناء التشغيل، ومعلمات السجل (زوج القيمة الرئيسية) المستخدمة للتشغيل، وتسجيل مجموعة من المقاييس والمعلمات والعلامات للتشغيل، وتحديث حالة التشغيل | Microsoft.MachineLearningServices/workspaces/experiments/runs/write |
| احصل على نموذج مسجل بالاسم ، وأحضر قائمة بجميع النماذج المسجلة في السجل ، وابحث عن النماذج المسجلة ، وأحدث نماذج الإصدارات لكل مرحلة من مراحل الطلبات ، واحصل على إصدار نموذج مسجل ، وإصدارات نموذج البحث ، واحصل على عنوان 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/<subscription_id>"
]
}
تقييد عالم البيانات
تعريف دور أكثر تقييدا بدون أحرف بدل في الإجراءات المسموح بها. يمكنه تنفيذ جميع العمليات داخل مساحة العمل باستثناء:
- إنشاء الحوسبة
- نشر النماذج في مجموعة 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/read",
"Microsoft.MachineLearningServices/workspaces/notebooks/storage/write",
"Microsoft.MachineLearningServices/workspaces/notebooks/storage/delete",
"Microsoft.MachineLearningServices/workspaces/notebooks/samples/read",
"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/datasets/registered/write",
"Microsoft.MachineLearningServices/workspaces/datasets/registered/delete",
"Microsoft.MachineLearningServices/workspaces/datasets/unregistered/write",
"Microsoft.MachineLearningServices/workspaces/datasets/unregistered/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/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/<subscription_id>"
]
}
عالم بيانات MLflow
يسمح لعالم البيانات بتنفيذ جميع العمليات المدعومة من MLflow AzureML باستثناء:
- إنشاء الحوسبة
- نشر النماذج في مجموعة 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/read",
"Microsoft.MachineLearningServices/workspaces/experiments/write",
"Microsoft.MachineLearningServices/workspaces/experiments/delete",
"Microsoft.MachineLearningServices/workspaces/experiments/runs/read",
"Microsoft.MachineLearningServices/workspaces/experiments/runs/write",
"Microsoft.MachineLearningServices/workspaces/models/read",
"Microsoft.MachineLearningServices/workspaces/models/write",
"Microsoft.MachineLearningServices/workspaces/models/delete"
],
"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/<subscription_id>"
]
}
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/experiments/runs/read",
"Microsoft.MachineLearningServices/workspaces/datasets/registered/read",
"Microsoft.MachineLearningServices/workspaces/datastores/read",
"Microsoft.MachineLearningServices/workspaces/environments/write",
"Microsoft.MachineLearningServices/workspaces/experiments/runs/write",
"Microsoft.MachineLearningServices/workspaces/metadata/artifacts/write",
"Microsoft.MachineLearningServices/workspaces/metadata/snapshots/write",
"Microsoft.MachineLearningServices/workspaces/environments/build/action",
"Microsoft.MachineLearningServices/workspaces/experiments/runs/submit/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/<subscription_id>"
]
}
مسؤول مساحة العمل
يسمح لك بتنفيذ جميع العمليات ضمن نطاق مساحة العمل، باستثناء:
- إنشاء مساحة عمل جديدة
- تعيين حصص على مستوى الاشتراك أو مساحة العمل
يتعذر على مسؤول مساحة العمل أيضا إنشاء دور جديد. يمكنه فقط تعيين أدوار مضمنة أو مخصصة موجودة ضمن نطاق مساحة العمل الخاصة به:
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/<subscription_id>"
]
}
ملصق البيانات
يسمح لك بتحديد دور محدد النطاق فقط لتصنيف البيانات:
labeler_custom_role.json :
{
"Name": "Labeler Custom",
"IsCustom": true,
"Description": "Can label data for Labeling",
"Actions": [
"Microsoft.MachineLearningServices/workspaces/read",
"Microsoft.MachineLearningServices/workspaces/labeling/projects/read",
"Microsoft.MachineLearningServices/workspaces/labeling/projects/summary/read",
"Microsoft.MachineLearningServices/workspaces/labeling/labels/read",
"Microsoft.MachineLearningServices/workspaces/labeling/labels/write"
],
"NotActions": [
],
"AssignableScopes": [
"/subscriptions/<subscription_id>"
]
}
قائد فريق وضع العلامات
يسمح لك بمراجعة مجموعة البيانات المصنفة ورفضها وعرض رؤى التصنيف. بالإضافة إلى ذلك ، يسمح لك هذا الدور أيضا بأداء دور الملصق.
labeling_team_lead_custom_role.json :
{
"properties": {
"roleName": "Labeling Team Lead",
"description": "Team lead for Labeling Projects",
"assignableScopes": [
"/subscriptions/<subscription_id>"
],
"permissions": [
{
"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/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"
],
"dataActions": [],
"notDataActions": []
}
]
}
}
استكشاف الأخطاء وإصلاحها
فيما يلي بعض الأشياء التي يجب أن تكون على دراية بها أثناء استخدام التحكم في الوصول المستند إلى دور Azure (Azure RBAC):
عند إنشاء مورد في Azure، مثل مساحة عمل، فأنت لست مالك المورد مباشرة. يتم توريث دورك من الدور الأعلى نطاقا الذي تم تفويضك ضده في هذا الاشتراك. على سبيل المثال، إذا كنت مسؤول شبكة، ولديك الأذونات اللازمة لإنشاء مساحة عمل التعلم الآلي، تعيين دور مسؤول الشبكة مقابل مساحة العمل هذه، وليس دور المالك.
لتنفيذ عمليات الحصة النسبية في مساحة عمل، تحتاج إلى أذونات على مستوى الاشتراك. وهذا يعني أن تعيين الحصة النسبية لمستوى الاشتراك أو الحصة النسبية على مستوى مساحة العمل لموارد الحوسبة المدارة لا يمكن أن يحدث إلا إذا كان لديك أذونات كتابة في نطاق الاشتراك.
عندما يكون هناك تعيينان للدور لنفس مستخدم Azure Active Directory مع أقسام متعارضة من الإجراءات/NotActions، فقد لا تصبح عملياتك المدرجة في NotActions من دور واحد نافذة المفعول إذا كانت مدرجة أيضا كإجراءات في دور آخر. لمعرفة المزيد حول كيفية قيام Azure بتحليل تعيينات الأدوار، اقرأ كيف يحدد Azure RBAC ما إذا كان لدى المستخدم حق الوصول إلى مورد أم لا.
لنشر موارد الحوسبة داخل VNet، يجب أن يكون لديك أذونات صريحة للإجراءات التالية:
Microsoft.Network/virtualNetworks/*/readعلى موارد شبكة VNet.Microsoft.Network/virtualNetworks/subnets/join/actionعلى مورد الشبكة الفرعية.
لمزيد من المعلومات حول Azure RBAC مع الشبكات، راجع الأدوار المضمنة في الشبكة.
قد يستغرق الأمر أحيانا ما يصل إلى 1 ساعة حتى تصبح تعيينات الأدوار الجديدة سارية المفعول على الأذونات المخزنة مؤقتا عبر المكدس.