منح حق الوصول لإنشاء اشتراكات Azure Enterprise (قديم)

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

إشعار

  • تعمل واجهة برمجة التطبيقات هذه فقط مع واجهات برمجة التطبيقات القديمة لإنشاء الاشتراك.
  • ما لم تكن لديك حاجة محددة لاستخدام واجهات برمجة التطبيقات القديمة، يجب عليك استخدام المعلومات الخاصة بـ أحدث إصدار من GA حول أحدث إصدار من واجهة برمجة التطبيقات. راجع تعيينات دور حساب التسجيل - ضع لمنح الإذن لإنشاء اشتراكات EA باستخدام أحدث واجهة برمجة تطبيقات.
  • إذا كنت تقوم بالترحيل لاستخدام أحدث واجهات برمجة التطبيقات، فيجب منح أذونات المالك مرة أخرى باستخدام 2019-10-01-preview. التكوين السابق الذي يستخدم واجهات برمجة التطبيقات التالية لا يُحول تلقائياً للاستخدام مع واجهات برمجة التطبيقات الأحدث.

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

منح حق الوصول

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

  1. احصل على معرف الكائن لحساب التسجيل الذي تريد منح حق الوصول إليه

    لمنح الآخرين دور مالك Azure RBAC في حساب تسجيل، يجب أن تكون إما مالك الحساب أو مالك Azure RBAC للحساب.

    طلب إدراج جميع حسابات التسجيل التي لديك حق الوصول إليها:

    GET https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts?api-version=2018-03-01-preview
    

    يستجيب Azure بقائمة بجميع حسابات التسجيل التي لديك حق الوصول إليها:

    {
      "value": [
        {
          "id": "/providers/Microsoft.Billing/enrollmentAccounts/747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "name": "747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "type": "Microsoft.Billing/enrollmentAccounts",
          "properties": {
            "principalName": "SignUpEngineering@contoso.com"
          }
        },
        {
          "id": "/providers/Microsoft.Billing/enrollmentAccounts/4cd2fcf6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "name": "4cd2fcf6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "type": "Microsoft.Billing/enrollmentAccounts",
          "properties": {
            "principalName": "BillingPlatformTeam@contoso.com"
          }
        }
      ]
    }
    

    استخدم الخاصية principalName لتحديد الحساب الذي تريد منح مالك Azure RBAC حق الوصول إليه. انسخ name من هذا الحساب. على سبيل المثال، إذا أردت منح Azure RBAC حق الوصول إلى SignUpEngineering@contoso.com حساب التسجيل، فعليك نسخ 747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx. هذا هو معرف الكائن لحساب التسجيل. الصق هذه القيمة في مكان ما بحيث يمكنك استخدامها في الخطوة التالية كـ enrollmentAccountObjectId.

    استخدم الخاصية principalName لتحديد الحساب الذي تريد منح مالك Azure RBAC حق الوصول إليه. انسخ name من هذا الحساب. على سبيل المثال، إذا أردت منح Azure RBAC حق الوصول إلى SignUpEngineering@contoso.com حساب التسجيل، فعليك نسخ 747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx. هذا هو معرف الكائن لحساب التسجيل. الصق هذه القيمة في مكان ما بحيث يمكنك استخدامها في الخطوة التالية كـ enrollmentAccountObjectId.

  2. احصل على معرف الكائن للمستخدم أو المجموعة التي تريد منحها دور مالك Azure RBAC

    1. في مدخل Microsoft Azure، ابحث عن معرف Microsoft Entra.
    2. إذا كنت تريد منح المستخدم حق الوصول، فحدد Users في القائمة الموجودة على اليمين. لمنح حق الوصول إلى مجموعة، حدد Groups.
    3. حدد المستخدم أو المجموعة التي تريد منحها دور مالك Azure RBAC.
    4. إذا حددت مستخدماً، فستجد معرف الكائن في صفحة الملف الشخصي. إذا حددت مجموعة، فسيكون معرف الكائن في صفحة نظرة عامة. انسخ ObjectID بتحديد الرمز الموجود على يسار مربع النص. الصقها في مكان ما بحيث يمكنك استخدامها في الخطوة التالية كـ userObjectId.
  3. امنح المستخدم أو المجموعة دور مالك Azure RBAC في حساب التسجيل

    باستخدام القيم التي جمعتها في أول خطوتين، امنح المستخدم أو المجموعة دور مالك Azure RBAC في حساب التسجيل.

    قم بتشغيل الأمر التالي، مع استبدال <enrollmentAccountObjectId> بـ name الذي نسخته في الخطوة الأولى (747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx). استبدل <userObjectId> بمعرف الكائن الذي نسخته من الخطوة الثانية.

    PUT  https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts/<enrollmentAccountObjectId>/providers/Microsoft.Authorization/roleAssignments/<roleAssignmentGuid>?api-version=2015-07-01
    
    {
      "properties": {
        "roleDefinitionId": "/providers/Microsoft.Billing/enrollmentAccounts/<enrollmentAccountObjectId>/providers/Microsoft.Authorization/roleDefinitions/<ownerRoleDefinitionId>",
        "principalId": "<userObjectId>"
      }
    }
    

    عندما يُعيَّن دور المالك بنجاح في نطاق حساب التسجيل، يستجيب Azure بمعلومات تعيين الدور:

    {
      "properties": {
        "roleDefinitionId": "/providers/Microsoft.Billing/enrollmentAccounts/providers/Microsoft.Authorization/roleDefinitions/<ownerRoleDefinitionId>",
        "principalId": "<userObjectId>",
        "scope": "/providers/Microsoft.Billing/enrollmentAccounts/747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "createdOn": "2018-03-05T08:36:26.4014813Z",
        "updatedOn": "2018-03-05T08:36:26.4014813Z",
        "createdBy": "<assignerObjectId>",
        "updatedBy": "<assignerObjectId>"
      },
      "id": "/providers/Microsoft.Billing/enrollmentAccounts/providers/Microsoft.Authorization/roleDefinitions/<ownerRoleDefinitionId>",
      "type": "Microsoft.Authorization/roleAssignments",
      "name": "<roleAssignmentGuid>"
    }
    

تدقيق المُنشأ للاشتراكات باستخدام سجلات النشاط

لتتبع الاشتراكات التي أنشئت عبر هذه الواجهة من برمجة التطبيقات، استخدم Tenant Activity Log API. لا يمكن حالياً استخدام PowerShell أو CLI أو مدخل Microsoft Azure لتتبع إنشاء الاشتراك.

  1. بصفتك مسؤولا مستأجرا لمستأجر Microsoft Entra، قم برفع مستوى الوصول ثم قم بتعيين دور القارئ لمستخدم التدقيق عبر النطاق /providers/microsoft.insights/eventtypes/management. يتوفر هذا الوصول في دور Reader أو دور Monitoring contributor أو دور مخصص.

  2. بصفتك مستخدم التدقيق، اتصل بـ Tenant Activity Log API للاطلاع على أنشطة إنشاء الاشتراك. مثال:

    GET "/providers/Microsoft.Insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp ge '{greaterThanTimeStamp}' and eventTimestamp le '{lessThanTimestamp}' and eventChannels eq 'Operation' and resourceProvider eq 'Microsoft.Subscription'"
    

لاستدعاء هذه الواجهة من برمجة التطبيقات بسهولة من سطر الأوامر، جرب ARMClient.