البرنامج التعليمي: إنشاء دور مخصص Azure باستخدام Azure PowerShell
إذا لم تلبِّ الأدوار المضمنة في Azureالاحتياجات المحددة لمؤسستك، يمكنك إنشاء أدوار مخصصة خاصة بك. يمكنك إنشاء دور مخصص لهذا البرنامج التعليمي، اسمه تذاكر دعم القارئ باستخدام Azure PowerShell. يسمح الدور المخصص للمستخدم بمشاهدة كل شيء في مستوى التحكم للاشتراك وكذلك فتح تذاكر الدعم.
في هذا البرنامج التعليمي، تتعلم كيفية:
- إنشاء دور مخصص
- الأدوار المخصصة بالقائمة
- تحديث الدور المخصص
- حذف الدور المخصص
في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
إشعار
نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.
المتطلبات الأساسية
لإكمال هذا البرنامج التعليمي، ستحتاج إلى:
- أذونات إنشاء أدوار مخصصة، مثل المستخدم Access مسؤول istrator
- Azure Cloud ShellأوAzure PowerShell
تسجيل الدخول إلى Azure PowerShell
تسجيل الدخول إلىAzure PowerShell.
إنشاء دور مخصص
أسهل طريقة لإنشاء دور مخصص هي البدء بدور مضمن، وتحريره ثم إنشاء دور جديد.
في PowerShell، استخدم الأمرGet-AzProviderOperationللحصول على قائمة العمليات لموفر الموارد Microsoft.Support. من المفيد معرفة العمليات المتوفرة لإنشاء الأذونات الخاصة بك. يمكنك أيضًا مشاهدة قائمة بكافة العمليات في عمليات موفر الموارد بـ Azure.
Get-AzProviderOperation "Microsoft.Support/*" | FT Operation, Description -AutoSize
Operation Description --------- ----------- Microsoft.Support/register/action Registers to Support Resource Provider Microsoft.Support/supportTickets/read Gets Support Ticket details (including status, severity, contact ... Microsoft.Support/supportTickets/write Creates or Updates a Support Ticket. You can create a Support Tic...
استخدم الأمرGet-AzRoleDefinitionلإخراج دور القارئ بتنسيق JSON.
Get-AzRoleDefinition -Name "Reader" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole.json
افتح ملفReaderSupportRole.jsonفي المحرر.
يظهر ما يلي مخرجات JSON. للحصول على معلومات حول الخصائص المختلفة، راجعأدوار Azure المخصصة.
{ "Name": "Reader", "Id": "acdd72a7-3385-48ef-bd42-f606fba81ae7", "IsCustom": false, "Description": "Lets you view everything, but not make any changes.", "Actions": [ "*/read" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/" ] }
قم بتحرير ملف JSON لإضافة الإجراء
"Microsoft.Support/*"
إلى الخاصيةActions
. تأكد من تضمين فاصلة بعد إجراء القراءة. سيسمح هذا الإجراء للمستخدم بإنشاء تذاكر دعم.الحصول على مُعَرِّف اشتراكك، باستخدام الأمر Get-AzSubscription.
Get-AzSubscription
AssignableScopes
أضف مُعَرِّف الاشتراك الخاص بك بالتنسيق التالي:"/subscriptions/00000000-0000-0000-0000-000000000000"
يجب إضافة مُعَرِفات اشتراك صريحة، وإلا فلن يسمح لك باستيراد الدور إلى اشتراكك.
حذف
Id
سطر الخاصية وتغييرIsCustom
الخاصية إلىtrue
.تغيير
Name
وDescription
والخصائص إلى "تذاكر دعم القارئ" و"عرض كل شيء في الاشتراك، وكذلك فتح تذاكر الدعم."يجب أن يبدو ملف JSON كما يلي:
{ "Name": "Reader Support Tickets", "IsCustom": true, "Description": "View everything in the subscription and also open support tickets.", "Actions": [ "*/read", "Microsoft.Support/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ] }
لإنشاء دور مخصص جديد، استخدم الأمرNew-AzRoleDefinitionوحدد ملف تعريف دور JSON.
New-AzRoleDefinition -InputFile "C:\CustomRoles\ReaderSupportRole.json"
Name : Reader Support Tickets Id : 22222222-2222-2222-2222-222222222222 IsCustom : True Description : View everything in the subscription and also open support tickets. Actions : {*/read, Microsoft.Support/*} NotActions : {} DataActions : {} NotDataActions : {} AssignableScopes : {/subscriptions/00000000-0000-0000-0000-000000000000}
يتوفر الآن دور مخصص جديد في مدخل Azure، ويمكن تعيينه للمستخدمين أو المجموعات أو أساسيات الخدمة مثل الأدوار المضمنة.
الأدوار المخصصة بالقائمة
لسرد كافة الأدوار المخصصة الخاصة بك، استخدم الأمرGet-AzRoleDefinition
Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom
Name IsCustom ---- -------- Reader Support Tickets True
يمكنك أيضًا مشاهدة الدور المخصص في مدخل Azure.
تحديث الدور المخصص
لتحديث الدور المخصص، يمكنك تحديث ملف JSON أو استخدامPSRoleDefinition
الكائن.
لتحديث ملف JSON، استخدم الأمرGet-AzRoleDefinitionلإخراج الدور المخصص بتنسيق JSON.
Get-AzRoleDefinition -Name "Reader Support Tickets" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole2.json
افتح الملف في المحرر.
في
Actions
، أضف الإجراء الخاص بإنشاء وإدارة عمليات نشر مجموعة الموارد"Microsoft.Resources/deployments/*"
.يجب أن يبدو ملف JSON كما يلي:
{ "Name": "Reader Support Tickets", "Id": "22222222-2222-2222-2222-222222222222", "IsCustom": true, "Description": "View everything in the subscription and also open support tickets.", "Actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ] }
لتحديث الدور المخصص استخدم الأمرSet-AzRoleDefinition وحدد ملف JSON المُحَدَّث.
Set-AzRoleDefinition -InputFile "C:\CustomRoles\ReaderSupportRole2.json"
Name : Reader Support Tickets Id : 22222222-2222-2222-2222-222222222222 IsCustom : True Description : View everything in the subscription and also open support tickets. Actions : {*/read, Microsoft.Support/*, Microsoft.Resources/deployments/*} NotActions : {} DataActions : {} NotDataActions : {} AssignableScopes : {/subscriptions/00000000-0000-0000-0000-000000000000}
لاستخدام
PSRoleDefintion
الكائن لتحديث دورك المخصص، استخدم أولاً الأمر Get-AzRoleDefinition للحصول على الدور.$role = Get-AzRoleDefinition "Reader Support Tickets"
اتصل بأسلوب
Add
لإضافة الإجراء لقراءة إعدادات التشخيص.$role.Actions.Add("Microsoft.Insights/diagnosticSettings/*/read")
استخدم Set-AzRoleDefinitionلتحديث الدور.
Set-AzRoleDefinition -Role $role
Name : Reader Support Tickets Id : 22222222-2222-2222-2222-222222222222 IsCustom : True Description : View everything in the subscription and also open support tickets. Actions : {*/read, Microsoft.Support/*, Microsoft.Resources/deployments/*, Microsoft.Insights/diagnosticSettings/*/read} NotActions : {} DataActions : {} NotDataActions : {} AssignableScopes : {/subscriptions/00000000-0000-0000-0000-000000000000}
حذف الدور المخصص
استخدم الأمرGet-AzRoleDefinitionللحصول على مُعَرِّف الدور المخصص.
Get-AzRoleDefinition "Reader Support Tickets"
استخدم الأمرRemove-AzRoleDefinition، وحدد مُعَرِّف الدور لحذف الدور المخصص.
Remove-AzRoleDefinition -Id "22222222-2222-2222-2222-222222222222"
Confirm Are you sure you want to remove role definition with id '22222222-2222-2222-2222-222222222222'. [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
عند مطالبتك بالتأكيد، اكتبY.