مشاركة عبر


تعيينات الأدوار المؤهلة والمرتبطة بالوقت في Azure RBAC

إذا كان لديك ترخيص Microsoft Entra ID P2 أو Microsoft Entra ID Governance، يتم دمج Microsoft Entra إدارة الهويات المتميزة (PIM) في خطوات تعيين الدور. على سبيل المثال، يمكنك تعيين أدوار للمستخدمين لفترة زمنية محدودة. يمكنك أيضا جعل المستخدمين مؤهلين لتعيينات الأدوار بحيث يجب عليهم التنشيط لاستخدام الدور، مثل طلب الموافقة. توفر تعيينات الأدوار المؤهلة وصولا في الوقت المناسب إلى دور لفترة زمنية محدودة.

توضح هذه المقالة تكامل التحكم في الوصول المستند إلى دور Azure (Azure RBAC) وMicrosoft Entra إدارة الهويات المتميزة (PIM) لإنشاء تعيينات أدوار مؤهلة ومرتبطة بالوقت.

وظائف إدارة الهويات المتميزة

إذا كان لديك PIM، يمكنك إنشاء تعيينات أدوار مؤهلة ومرتبطة بالوقت باستخدام صفحة التحكم في الوصول (IAM) في مدخل Microsoft Azure. يمكنك إنشاء تعيينات أدوار مؤهلة للمستخدمين، ولكن لا يمكنك إنشاء تعيينات أدوار مؤهلة للتطبيقات أو أساسيات الخدمة أو الهويات المدارة لأنه لا يمكنهم تنفيذ خطوات التنشيط. في صفحة التحكم في الوصول (IAM)، يمكنك إنشاء تعيينات أدوار مؤهلة في مجموعة الإدارة والاشتراك ونطاق مجموعة الموارد، ولكن ليس في نطاق المورد.

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

لقطة شاشة لإضافة تعيين دور مع عرض خيارات نوع التعيين.

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

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

لفهم PIM بشكل أفضل، يجب عليك مراجعة المصطلحات التالية.

المصطلح أو المفهوم فئة تعيين الأدوار ‏‏الوصف
مؤهل نوع تعيين دور يتطلب من المستخدم تنفيذ إجراء واحد أو أكثر لاستخدام الدور. إذا أصبح المستخدم مؤهلاً للحصول على دور، فهذا يعني أنه يمكنه تنشيط الدور عندما يحتاج إلى تنفيذ مهام متميزة. لا يوجد فرق في الوصول الممنوح لشخص لديه تعيين دور دائم مقابل تعيين دور مؤهل. الفرق الوحيد هو أن بعض الناس لا يحتاجون إلى هذا الوصول طوال الوقت.
active نوع تعيين دور لا يتطلب من المستخدم تنفيذ أي إجراء لاستخدام الدور. المستخدمون المعينون على أنهم نشطين لديهم الامتيازات المعينة للدور.
تنشيط عملية تنفيذ إجراء واحد أو أكثر لاستخدام دور مؤهل له المستخدم. قد تتضمن الإجراءات إجراء فحص مصادقة متعددة العوامل (MFA)، أو توفير مبرر عمل، أو طلب موافقة من الموافقين المعينين.
مؤهل دائم المدة تعيين دور يكون فيه المستخدم مؤهلاً دائماً لتنشيط الدور.
نشط دائم المدة تعيين دور حيث يمكن للمستخدم دائما استخدام الدور دون تنفيذ أي إجراءات.
مؤهل محدد بوقت المدة تعيين دور يكون فيه المستخدم مؤهلاً لتنشيط الدور فقط في تاريخ البدء وتاريخ الانتهاء.
نشط محدد زمنياً المدة تعيين دور يكون فيه المستخدم مؤهلاً لتنشيط الدور فقط في تاريخ البدء وتاريخ الانتهاء.
الوصول في الوقت المناسب (JIT) طراز يتلقى المستخدمون فيه أذونات مؤقتة لأداء مهام متميزة، مما يمنع المستخدمين الضارين أو غير المعتمدين من الوصول بعد انتهاء صلاحية الأذونات. يُمنح الوصول فقط عندما يحتاج إليه المستخدمون.
مبدأ أدنى وصول متميز ممارسة أمان موصى بها حيث يُزود كل مستخدم بالحد الأدنى فقط من الامتيازات اللازمة لإنجاز المهام المخولة له بتنفيذها. تقلل هذه الممارسة من عدد المسؤولين العموميين وتستخدم بدلاً من ذلك أدوار مسؤول معينة لسيناريوهات معينة.

