إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: جميع مستويات إدارة واجهة برمجة التطبيقات
تعتمد إدارة واجهة برمجة تطبيقات Azure على التحكم في الوصول المستند إلى الدور في Azure (Azure RBAC) لتمكين إدارة الوصول الدقيقة لخدمات وكيانات إدارة واجهة برمجة التطبيقات بما في ذلك مساحات العمل. تمنحك هذه المقالة نظرة عامة على الأدوار المضمنة والمخصصة في إدارة API Management. لمزيد من المعلومات حول إدارة الوصول في مدخل Azure، راجع البدء في إدارة الوصول في مدخل Azure.
إشعار
نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.
أدوار الخدمة المضمنة
توفر إدارة واجهة برمجة التطبيقات حاليا ثلاثة أدوار خدمة مضمنة. يمكن تعيين هذه الأدوار في نطاقات مختلفة، بما في ذلك الاشتراك ومجموعة الموارد ومثيل إدارة API Management الفردي. على سبيل المثال، إذا قمت بتعيين دور "API Management Service Reader" لمستخدم على مستوى مجموعة الموارد، فحينئذٍ يكون للمستخدم حق الوصول إلى جميع مثيلات إدارة API Management داخل مجموعة الموارد.
يوفر الجدول التالي وصفًا موجزًا للأدوار المضمنة. يمكنك تعيين هذه الأدوار باستخدام مدخل Azure أو أدوات أخرى، بما في ذلك PowerShell من Azure وAzure CLIوREST API. للحصول على تفاصيل حول كيفية تعيين الأدوار المضمنة، راجع تعيين أدوار Azure لإدارة الوصول إلى موارد اشتراك Azure.
| الدور | وصول للقراءة فقط[1] | وصول للكتابة فقط[2] | إنشاء الخدمة، والحذف وتوسيع النطاق وVPN وتكوين المجال المخصص | الوصول إلى بوابة الناشر القديمة | الوصف |
|---|---|---|---|---|---|
| مساهم خدمة إدارة API Management | ✓ | ✓ | ✓ | ✓ | المستخدم الفائق. لديه حق وصول CRUD الكامل إلى خدمات وكيانات إدارة API Management (على سبيل المثال، واجهات برمجة التطبيقات النُهج). لديه حق الوصول إلى بوابة الناشر القديمة. |
| قارئ خدمة إدارة API Management | ✓ | لديه حق الوصول للقراءة فقط إلى خدمات API Management والكيانات. | |||
| مشغل خدمة إدارة API Management | ✓ | ✓ | يمكنه إدارة خدمات API Management، لكن ليست الكيانات. |
[1] الوصول للقراءة فقط إلى خدمات وكيانات إدارة API Management (على سبيل المثال، واجهات برمجة التطبيقات والسياسات).
الوصول للكتابة إلى خدمات وكيانات إدارة API Management باستثناء العمليات التالية: إنشاء المثيل وحذفه وتغيير الحجم وتكوين VPN وإعداد المجال المخصص.
أدوار مساحة العمل المضمنة
توفر إدارة واجهة برمجة التطبيقات الأدوار المضمنة التالية للمتعاونين في مساحات العمل في مثيل APIM.
يجب تعيين متعاون في مساحة العمل لكل من دور نطاق مساحة العمل ودور نطاق الخدمة.
| الدور | Scope | الوصف |
|---|---|---|
| مساهم مساحة عمل إدارة واجهة برمجة التطبيقات | workspace | يمكنه إدارة مساحة العمل وعرضها، ولكن ليس تعديل أعضائها. يجب تعيين هذا الدور في نطاق مساحة العمل. |
| قارئ مساحة عمل إدارة واجهة برمجة التطبيقات | workspace | لديه حق الوصول للقراءة فقط إلى الكيانات في مساحة العمل. يجب تعيين هذا الدور في نطاق مساحة العمل. |
| مطور API Management Workspace API | workspace | لديه حق الوصول للقراءة إلى الكيانات في مساحة العمل والوصول للقراءة والكتابة إلى الكيانات لتحرير واجهات برمجة التطبيقات. يجب تعيين هذا الدور في نطاق مساحة العمل. |
| مدير منتج واجهة برمجة تطبيقات مساحة عمل إدارة واجهة برمجة التطبيقات | workspace | لديه حق الوصول للقراءة إلى الكيانات في مساحة العمل والوصول للقراءة والكتابة إلى الكيانات لنشر واجهات برمجة التطبيقات. يجب تعيين هذا الدور في نطاق مساحة العمل. |
| مطور واجهة برمجة تطبيقات مساحة عمل خدمة إدارة واجهة برمجة التطبيقات | service | لديه حق الوصول للقراءة إلى العلامات والمنتجات والوصول للكتابة للسماح: ▪️ تعيين واجهات برمجة التطبيقات للمنتجات ▪️ تعيين علامات للمنتجات وواجهات برمجة التطبيقات يجب تعيين هذا الدور في نطاق الخدمة. |
| مدير منتج واجهة برمجة تطبيقات مساحة عمل خدمة إدارة واجهة برمجة التطبيقات | service | لديه نفس الوصول مثل API Management Service Workspace API Developer بالإضافة إلى الوصول للقراءة للمستخدمين والوصول للكتابة للسماح بتعيين المستخدمين للمجموعات. يجب تعيين هذا الدور في نطاق الخدمة. |
إذا كانت مساحة العمل مرتبطة بمورد بوابة مساحة العمل، نوصي أيضا بتعيين أحد الأدوار التالية في RBAC المقدمة من Azure ضمن نطاق بوابة workspace Gateway: Reader، Contributor، أو Owner.
أدوار مدخل المطور المضمنة
| الدور | Scope | الوصف |
|---|---|---|
| محرر محتوى مدخل مطور إدارة واجهة برمجة التطبيقات | service | يمكنه تخصيص مدخل المطور وتحرير محتواه ونشره باستخدام واجهات برمجة تطبيقات Azure Resource Manager. |
أدوار مخصصة
إذا لم تفِ أي من الأدوار المضمنة باحتياجاتك الخاصة، يمكن إنشاء أدوار مخصصة لتوفير إدارة وصول أكثر دقة لكيانات API Management. على سبيل المثال، يمكنك إنشاء دور مخصص له حق الوصول للقراءة فقط إلى خدمة إدارة API Management، ولكن لديه حق الوصول للكتابة إلى واجهة برمجة تطبيقات واحدة محددة فقط. لمعرفة المزيد حول الأدوار المخصصة، راجع الأدوار المخصصة في Azure RBAC.
إشعار
لتتمكن من رؤية مثيل API Management في مدخل Azure، يجب أن يتضمن الدور المخصص الإجراء Microsoft.ApiManagement/service/read.
التحذير
لا تعتمد على إزالة listSecrets (أو */listSecrets/actionغيرها) من الأذونات لإخفاء بيانات الاعتماد عن الطرف الرئيسي الذي لديه بالفعل صلاحية كتابة إلى الكيان الأم.
يمكن لعدة كيانات لإدارة واجهات برمجة التطبيقات — مثل الخلفيات، والقيم المسماة، ومزودي التفويض — تخزين بيانات الاعتماد (مثل أسرار العميل، مفاتيح API، أو سلاسل الاتصال). لمنع دور القارئ من قراءة هذه التصاريح، يتم حذفها من الاستجابة القياسية GET ويتم كشفها فقط من خلال إجراء مخصص listSecrets (أو مكافئ). منح فقط Microsoft.ApiManagement/service/<entityType>/listSecrets/action للموكل بذلك يحمي بيانات الاعتماد من المستخدمين الذين يقرؤون فقط.
ومع ذلك، يمكن لأي شخص رئيسي لديه صلاحية كتابة على الكيان تغيير بيانات الاعتماد المخزنة من خلال PUT طلب or PATCH ، ويحتوي جسم الرد على الكيان المحدث الكامل، بما في ذلك بيانات الاعتماد التي كتبت للتو. وبالتالي، فإن حجب listSecrets الإجراء من دور مخصص يمنح بالفعل صلاحية الكتابة لا يمنع ذلك الشخص من الحصول على بيانات الاعتماد — بل يغير فقط أي استدعاء API يعيدها.
عند تأليف دور مخصص، قم بحماية بيانات الاعتماد حول إذن الكتابة على الكيان، وليس حول listSecrets. إذا لم يكن على المدير تعلم بيانات الاعتماد، فلا تمنح حق الكتابة للكيانات التي تخزنها.
عند إنشاء دور مخصص، يكون من الأسهل البدء بأحد الأدوار المضمنة. قم بتحرير السمات لإضافة Actionsأو NotActionsأو AssignableScopes، ثم احفظ التغييرات كدور جديد. يبدأ المثال التالي بدور "قارئ خدمة إدارة واجهة برمجة التطبيقات" وينشئ دورًا مخصصاً يسمى "محرر واجهة برمجة تطبيقات الحاسبة". يمكنك تعيين الدور المخصص في نطاق واجهة برمجة تطبيقات معينة. ومن ثم، فإن هذا الدور له حق الوصول إلى واجهة برمجة التطبيقات تلك فقط.
$role = Get-AzRoleDefinition "API Management Service Reader Role"
$role.Id = $null
$role.Name = 'Calculator API Contributor'
$role.Description = 'Has read access to Contoso APIM instance and write access to the Calculator API.'
$role.Actions.Add('Microsoft.ApiManagement/service/apis/write')
$role.Actions.Add('Microsoft.ApiManagement/service/apis/*/write')
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add('/subscriptions/<Azure subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<APIM service instance name>/apis/<API name>')
New-AzRoleDefinition -Role $role
New-AzRoleAssignment -ObjectId <object ID of the user account> -RoleDefinitionName 'Calculator API Contributor' -Scope '/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<APIM service instance name>/apis/<API name>'
تحتوي مقالة عمليات موفر موارد Azure Resource Manager على قائمة الأذونات التي يمكن منحها على مستوى API Management.
المحتوى ذو الصلة
لمعرفة المزيد حول التحكم في الوصول استنادا إلى الدور في Azure، راجع المقالات التالية: