مشاركة عبر


البرنامج التعليمي: إنشاء دور Azure مخصص باستخدام Azure CLI

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

في هذا البرنامج التعليمي، تتعلم كيفية:

  • إنشاء دور مخصص
  • قائمة الأدوار المخصصة
  • تعديل دور مخصص
  • حذف دور مخصص

في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

المتطلبات الأساسية

لإكمال هذا البرنامج التعليمي ، ستحتاج إلى:

تسجيل الدخول إلى واجهة سطر الأوامر Azure

سجل الدخول إلى Azure CLI.

إنشاء دور مخصص

أسهل طريقة لإنشاء دور مخصص هي البدء بقالب JSON، وإضافة التغييرات، ثم إنشاء دور جديد.

  1. راجع قائمة الإجراءات الخاصة بموفر موارد Microsoft.Support. من المفيد معرفة الإجراءات المتوفرة لإنشاء الأذونات.

    الإجراء ‏‏الوصف
    Microsoft.Support/register/action يسجل لدعم مزود الموارد
    Microsoft.Support/supportTickets/read يحصل على تفاصيل تذكرة الدعم (بما في ذلك الحالة والخطورة وتفاصيل الاتصال والاتصالات) أو يحصل على قائمة تذاكر الدعم عبر الاشتراكات.
    Microsoft.Support/supportTickets/write إنشاء تذكرة دعم أو تحديثها. يمكنك إنشاء تذكرة دعم للمشكلات الفنية أو الفوترة أو الحصص أو إدارة الاشتراك. يمكنك تحديث الخطورة وتفاصيل الاتصال والاتصالات لتذاكر الدعم الحالية.
  2. قم بإنشاء ملف جديد باسم ReaderSupportRole.json.

  3. افتح ReaderSupportRole.json في محرر وأضف JSON التالي.

    للحصول على معلومات حول الخصائص المختلفة، راجع الأدوار المخصصة ل Azure.

    {
      "Name": "",
      "IsCustom": true,
      "Description": "",
      "Actions": [],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/{subscriptionId1}"
      ]
    }
    
  4. أضف الإجراءات التالية إلى الموقع Actions . تسمح هذه الإجراءات للمستخدم بعرض كل شيء في الاشتراك وإنشاء تذاكر دعم.

    "*/read",
    "Microsoft.Support/*"
    
  5. احصل على معرف اشتراكك باستخدام الأمر az account list .

    az account list --output table
    
  6. في AssignableScopes، استبدل {subscriptionId1} بمعرف اشتراكك.

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

  7. قم بتغيير 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"
      ]
    }
    
  8. لإنشاء الدور المخصص الجديد، استخدم الأمر az role definition create وحدد ملف تعريف دور JSON.

    az role definition create --role-definition "~/CustomRoles/ReaderSupportRole.json"
    
    {
      "additionalProperties": {},
      "assignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ],
      "description": "View everything in the subscription and also open support tickets.",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
      "name": "22222222-2222-2222-2222-222222222222",
      "permissions": [
        {
          "actions": [
            "*/read",
            "Microsoft.Support/*"
          ],
          "additionalProperties": {},
          "dataActions": [],
          "notActions": [],
          "notDataActions": []
        }
      ],
      "roleName": "Reader Support Tickets",
      "roleType": "CustomRole",
      "type": "Microsoft.Authorization/roleDefinitions"
    }
    

    يتوفر الدور المخصص الجديد الآن ويمكن تعيينه للمستخدمين أو المجموعات أو كيانات الخدمة تماما مثل الأدوار المضمنة.

قائمة الأدوار المخصصة

  • لسرد جميع الأدوار المخصصة، استخدم الأمر az role definition list مع المعلمة --custom-role-only .

    az role definition list --custom-role-only true
    
    [
      {
        "additionalProperties": {},
        "assignableScopes": [
          "/subscriptions/00000000-0000-0000-0000-000000000000"
        ],
        "description": "View everything in the subscription and also open support tickets.",
        "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
        "name": "22222222-2222-2222-2222-222222222222",
        "permissions": [
          {
            "actions": [
              "*/read",
              "Microsoft.Support/*",
              "Microsoft.Resources/deployments/*",
              "Microsoft.Insights/diagnosticSettings/*/read"
            ],
            "additionalProperties": {},
            "dataActions": [],
            "notActions": [],
            "notDataActions": []
          }
        ],
        "roleName": "Reader Support Tickets",
        "roleType": "CustomRole",
        "type": "Microsoft.Authorization/roleDefinitions"
      }
    ]
    

    يمكنك أيضا رؤية الدور المخصص في مدخل Microsoft Azure.

    لقطة شاشة للدور المخصص الذي تم استيراده في مدخل Microsoft Azure

تعديل دور مخصص

لتحديث الدور المخصص، قم بتحديث ملف JSON ثم قم بتحديث الدور المخصص.

  1. افتح ملف ReaderSupportRole.json.

  2. في Actions، أضف الإجراء لإنشاء عمليات "Microsoft.Resources/deployments/*"توزيع مجموعة الموارد وإدارتها. تأكد من تضمين فاصلة بعد الإجراء السابق.

    يجب أن يبدو ملف JSON المحدث كما يلي:

    {
      "Name": "Reader Support Tickets",
      "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"
      ]
    }
    
  3. لتحديث الدور المخصص، استخدم الأمر az role definition update وحدد ملف JSON المحدث.

    az role definition update --role-definition "~/CustomRoles/ReaderSupportRole.json"
    
    {
      "additionalProperties": {},
      "assignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ],
      "description": "View everything in the subscription and also open support tickets.",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
      "name": "22222222-2222-2222-2222-222222222222",
      "permissions": [
        {
          "actions": [
            "*/read",
            "Microsoft.Support/*",
            "Microsoft.Resources/deployments/*"
          ],
          "additionalProperties": {},
          "dataActions": [],
          "notActions": [],
          "notDataActions": []
        }
      ],
      "roleName": "Reader Support Tickets",
      "roleType": "CustomRole",
      "type": "Microsoft.Authorization/roleDefinitions"
    }
    

حذف دور مخصص

  • استخدم الأمر az role definition delete وحدد اسم الدور أو معرف الدور لحذف الدور المخصص.

    az role definition delete --name "Reader Support Tickets"
    

الخطوات التالية