لمزيد من المعلومات، راجع ما هو Microsoft Entra إدارة الهويات المتميزة؟.

كيفية سرد تعيينات الأدوار المؤهلة والمرتبطة بالوقت

إذا كنت تريد معرفة المستخدمين الذين يستخدمون وظيفة PIM، فإليك خيارات لكيفية سرد تعيينات الأدوار المؤهلة والمرتبطة بالوقت.

الخيار 1: القائمة باستخدام مدخل Microsoft Azure

  1. سجل الدخول إلى مدخل Microsoft Azure، وافتح صفحة التحكم في الوصول (IAM)، وحدد علامة التبويب Role assignments .

  2. تصفية تعيينات الأدوار المؤهلة والمرتبطة بالوقت.

    يمكنك التجميع والفرز حسب الحالة، والبحث عن تعيينات الأدوار التي ليست من النوع الدائم النشط.

    لقطة شاشة للتحكم في الوصول والتعيينات النشطة وعلامات تبويب التعيينات المؤهلة.

الخيار 2: القائمة باستخدام PowerShell

لا يوجد أمر PowerShell واحد يمكنه سرد كل من تعيينات الأدوار المؤهلة والنشطة المرتبطة بالوقت. لسرد تعيينات الأدوار المؤهلة، استخدم الأمر Get-AzRoleEligibilitySchedule . لسرد تعيينات الدور النشط، استخدم الأمر Get-AzRoleAssignmentSchedule .

يوضح هذا المثال كيفية سرد تعيينات الأدوار المؤهلة والمرتبطة بالوقت في اشتراك، والذي يتضمن أنواع تعيين الدور هذه:

  • دائم مؤهل
  • حدود زمنية مؤهلة
  • محدد زمني نشط

يقوم Where-Object الأمر بتصفية تعيينات الأدوار الدائمة النشطة المتوفرة مع وظائف Azure RBAC بدون PIM.

Get-AzRoleEligibilitySchedule -Scope /subscriptions/<subscriptionId> 
Get-AzRoleAssignmentSchedule -Scope /subscriptions/<subscriptionId> | Where-Object {$_.EndDateTime -ne $null }

للحصول على معلومات حول كيفية إنشاء النطاقات، راجع فهم نطاق Azure RBAC.

كيفية تحويل تعيينات الأدوار المؤهلة والمرتبطة بالوقت إلى تعيينات دائمة نشطة

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

الخيار 1: التحويل باستخدام مدخل Microsoft Azure

  1. في مدخل Microsoft Azure، في علامة التبويب Role assignments وعمود State، حدد الارتباطات المؤهلة الدائمة والمؤهلة المحددة زمنيا والمرتبطة بالوقت النشط لكل تعيين دور تريد تحويله.

  2. في جزء تحرير التعيين، حدد نشط لنوع التعيين ودائم لمدة التعيين.

    لمزيد من المعلومات، راجع تحرير الواجب.

    لقطة شاشة لجزء

  3. عند الانتهاء، حدد حفظ.

    قد تستغرق التحديثات بعض الوقت لتتم معالجتها وتنعكس في المدخل.

  4. كرر هذه الخطوات لجميع تعيينات الأدوار في نطاقات مجموعة الإدارة والاشتراك ومجموعة الموارد التي تريد تحويلها.

    إذا كان لديك تعيينات أدوار في نطاق المورد الذي تريد تحويله، يجب عليك إجراء تغييرات مباشرة في PIM.

الخيار 2: التحويل باستخدام PowerShell

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

هام

