إدارة أدوار وأذونات Azure AD باستخدام PowerShell

إدارة أدوار Azure AD والأذونات باستخدام PowerShell. هل تحتاج إلى مساعدة في إدارة وتوتين أدوار وأذونات Azure AD باستخدام Windows PowerShell؟ يشرح هذا المقال السيناريوهات النموذجية لتوتين التحكم في الوصول بناءً على الأدوار في Azure (RBAC) باستخدام PowerShell.

لوضع الأساس والتحضير لإدارة أدوار وأذونات Azure، نبدأ بنظرة عامة على التحكم في الوصول بناءً على الأدوار في Azure (RBAC). بعد ذلك، نشرح العناصر الثلاثة لتخصيص الأدوار.

هناك أيضًا قسم يشرح الشروط المسبقة لإدارة أدوار وأذونات Azure AD باستخدام Windows PowerShell.

تُخصص الأقسام التالية لشرح خطوات تخصيص أدوار Azure AD باستخدام PowerShell.

وأخيرًا، نشرح كيفية عرض الأدوار المُخصصة لـالمستخدمين والمجموعات باستخدام PowerShell.

ما هو التحكم في الوصول بناءً على الأدوار في Azure (RBAC)يسمح التحكم في الوصول بناءً على الأدوار في Azure (RBAC) للمسؤولين بتحكم دقيق في التحكم في الوصول إلى الموارد. بمعنى آخر، يُتيح RBAC في Azure للمسؤولين التحكم في من لديهم وصول إلى الموارد.

نظام التحكم في الوصول حسب الأدوار (RBAC) في Azure يسمح للمسؤولين بالتحكم في الوصول الدقيق إلى الموارد. بعبارة أخرى، RBAC في Azure يسمح للمسؤولين بالتحكم في من لديه إمكانات الوصول إلى الموارد.

بالإضافة إلى ذلك، RBAC يتحكم في مستوى الوصول إلى الموارد في Azure.

يقع مركز RBAC في تعيينات الأدوار. يحتوي Azure على مئات الأدوار المضمنة مع إمكانات معرفة مسبقًا تُعين إلى المستخدمين أو المجموعات أو مواكب الخدمة.

وجود الأدوار المضمنة مع إمكانات معرفة مسبقًا يجعل تعيين الأدوار سهلًا، حيث لا يتعين على المسؤولين منح الإذنيات للكائنات مباشرة.

ومع ذلك، قد لا تكون الأدوار المضمنة مناسبة لاحتياجات المؤسسة في بعض الأحيان. في هذه الحالة، يتم إنشاء أدوار مخصصة.

يغطي هذا المقال الخطوات لتعيين الأدوار الموجودة أيضًا وإنشاء وتعيين أدوار Azure AD المخصصة.

عناصر تعيين الأدوار في Azure

إلزام تعيين الأدوار يتضمن 3 عناصر – مطلق الأمان، تعريف الأدورة، والنطاق. مطلق الأمان هو كائن Azure Active Directory الذي يجب تعيين الدور له.

من ناحية أخرى، تعريف الدور هو الدور المضمن أو المخصص في Azure AD الذي يتم تعيينه بينما النطاق هو المستوى الذي يتم تعيين الدور عليه. هناك 4 نطاقات تتم فيها تعيين الأدورات في Azure.

تُسند الأدوار في Azure بشكل خاص إلى مورد، مجموعة موارد، اشتراك، ومجموعة إدارة. لتعيين دور لمورد، تحتاج إلى معرف المورد.

ومع ذلك، يتطلب تعيين دور على نطاق مجموعة موارد اسم مجموعة الموارد. يُعيد تشغيل أمر Get-AzResourceGroup جميع مجموعات الموارد، بما في ذلك أسماؤها في الاشتراك الحالي.

إذا كنت ترغب في تعيين دور على نطاق الاشتراك، فإنك بحاجة إلى معرف الاشتراك. لعرض جميع الاشتراكات في المستأجر، قم بتشغيل أمر Get-AzSubscription.

وأخيرًا، يتم تعيين الأدوار على نطاق مجموعة الإدارة، والذي يتطلب اسم مجموعة الإدارة. للحصول على اسم مجموعة الإدارة، قم بتشغيل أمر Get-AzManagementGroup.

