استكشاف أخطاء Azure RBAC وإصلاحها
توضح هذه المقالة بعض الحلول الشائعة للمشكلات المتعلقة بالتحكم في الوصول المستند إلى دور Azure (Azure RBAC).
إدارة تعيينات أدوار Azure
العرض - تم تعطيل خيار إضافة تعيين دور
يتعذر عليك تعيين دور في مدخل Microsoft Azure على التحكم في الوصول (IAM) بسبب تعطيل الخيار إضافة>تعيين دور
السبب
لقد سجلت دخولك حاليا باستخدام مستخدم ليس لديه الإذن لتعيين الأدوار في النطاق المحدد.
الحل
تحقق من تسجيل الدخول حاليا مع مستخدم تم تعيين دور له Microsoft.Authorization/roleAssignments/write
الإذن مثل مسؤول التحكم في الوصول المستند إلى الدور في النطاق الذي تحاول تعيين الدور إليه.
الأعراض - الأدوار أو الأساسيات غير مدرجة
عند محاولة تعيين دور في مدخل Microsoft Azure، لا يتم سرد بعض الأدوار أو الأساسيات. على سبيل المثال، في علامة التبويب دور ، سترى مجموعة مخفضة من الأدوار.
أو، في جزء Select members ، سترى مجموعة مخفضة من الأساسيات.
السبب
هناك قيود على تعيينات الأدوار التي يمكنك إضافتها. على سبيل المثال، أنت مقيد في الأدوار التي يمكنك تعيينها أو تقييدها في الأساسيات التي يمكنك تعيين أدوار لها.
الحل
عرض الأدوار المعينة لك. تحقق مما إذا كان هناك شرط يقيد تعيينات الدور التي يمكنك إضافتها. لمزيد من المعلومات، راجع تفويض إدارة الوصول إلى Azure للآخرين.
العرض - غير قادر على تعيين دور
أنت غير قادر على تعيين دور وتتلقى خطأ مشابها للآتي:
Failed to add {securityPrincipal} as {role} for {scope} : The client '{clientName}' with object id '{objectId}' does not have authorization or an ABAC condition not fulfilled to perform action 'Microsoft.Authorization/roleAssignments/write' over scope '/subscriptions/{subscriptionId}/Microsoft.Authorization/roleAssignments/{roleAssignmentId}' or the scope is invalid. If access was recently granted, please refresh your credentials.
السبب 1
لقد سجلت دخولك حاليا باستخدام مستخدم ليس لديه الإذن لتعيين الأدوار في النطاق المحدد.
الحل 1
تحقق من تسجيل الدخول حاليا مع مستخدم تم تعيين دور له Microsoft.Authorization/roleAssignments/write
الإذن مثل مسؤول التحكم في الوصول المستند إلى الدور في النطاق الذي تحاول تعيين الدور إليه.
السبب 2
هناك قيود على تعيينات الأدوار التي يمكنك إضافتها. على سبيل المثال، أنت مقيد في الأدوار التي يمكنك تعيينها أو تقييدها في الأساسيات التي يمكنك تعيين أدوار لها.
الحل 2
عرض الأدوار المعينة لك. تحقق مما إذا كان هناك شرط يقيد تعيينات الدور التي يمكنك إضافتها. لمزيد من المعلومات، راجع تفويض إدارة الوصول إلى Azure للآخرين.
العرض - تعذر تعيين دور باستخدام كيان خدمة مع Azure CLI
أنت تستخدم كيان خدمة لتعيين الأدوار باستخدام Azure CLI وتحصل على الخطأ التالي:
Insufficient privileges to complete the operation
على سبيل المثال، لنفترض أن لديك كيان خدمة تم تعيينه لدور المالك وتحاول إنشاء تعيين الدور التالي ككيان الخدمة باستخدام Azure CLI:
az login --service-principal --username "SPNid" --password "password" --tenant "tenantid"
az role assignment create --assignee "userupn" --role "Contributor" --scope "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}"
السبب
من المحتمل أن يحاول Azure CLI البحث عن هوية المعين له في معرف Microsoft Entra ولا يمكن لمدير الخدمة قراءة معرف Microsoft Entra بشكل افتراضي.
الحل
هناك طريقتان لحل هذا الخطأ. الطريقة الأولى هي تعيين دور قراء الدليل إلى كيان الخدمة بحيث يمكنه قراءة البيانات في الدليل.
الطريقة الثانية لحل هذا الخطأ هي إنشاء تعيين الدور باستخدام المعلمة --assignee-object-id
بدلا من --assignee
. باستخدام --assignee-object-id
، سيتخطى Azure CLI بحث Microsoft Entra. ستحتاج إلى الحصول على معرف الكائن للمستخدم أو المجموعة أو التطبيق الذي تريد تعيين الدور إليه. لمزيد من المعلومات، راجع تعيين أدوار Azure باستخدام Azure CLI.
az role assignment create --assignee-object-id 11111111-1111-1111-1111-111111111111 --role "Contributor" --scope "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}"
الأعراض - يفشل تعيين دور لمدير جديد في بعض الأحيان
يمكنك إنشاء مستخدم جديد أو مجموعة أو كيان خدمة جديد ومحاولة تعيين دور لهذا الأساسي على الفور ويفشل تعيين الدور في بعض الأحيان. تتلقى رسالة مشابهة للخطأ التالي:
PrincipalNotFound
Principal {principalId} does not exist in the directory {tenantId}. Check that you have the correct principal ID. If you are creating this principal and then immediately assigning a role, this error might be related to a replication delay. In this case, set the role assignment principalType property to a value, such as ServicePrincipal, User, or Group. See https://aka.ms/docs-principaltype
السبب
السبب هو على الأرجح تأخير النسخ المتماثل. يتم إنشاء الأساسي في منطقة واحدة؛ ومع ذلك، قد يحدث تعيين الدور في منطقة مختلفة لم تقم بنسخ الأساسي نسخا متماثلا حتى الآن.
الحل 1
إذا كنت تقوم بإنشاء مستخدم جديد أو كيان خدمة جديد باستخدام واجهة برمجة تطبيقات REST أو قالب ARM، فقم بتعيين الخاصية principalType
عند إنشاء تعيين الدور باستخدام تعيينات الدور - إنشاء واجهة برمجة تطبيقات.
principalType | apiVersion |
---|---|
User |
2020-03-01-preview أو أحدث |
ServicePrincipal |
2018-09-01-preview أو أحدث |
لمزيد من المعلومات، راجع تعيين أدوار Azure إلى كيان خدمة جديد باستخدام واجهة برمجة تطبيقات REST أو تعيين أدوار Azure إلى كيان خدمة جديد باستخدام قوالب Azure Resource Manager.
الحل 2
إذا كنت تقوم بإنشاء مستخدم جديد أو كيان خدمة جديد باستخدام Azure PowerShell، فقم بتعيين المعلمة ObjectType
إلى User
أو ServicePrincipal
عند إنشاء تعيين الدور باستخدام New-AzRoleAssignment. لا تزال نفس قيود إصدار واجهة برمجة التطبيقات الأساسية للحل 1 سارية. لمزيد من المعلومات، راجع تعيين أدوار Azure باستخدام Azure PowerShell.
الحل 3
إذا كنت تقوم بإنشاء مجموعة جديدة، فانتظر بضع دقائق قبل إنشاء تعيين الدور.
العرض - يرجع تعيين دور قالب ARM حالة BadRequest
عند محاولة نشر ملف Bicep أو قالب ARM الذي يعين دورا إلى كيان خدمة، تحصل على الخطأ:
Tenant ID, application ID, principal ID, and scope are not allowed to be updated. (code: RoleAssignmentUpdateNotPermitted)
على سبيل المثال، إذا قمت بإنشاء تعيين دور لهوية مدارة، ثم حذف الهوية المدارة وإعادة إنشائها، فإن الهوية المدارة الجديدة لها معرف أساسي مختلف. إذا حاولت نشر تعيين الدور مرة أخرى واستخدم نفس اسم تعيين الدور، يفشل النشر.
السبب
تعيين name
الدور ليس فريدا، ويتم عرضه كتحديث.
يتم تعريف تعيينات الأدوار بشكل فريد من خلال اسمها، وهو معرف فريد عمومي (GUID). لا يمكنك إنشاء تعيينين للدور بنفس الاسم، حتى في اشتراكات Azure المختلفة. لا يمكنك أيضا تغيير خصائص تعيين دور موجود.
الحل
توفير قيمة فريدة متكررة لتعيين name
الدور . من الممارسات الجيدة أن تنشئ GUID يستخدم النطاق والمعرّف الأساسي ومعرّف الدور معًا. من الجيد استخدم الدالة guid()
لمساعدتك على إنشاء GUID محدد لأسماء تعيينات الأدوار الخاص بك، كما في هذا المثال:
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2020-10-01-preview' = {
name: guid(resourceGroup().id, principalId, roleDefinitionId)
properties: {
roleDefinitionId: roleDefinitionId
principalId: principalId
principalType: principalType
}
}
لمزيد من المعلومات، راجع إنشاء موارد Azure RBAC باستخدام Bicep.
العرض - لم يتم العثور على تعيينات الأدوار ذات الهوية
في قائمة تعيينات الأدوار لمدخل Microsoft Azure، تلاحظ أن أساس الأمان (المستخدم أو المجموعة أو كيان الخدمة أو الهوية المدارة) مدرج كهوية غير موجودة بنوع غير معروف .
إذا قمت بإدراج تعيين الدور هذا باستخدام Azure PowerShell، فقد ترى قيمة فارغة DisplayName
و أو SignInName
قيمة ل ObjectType
.Unknown
على سبيل المثال، يقوم Get-AzRoleAssignment بإرجاع تعيين دور مشابه للإخراج التالي:
RoleAssignmentId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222
Scope : /subscriptions/11111111-1111-1111-1111-111111111111
DisplayName :
SignInName :
RoleDefinitionName : Storage Blob Data Contributor
RoleDefinitionId : ba92f5b4-2d11-453d-a403-e96b0029c9fe
ObjectId : 33333333-3333-3333-3333-333333333333
ObjectType : User
CanDelegate : False
وبالمثل، إذا قمت بإدراج تعيين الدور هذا باستخدام Azure CLI، فقد ترى فارغا principalName
. على سبيل المثال، تقوم az role assignment list بإرجاع تعيين دور مشابه للإخراج التالي:
{
"canDelegate": null,
"id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222",
"name": "22222222-2222-2222-2222-222222222222",
"principalId": "33333333-3333-3333-3333-333333333333",
"principalName": "",
"roleDefinitionId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe",
"roleDefinitionName": "Storage Blob Data Contributor",
"scope": "/subscriptions/11111111-1111-1111-1111-111111111111",
"type": "Microsoft.Authorization/roleAssignments"
}
السبب 1
لقد قمت مؤخرا بدعوة مستخدم عند إنشاء تعيين دور ولا يزال أساس الأمان هذا في عملية النسخ المتماثل عبر المناطق.
الحل 1
انتظر بضع لحظات وقم بتحديث قائمة تعيينات الأدوار.
السبب 2
لقد حذفت أساس أمان كان له تعيين دور. إذا قمت بتعيين دور إلى أساس أمان ثم حذفت لاحقا أساس الأمان هذا دون إزالة تعيين الدور أولا، إدراج أساس الأمان كهوية غير موجودة ونوع غير معروف .
الحل 2
ليست هناك مشكلة في ترك تعيينات الأدوار هذه حيث تم حذف أساس الأمان. إذا أردت، يمكنك إزالة تعيينات الأدوار هذه باستخدام خطوات مشابهة لتعيينات الأدوار الأخرى. للحصول على معلومات حول كيفية إزالة تعيينات الأدوار، راجع إزالة تعيينات دور Azure.
في PowerShell، إذا حاولت إزالة تعيينات الدور باستخدام معرف العنصر واسم تعريف الدور، وكان أكثر من تعيين دور واحد يطابق المعلمات الخاصة بك، فستتلقى رسالة الخطأ: The provided information does not map to a role assignment
. يظهر الإخراج التالي مثالا لرسالة الخطأ:
PS C:\> Remove-AzRoleAssignment -ObjectId 33333333-3333-3333-3333-333333333333 -RoleDefinitionName "Storage Blob Data Contributor"
Remove-AzRoleAssignment : The provided information does not map to a role assignment.
At line:1 char:1
+ Remove-AzRoleAssignment -ObjectId 33333333-3333-3333-3333-333333333333 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Remove-AzRoleAssignment], KeyNotFoundException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Resources.RemoveAzureRoleAssignmentCommand
إذا تلقيت رسالة الخطأ هذه، فتأكد أيضا من تحديد -Scope
المعلمات أو -ResourceGroupName
.
PS C:\> Remove-AzRoleAssignment -ObjectId 33333333-3333-3333-3333-333333333333 -RoleDefinitionName "Storage Blob Data Contributor" -Scope /subscriptions/11111111-1111-1111-1111-111111111111
العرض - لا يمكن حذف تعيين دور المالك الأخير
تحاول إزالة تعيين دور المالك الأخير لاشتراك وترى الخطأ التالي:
Cannot delete the last RBAC admin assignment
السبب
إزالة تعيين دور المالك الأخير لاشتراك غير مدعوم لتجنب عزل الاشتراك.
الحل
إذا كنت ترغب في إلغاء اشتراكك، فشاهد إلغاء اشتراك Azure.
يسمح لك بإزالة تعيين دور المالك الأخير (أو مسؤول وصول المستخدم) في نطاق الاشتراك، إذا كنت مسؤولا عاما للمستأجر أو مسؤولا كلاسيكيا (مسؤول الخدمة أو المسؤول المشارك) للاشتراك. في هذه الحالة، لا يوجد قيد للحذف. ومع ذلك، إذا كان الاستدعاء يأتي من كيان آخر، فلن تتمكن من إزالة تعيين دور المالك الأخير في نطاق الاشتراك.
العرض - لا يتم نقل تعيين الدور بعد نقل مورد
السبب
إذا قمت بنقل مورد له دور Azure معيّن مباشرة إلى المورد (أو مورد تابع)، فلا يتم نقل تعيين الدور ويصبح معزولاً.
الحل
بعد نقل مورد، يجب إعادة إنشاء تعيين الدور. في النهاية، ستتم إزالة تعيين الدور المعزول تلقائيا، ولكن من أفضل الممارسات إزالة تعيين الدور قبل نقل المورد. للحصول على معلومات حول كيفية نقل الموارد، راجع نقل الموارد إلى مجموعة موارد جديدة أو اشتراك جديد.
العرض - لا يتم الكشف عن تغييرات تعيين الدور
لقد قمت مؤخرا بإضافة تعيين دور أو تحديثه، ولكن لا يتم الكشف عن التغييرات. قد ترى الرسالة Status: 401 (Unauthorized)
.
السبب 1
في بعض الأحيان، يخزن Azure Resource Manager التكوينات والبيانات مؤقتا لتحسين الأداء.
الحل 1
عند تعيين أدوار أو إزالة تعيينات الأدوار، قد يستغرق الأمر ما يصل إلى 10 دقائق حتى تصبح التغييرات سارية المفعول. إذا كنت تستخدم مدخل Microsoft Azure أو Azure PowerShell أو Azure CLI، يمكنك فرض تحديث تغييرات تعيين الدور عن طريق تسجيل الخروج وتسجيل الدخول. إذا كنت تجري تغييرات على تعيين الدور باستخدام استدعاءات REST API، يمكنك فرض تحديث عن طريق تحديث الرمز المميز للوصول.
السبب 2
لقد أضفت الهويات المدارة إلى مجموعة وقمت بتعيين دور لتلك المجموعة. تحتفظ الخدمات الخلفية للهويات المُدارة بذاكرة تخزين مؤقت لكل URI للمورد لمدة 24 ساعة تقريباً.
الحل 2
قد يستغرق الأمر عدة ساعات حتى تسري التغييرات على مجموعة الهوية المدارة أو عضوية الدور. لمزيد من المعلومات، راجع تقييد استخدام الهويات المُدارة للتخويل.
العرض - لا يتم الكشف عن تغييرات تعيين الدور في نطاق مجموعة الإدارة
لقد قمت مؤخرا بإضافة تعيين دور أو تحديثه في نطاق مجموعة الإدارة، ولكن لا يتم الكشف عن التغييرات.
السبب
في بعض الأحيان، يخزن Azure Resource Manager التكوينات والبيانات مؤقتا لتحسين الأداء.
الحل
عند تعيين أدوار أو إزالة تعيينات الأدوار، قد يستغرق الأمر ما يصل إلى 10 دقائق حتى تصبح التغييرات سارية المفعول. إذا قمت بإضافة تعيين دور مضمن أو إزالته في نطاق مجموعة الإدارة وكان الدور المضمن يحتوي DataActions
على ، فقد لا يتم تحديث الوصول على مستوى البيانات لعدة ساعات. ينطبق هذا فقط على نطاق مجموعة الإدارة و مستوى البيانات. لا يمكن تعيين أدوار مخصصة مع DataActions
في نطاق مجموعة الإدارة.
العرض - لا يتم الكشف عن تعيينات الأدوار لتغييرات مجموعة الإدارة
لقد قمت بإنشاء مجموعة إدارة تابعة جديدة ولا يتم الكشف عن تعيين الدور في مجموعة الإدارة الأصل لمجموعة الإدارة التابعة.
السبب
في بعض الأحيان، يخزن Azure Resource Manager التكوينات والبيانات مؤقتا لتحسين الأداء.
الحل
قد يستغرق الأمر ما يصل إلى 10 دقائق حتى يصبح تعيين الدور لمجموعة الإدارة التابعة ساري المفعول. إذا كنت تستخدم مدخل Microsoft Azure أو Azure PowerShell أو Azure CLI، يمكنك فرض تحديث تغييرات تعيين الدور عن طريق تسجيل الخروج وتسجيل الدخول. إذا كنت تجري تغييرات على تعيين الدور باستخدام استدعاءات REST API، يمكنك فرض تحديث عن طريق تحديث الرمز المميز للوصول.
العرض - تستغرق إزالة تعيينات الأدوار باستخدام PowerShell عدة دقائق
يمكنك استخدام الأمر Remove-AzRoleAssignment لإزالة تعيين دور. ثم يمكنك استخدام الأمر Get-AzRoleAssignment للتحقق من إزالة تعيين الدور لكيان الأمان. على سبيل المثال:
Get-AzRoleAssignment -ObjectId $securityPrincipalObject.Id
يشير الأمر Get-AzRoleAssignment إلى أنه لم تتم إزالة تعيين الدور. ومع ذلك، إذا انتظرت من 5 إلى 10 دقائق وقمت بتشغيل Get-AzRoleAssignment مرة أخرى، يشير الإخراج إلى إزالة تعيين الدور.
السبب
تمت إزالة تعيين الدور. ومع ذلك، لتحسين الأداء، يستخدم PowerShell ذاكرة تخزين مؤقت عند سرد تعيينات الأدوار. يمكن أن يكون هناك تأخير حوالي 10 دقائق لذاكرة التخزين المؤقت ليتم تحديثها.
الحل
بدلا من سرد تعيينات الدور لأساس أمان، قم بإدراج جميع تعيينات الأدوار في نطاق الاشتراك وتصفية الإخراج. على سبيل المثال، الأمر التالي:
$validateRemovedRoles = Get-AzRoleAssignment -ObjectId $securityPrincipalObject.Id
يمكن استبدال هذا الأمر بدلا من ذلك:
$validateRemovedRoles = Get-AzRoleAssignment -Scope /subscriptions/$subId | Where-Object -Property ObjectId -EQ $securityPrincipalObject.Id
أدوار مخصصة
العرض - تعذر تحديث دور مخصص أو حذفه
لا يمكنك تحديث دور مخصص موجود أو حذفه.
السبب 1
لقد سجلت دخولك حاليا باستخدام مستخدم ليس لديه إذن لتحديث الأدوار المخصصة أو حذفها.
الحل 1
تحقق من تسجيل الدخول حاليا مع مستخدم تم تعيين دور له Microsoft.Authorization/roleDefinitions/write
الإذن مثل مسؤول وصول المستخدم.
السبب 2
يتضمن الدور المخصص اشتراكا في نطاقات قابلة للتعيين وهذا الاشتراك في حالة تعطيل.
الحل 2
إعادة تنشيط الاشتراك المعطل وتحديث الدور المخصص حسب الحاجة. لمزيد من المعلومات، راجع إعادة تنشيط اشتراك Azure المعطل.
العرض - تعذر إنشاء دور مخصص أو تحديثه
عند محاولة إنشاء دور مخصص أو تحديثه، تحصل على خطأ مشابه لما يلي:
The client '<clientName>' with object id '<objectId>' has permission to perform action 'Microsoft.Authorization/roleDefinitions/write' on scope '/subscriptions/<subscriptionId>'; however, it does not have permission to perform action 'Microsoft.Authorization/roleDefinitions/write' on the linked scope(s)'/subscriptions/<subscriptionId1>,/subscriptions/<subscriptionId2>,/subscriptions/<subscriptionId3>' or the linked scope(s)are invalid
السبب
يشير هذا الخطأ عادة إلى أنه ليس لديك أذونات لواحد أو أكثر من النطاقات القابلة للتعيين في الدور المخصص.
الحل
الرجاء تجربة ما يلي:
- راجع من يمكنه إنشاء دور مخصص أو حذفه أو تحديثه أو عرضه وتحقق من أن لديك أذونات لإنشاء الدور المخصص أو تحديثه لجميع النطاقات القابلة للتعيين.
- إذا لم يكن لديك أذونات، فاطلب من المسؤول تعيين دور له
Microsoft.Authorization/roleDefinitions/write
الإجراء، مثل مسؤول وصول المستخدم، في نطاق النطاق القابل للتعيين. - تحقق من أن جميع النطاقات القابلة للتعيين في الدور المخصص صالحة. إذا لم يكن الأمر كما هو، فقم بإزالة أي نطاقات غير صالحة قابلة للتعيين.
لمزيد من المعلومات، راجع البرامج التعليمية للدور المخصص باستخدام مدخل Microsoft Azure أو Azure PowerShell أو Azure CLI.
العرض - تعذر حذف دور مخصص
لا يمكنك حذف دور مخصص والحصول على رسالة الخطأ التالية:
There are existing role assignments referencing role (code: RoleDefinitionHasAssignments)
السبب
لا تزال هناك تعيينات أدوار تستخدم الدور المخصص.
الحل
قم بإزالة تعيينات الدور التي تستخدم الدور المخصص وحاول حذف الدور المخصص مرة أخرى. لمزيد من المعلومات، راجع البحث عن تعيينات الأدوار لحذف دور مخصص.
العرض - يتعذر إضافة أكثر من مجموعة إدارة واحدة كنطاق قابل للتعيين
عند محاولة إنشاء دور مخصص أو تحديثه، لا يمكنك إضافة أكثر من مجموعة إدارة واحدة كنطاق قابل للتعيين.
السبب
يمكنك تعريف مجموعة إدارة واحدة فقط في AssignableScopes
دور مخصص.
الحل
حدد مجموعة إدارة واحدة في AssignableScopes
دورك المخصص. لمزيد من المعلومات حول الأدوار المخصصة ومجموعات الإدارة، راجع تنظيم مواردك باستخدام مجموعات إدارة Azure.
العرض - يتعذر إضافة إجراءات البيانات إلى دور مخصص
عند محاولة إنشاء دور مخصص أو تحديثه، لا يمكنك إضافة إجراءات البيانات أو ترى الرسالة التالية:
You cannot add data action permissions when you have a management group as an assignable scope
السبب
تحاول إنشاء دور مخصص مع إجراءات البيانات ومجموعة إدارة كنطاق قابل للتعيين. لا يمكن تعيين أدوار مخصصة مع DataActions
في نطاق مجموعة الإدارة.
الحل
إنشاء الدور المخصص مع اشتراك واحد أو أكثر كنطاق قابل للتعيين. لمزيد من المعلومات حول الأدوار المخصصة ومجموعات الإدارة، راجع تنظيم مواردك باستخدام مجموعات إدارة Azure.
تم رفض الوصول أو أخطاء الإذن
العرض - فشل التخويل
عند محاولة إنشاء مورد، تحصل على رسالة الخطأ التالية:
The client with object id does not have authorization to perform action over scope (code: AuthorizationFailed)
السبب 1
لقد سجلت دخولك حاليا باستخدام مستخدم ليس لديه إذن الكتابة إلى المورد في النطاق المحدد.
الحل 1
تحقق من تسجيل الدخول حاليا مع مستخدم تم تعيين دور له إذن الكتابة إلى المورد في النطاق المحدد. على سبيل المثال، لإدارة الأجهزة الظاهرية في مجموعة موارد، يجب أن يكون لديك دور مساهم الجهاز الظاهري في مجموعة الموارد (أو النطاق الأصل). للحصول على قائمة بالأذونات لكل دور مضمن، راجع أدوار Azure المضمنة.
السبب 2
المستخدم الذي قام بتسجيل الدخول حاليا لديه تعيين دور بالمعايير التالية:
- يتضمن الدور إجراء بيانات Microsoft.Storage
- يتضمن تعيين الدور شرط ABAC الذي يستخدم عوامل مقارنة GUID
الحل 2
في هذا الوقت، لا يمكن أن يكون لديك تعيين دور مع إجراء بيانات Microsoft.Storage وشرط ABAC الذي يستخدم عامل مقارنة GUID. فيما يلي خياران لحل هذا الخطأ:
- إذا كان الدور دورا مخصصا، فقم بإزالة أي إجراءات بيانات Microsoft.Storage
- تعديل شرط تعيين الدور بحيث لا يستخدم عوامل المقارنة GUID
العرض - فشل تخويل المستخدم الضيف
عندما يحاول مستخدم ضيف الوصول إلى مورد، يحصل على رسالة خطأ مشابهة لما يلي:
The client '<client>' with object id '<objectId>' does not have authorization to perform action '<action>' over scope '<scope>' or the scope is invalid.
السبب
لا يملك المستخدم الضيف أذونات للمورد في النطاق المحدد.
الحل
تحقق من تعيين دور للمستخدم الضيف بأذونات أقل امتيازا للمورد في النطاق المحدد. لمزيد من المعلومات، قم بتعيين أدوار Azure للمستخدمين الخارجيين باستخدام مدخل Microsoft Azure.
العرض - تعذر إنشاء طلب دعم
عند محاولة إنشاء تذكرة دعم أو تحديثها، تتلقى رسالة الخطأ التالية:
You don't have permission to create a support request
السبب
لقد سجلت دخولك حاليا باستخدام مستخدم ليس لديه إذن لإنشاء طلبات الدعم.
الحل
تحقق من تسجيل الدخول حاليا مع مستخدم تم تعيين دور له Microsoft.Support/supportTickets/write
الإذن، مثل مساهم طلب الدعم.
تم تعطيل ميزات Azure
الأعراض - تم تعطيل بعض ميزات تطبيق الويب
يتمتع المستخدم بإمكانية الوصول للقراءة إلى تطبيق ويب ويتم تعطيل بعض الميزات.
السبب
إذا منحت مستخدم حق الوصول للقراءة إلى تطبيق ويب، يتم تعطيل بعض الميزات التي قد لا تتوقعها. تتطلب قدرات الإدارة التالية الوصول للكتابة إلى تطبيق ويب ولا تتوفر في أي سيناريو للقراءة فقط.
- الأوامر (مثل البدء والإيقاف وما إلى ذلك)
- تغيير الإعدادات مثل التكوين العام وإعدادات المقياس وإعدادات النسخ الاحتياطي وإعدادات المراقبة
- الوصول إلى بيانات اعتماد النشر والأسرار الأخرى مثل إعدادات التطبيق سلسلة الاتصال
- سجلات الدفق
- تكوين سجلات الموارد
- وحدة التحكم (موجه الأوامر)
- عمليات النشر النشطة والأخيرة (للتوزيع المستمر ل git المحلي)
- الإنفاق المقدر
- اختبارات الويب
- الشبكة الظاهرية (مرئية فقط للقارئ إذا تم تكوين شبكة ظاهرية مسبقا من قبل مستخدم لديه حق الوصول للكتابة).
الحل
تعيين المساهم أو دور Azure مضمن آخر مع أذونات الكتابة لتطبيق الويب.
الأعراض - تم تعطيل بعض موارد تطبيق الويب
يتمتع المستخدم بإمكانية الوصول للكتابة إلى تطبيق ويب ويتم تعطيل بعض الميزات.
السبب
تكون تطبيقات الويب معقدة بسبب وجود بعض الموارد المختلفة التي تتفاعل. فيما يلي مجموعة موارد نموذجية مع اثنين من مواقع الويب:
ونتيجة لذلك، إذا منحت شخصا ما حق الوصول إلى تطبيق الويب فقط، يتم تعطيل الكثير من الوظائف على جزء موقع الويب في مدخل Microsoft Azure.
تتطلب هذه العناصر الوصول للكتابة إلى خطة خدمة التطبيقات التي تتوافق مع موقع الويب الخاص بك:
- عرض مستوى التسعير لتطبيق الويب (مجاني أو قياسي)
- تكوين المقياس (عدد المثيلات وحجم الجهاز الظاهري وإعدادات التحجيم التلقائي)
- الحصص النسبية (التخزين، النطاق الترددي، وحدة المعالجة المركزية)
تتطلب هذه العناصر حق الوصول للكتابة إلى مجموعة الموارد بأكملها التي تحتوي على موقع الويب الخاص بك:
- شهادات TLS/SSL والروابط (يمكن مشاركة شهادات TLS/SSL بين المواقع في نفس مجموعة الموارد والموقع الجغرافي)
- قواعد التنبيه
- إعدادات التحجيم التلقائي
- مكونات Application insights
- اختبارات الويب
الحل
تعيين دور مضمن في Azure مع أذونات الكتابة لخطة خدمة التطبيق أو مجموعة الموارد.
الأعراض - تم تعطيل بعض ميزات الجهاز الظاهري
المستخدم لديه حق الوصول إلى جهاز ظاهري ويتم تعطيل بعض الميزات.
السبب
على غرار تطبيقات الويب، تتطلب بعض الميزات الموجودة على شفرة الجهاز الظاهري الوصول للكتابة إلى الجهاز الظاهري، أو إلى موارد أخرى في مجموعة الموارد.
ترتبط الأجهزة الظاهرية بأسماء المجالات والشبكات الظاهرية وحسابات التخزين وقواعد التنبيه.
تتطلب هذه العناصر الوصول للكتابة إلى الجهاز الظاهري:
- نقاط النهاية
- عناوين IP
- الأقراص
- ملحقات
تتطلب هذه الوصول للكتابة إلى كل من الجهاز الظاهري ومجموعة الموارد (جنبا إلى جنب مع اسم المجال) الموجودة فيه:
- مجموعة التوفّر
- تحميل مجموعة متوازنة
- قواعد التنبيه
إذا لم تتمكن من الوصول إلى أي من هذه الإطارات المتجانبة، فاطلب من المسؤول وصول المساهم إلى مجموعة الموارد.
الحل
تعيين دور مضمن في Azure مع أذونات الكتابة للجهاز الظاهري أو مجموعة الموارد.
العرض - تم تعطيل بعض ميزات تطبيق الوظائف
يمكن للمستخدم الوصول إلى تطبيق الوظائف ويتم تعطيل بعض الميزات. على سبيل المثال، يمكنهم النقر فوق علامة التبويب ميزات النظام الأساسي ثم النقر فوق كافة الإعدادات لعرض بعض الإعدادات المتعلقة بتطبيق الوظائف (على غرار تطبيق الويب)، ولكن لا يمكنهم تعديل أي من هذه الإعدادات.
السبب
تتطلب بعض ميزات Azure Functions الوصول للكتابة . على سبيل المثال، إذا تم تعيين دور القارئ للمستخدم، فلن يتمكن من عرض الوظائف داخل تطبيق الوظائف. يعرض المدخل (بلا وصول) .
الحل
تعيين دور مضمن في Azure مع أذونات الكتابة لتطبيق الوظيفة أو مجموعة الموارد.
نقل اشتراك إلى دليل مختلف
العرض - يتم حذف كافة تعيينات الأدوار بعد نقل اشتراك
السبب
عند نقل اشتراك Azure إلى دليل Microsoft Entra مختلف، يتم حذف كافة تعيينات الأدوار نهائيا من دليل Microsoft Entra المصدر ولا يتم ترحيلها إلى دليل Microsoft Entra الهدف.
الحل
يجب إعادة إنشاء تعيينات الدور في الدليل الهدف. يجب عليك أيضا إعادة إنشاء الهويات المدارة يدويا لموارد Azure. لمزيد من المعلومات، راجع نقل اشتراك Azure إلى دليل Microsoft Entra مختلف والأسئلة المتداولة والمشكلات المعروفة مع الهويات المدارة.
العرض - يتعذر الوصول إلى الاشتراك بعد نقل اشتراك
الحل
إذا كنت مسؤولا عاما في Microsoft Entra ولم يكن لديك حق الوصول إلى اشتراك بعد نقله بين الدلائل، فاستخدم تبديل إدارة الوصول لموارد Azure لرفع مستوى وصولك مؤقتا للحصول على حق الوصول إلى الاشتراك.
مسؤولو الاشتراك الكلاسيكي
هام
اعتبارا من 31 أغسطس 2024، يتم إيقاف أدوار مسؤول Azure الكلاسيكية (جنبا إلى جنب مع موارد Azure الكلاسيكية وAzure Service Manager) ولم تعد مدعومة. إذا كان لا يزال لديك تعيينات دور مسؤول مشارك أو مسؤول خدمة نشطة، فحول تعيينات الأدوار هذه إلى Azure RBAC على الفور.
لمزيد من المعلومات، راجع مسؤولو الاشتراك الكلاسيكي في Azure.