قد تتسبب إزالة تعيينات الأدوار في حدوث اضطرابات في بيئتك. تأكد من فهم التأثير قبل تنفيذ هذه الخطوات.

  1. استرد قائمة بجميع تعيينات الدور المؤهلة والمرتبطة بالوقت واحفظها في موقع آمن لمنع فقدان البيانات.

    هام

    من المهم حفظ قائمة تعيينات الأدوار المؤهلة والمرتبطة بالوقت لأن هذه الخطوات تتطلب منك إزالة تعيينات الأدوار هذه قبل إنشاء تعيينات الأدوار نفسها التي تكون دائمة نشطة.

  2. استخدم الأمر New-AzRoleEligibilityScheduleRequest لإزالة تعيينات الدور المؤهلة.

    يوضح هذا المثال كيفية إزالة تعيين دور مؤهل.

    $guid = New-Guid
    New-AzRoleEligibilityScheduleRequest -Name $guid -Scope <Scope> -PrincipalId <PrincipalId> -RoleDefinitionId <RoleDefinitionId> -RequestType AdminRemove
    
  3. استخدم الأمر New-AzRoleAssignmentScheduleRequest لإزالة تعيينات الأدوار النشطة المرتبطة بالوقت.

    يوضح هذا المثال كيفية إزالة تعيين دور نشط مرتبط بالوقت.

    $guid = New-Guid
    New-AzRoleAssignmentScheduleRequest -Name $guid -Scope <Scope> -PrincipalId <PrincipalId> -RoleDefinitionId <RoleDefinitionId> -RequestType AdminRemove
    
  4. استخدم الأمر Get-AzRoleAssignment للتحقق من تعيين دور موجود واستخدام الأمر New-AzRoleAssignment لإنشاء تعيين دور دائم نشط باستخدام Azure RBAC لكل تعيين دور مؤهل ومرتبط بالوقت.

    يوضح هذا المثال كيفية التحقق من تعيين دور موجود وإنشاء تعيين دور دائم نشط باستخدام Azure RBAC.

    $result = Get-AzRoleAssignment -ObjectId $RA.PrincipalId -RoleDefinitionName $RA.RoleDefinitionDisplayName -Scope $RA.Scope;
    if($result -eq $null) {
    New-AzRoleAssignment -ObjectId $RA.PrincipalId -RoleDefinitionName $RA.RoleDefinitionDisplayName -Scope $RA.Scope
    }
    

كيفية الحد من إنشاء تعيينات الأدوار المؤهلة أو المحددة زمنيا

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

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

{
  "properties": {
    "displayName": "Limit eligible and active time-bound role assignments except for allowed principal IDs",
    "policyType": "Custom",
    "mode": "All",
    "metadata": {
      "createdBy": "aaaaaaaa-bbbb-cccc-1111-222222222222",
      "createdOn": "2024-11-05T02:31:25.1246591Z",
      "updatedBy": "aaaaaaaa-bbbb-cccc-1111-222222222222",
      "updatedOn": "2024-11-06T07:58:17.1699721Z"
    },
    "version": "1.0.0",
    "parameters": {
      "allowedPrincipalIds": {
        "type": "Array",
        "metadata": {
          "displayName": "Allowed Principal IDs",
          "description": "A list of principal IDs that can receive PIM role assignments."
        },
        "defaultValue": []
      }
    },
    "policyRule": {
      "if": {
        "anyof": [
          {
            "allOf": [
              {
                "field": "type",
                "equals": "Microsoft.Authorization/roleEligibilityScheduleRequests"
              },
              {
                "not": {
                  "field": "Microsoft.Authorization/roleEligibilityScheduleRequests/principalId",
                  "in": "[parameters('allowedPrincipalIds')]"
                }
              }
            ]
          },
          {
            "allOf": [
              {
                "field": "type",
                "equals": "Microsoft.Authorization/roleAssignmentScheduleRequests"
              },
              {
                "not": {
                  "field": "Microsoft.Authorization/roleAssignmentScheduleRequests/principalId",
                  "in": "[parameters('allowedPrincipalIds')]"
                }
              }
            ]
          }
        ]
      },
      "then": {
        "effect": "deny"
      }
    },
    "versions": [
      "1.0.0"
    ]
  },
  "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4ef/providers/Microsoft.Authorization/policyDefinitions/1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5",
  "type": "Microsoft.Authorization/policyDefinitions",
  "name": "1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5",
  "systemData": {
    "createdBy": "test1@contoso.com",
    "createdByType": "User",
    "createdAt": "2024-11-05T02:31:25.0836273Z",
    "lastModifiedBy": "test1@contoso.com",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2024-11-06T07:58:17.1651655Z"
  }
}

للحصول على معلومات حول خصائص مورد PIM، راجع مستندات واجهة برمجة تطبيقات REST هذه:

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

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