فهم هذه العناصر مهم لإدارة أدوار Azure AD والأذونات بواسطة PowerShell. في الجزء المتبقي من المقالة، سنستكشف كيفية استخدام المبدأ الأمني، تعريف الدور، والنطاق لتعيين وإدارة الأدوار في Azure AD باستخدام PowerShell.

المتطلبات الأساسية لإدارة أدوار Azure AD والأذونات بواسطة PowerShell

قبل أن يُسند المسؤولون أدوارًا، يجب عليهم تلبية الشروط التالية:

  1. يجب تعيين الأدوار للمستخدم بصلاحيات Microsoft.Authorization/roleAssignments/write. الأدوار الوحيدة التي تمتلك هذه الصلاحية هي مسؤول الوصول للمستخدم، أو المالك، أو المسؤول العالمي.
  2. ثانيًا، تحتاج إلى الوصول إلى سل السحابة الخاص بAzure أو Azure PowerShell.
  3. يجب أن يكون لحساب المستخدم الذي يقوم بتشغيل الأوامر في PowerShell صلاحية قراءة الدليل للميكروسوفت غراف.
  4. وأخيرًا، لأداء بعض المهام في هذا المقال، يتطلب حسابك ترخيص Azure AD Premium P1 الأدنى.

مع تقدمنا في هذا المقال، سنشرح الخطوات لتعيين هذه الأذونات كما هو مطلوب.

خطوات تعيين الأدوار المضمنة في Azure AD باستخدام PowerShellإذا قمت بالنقر على رابط سل السحابة أعلاه وتسجيل الدخول بحساب Azure الخاص بك، ستظهر شاشة مشابهة لتلك الموجودة في الصورة أدناه. فائدة سل السحابة الخاص بAzure هي أنه لا يتطلب تثبيت أي وحدات PowerShell على جهاز الكمبيوتر الخاص بك.

I’ll be running the PowerShell commands in this and subsequent sections from Azure Cloud Shell, a browser-based shell that allows running Azure CLI or PowerShell commands. However, I’ll be running the commands from my computer. 

إذا قمت بالنقر فوق رابط سحابة الشل أعلاه وتسجيل الدخول باستخدام حساب Azure الخاص بك، سيتم عرض شاشة مشابهة لتلك الموجودة في الصورة أدناه. فائدة سحابة Azure Shell هي أنها لا تتطلب تثبيت أي وحدات PowerShell على جهاز الكمبيوتر الشخصي الخاص بك.

الخطوة 1: تحديد معرف الكائن

يجب عليك الحصول على معرف الكائن قبل تعيين دور لمورد Azure. اتبع هذه الخطوات لتحديد معرف الكائن لمستخدم أو مجموعة أو اشتراك.

1. افتح سحابة Azure Shell – shell.azure.com وقم بتسجيل الدخول باستخدام حساب Azure الخاص بك.

إذا كنت تقوم بفتح سحابة Azure Shell لأول مرة، فسيتطلب منك إنشاء حساب تخزين.

2. قم بتشغيل الأوامر أدناه للحصول على معرف المستخدم أو المجموعة التي تحتاج إلى تعيين دور لها. في الأمر الأول، سأقوم بإرجاع معرف مستخدم يبدأ بـ

$userid = (Get-AzADUser -UserPrincipalName AnthonyRa@corp.itechguides.com).id
$groupid = (Get-AzADGroup -DisplayName "Helpdesk Admins (AAD)").id

الأمر الأول يحفظ معرف المستخدم في متغير userid، بينما يحفظ الأمر الثاني معرف المجموعة في المتغير grouped. قبل تشغيل الأوامر، تذكر أن تقوم بتغيير UserPrincipalName والDisplayName. 

الخطوة 2: الحصول على الدور الذي سيتم تعيينه

الخطوة التالية لإدارة Azure AD الأدوار والصلاحيات باستخدام PowerShell هي تحديد الدور الذي سيتم تعيينه. ابدأ بسرد جميع الأدوار المتاحة في مستأجر Azure AD الخاص بك باستخدام الأمر التالي.

Get-AzRoleDefinition | Format-Table -Property Name, IsCustom, Id

يعرض الأمر الاسم، و المعرف لجميع الأدوار في المستأجر. بالإضافة إلى ذلك، يُرجع True أو False في العمود IsCustom

للتوضيح، أرغب في تعيين دور مسؤول الأمان للمستخدم والمجموعة التي حددتها في الخطوة 1. لعرض اسم الدور، أقوم بتوجيه نتيجة الأمر Get-AzRoleDefinition إلى Where-Object كما هو موضح في هذا الأمر. 

$roleassignmentname = (Get-AzRoleDefinition | where-object {$_.name -eq "Security Admin"}).Name

الخطوة 3: تحديد نطاق تعيين الدور

الأمر أدناه يُرجع معرف المورد لحساب تخزين (نطاق المورد) ويحفظه في متغير ResourceID. 

لاحقًا، أعين المستخدم في الخطوة 1 دور “مسؤول الأمان” في هذا المورد لحساب التخزين. 

$scoperesourceID = (Get-AzResource | Where-object {$_.name -eq "veeambackup21"}).ResourceID

الخطوة 4: تعيين دور Azure

باستخدام المعلومات الموجودة في الخطوات من 1 إلى 3، قم بتشغيل الأمر أدناه لـ تعيين الدور للمستخدم. قبل تشغيل الأمر، لم يتم تعيين الدور لهذا الحساب التخزين، كما هو موضح في اللقطة أدناه.

يعين الأمر الأول دور “مسؤول الأمان” لمستخدم محفوظ في المتغير $userid. بالمثل، يعين الأمر الثاني نفس الدور لمجموعة محفوظة في المتغير $groupid.

New-AzRoleAssignment -ObjectId $userid -RoleDefinitionName $roleassignmentname -Scope $scoperesourceID
New-AzRoleAssignment -ObjectId $groupid -RoleDefinitionName $roleassignmentname -Scope $scoperesourceID

بعد تشغيل الأوامر أعلاه، يعرض تحديث حسابات التخزين دور مسؤول الأمان، والمستخدم والمجموعة المعينين للدور.

عرض تعيين الدور في Azure AD باستخدام PowerShell

سابقًا، قمت بتعيين دور “مسؤول الأمان” لمستخدم بـ UPN، [email protected]. إذا تذكرت، تم حفظ userId للمستخدم في المتغير $userid.

بالمثل، تم حفظ معرف نطاق حساب التخزين في المتغير $scoperesourceID. لعرض تعيين الدور للمستخدم، أقوم بتشغيل الأمر أدناه.

get-AzRoleAssignment -scope $scoperesourceID -ObjectId $userid

يعرض الأمر تفاصيل تعيين الدور، بما في ذلك اسم تعيين الدور، والنطاق.

يمكنك عرض نفس المعلومات للمجموعة عن طريق تشغيل هذا الأمر.

get-AzRoleAssignment -scope $scoperesourceID -ObjectId $groupid

إدارة أدوار Azure AD وأذوناتها باستخدام PowerShell الاستنتاج

يتطلب إدارة أدوار Azure معرفة بنموذج التحكم في الوصول القائم على الأدوار. بالإضافة إلى ذلك، فإن فهم عناصر تعيين الأدوار في Azure – المبدأ الأمني، وتعريف الدور، والنطاق – أمر أساسي لإدارة تعيين الأدوار بفعالية باستخدام PowerShell.

وليس فقط ذلك، بل يجب على الحساب الذي يقوم بتعيين الأدوار أن يستوفي بعض الشروط مثل تكوين PowerShell بالوحدات المطلوبة وضمان الامتيازات الإدارية المناسبة.

يقدم الدليل الخطوة بالخطوة المقدم في هذه المقالة خارطة طريق واضحة لمتابعتها عند تعيين أدوار Azure AD المدمجة باستخدام PowerShell. من تحديد معرف الكائن إلى تحديد النطاق لتعيين الدور، يتم توضيح كل مرحلة بدقة، مما يسهل عملية تخصيص الأدوار بسلاسة وبشكل مراقب.

Source:
https://infrasos.com/managing-azure-ad-roles-and-permissions-with-powershell/