إضافة مبدأ خدمة إلى دور مسؤول الخادم

لأتمتة مهام PowerShell غير المراقبة، يجب أن يكون لمدير الخدمة امتيازات مسؤول الخادم على خادم Analysis Services الذي تتم إدارته. توضح هذه المقالة كيفية إضافة أصل خدمة إلى دور مسؤولي الخادم على خادم Azure AS. يمكنك القيام بذلك باستخدام SQL Server Management Studio أو قالب Resource Manager.

ملاحظة

يجب إضافة مبادئ الخدمة مباشرة إلى دور مسؤول الخادم. إضافة أصل خدمة إلى مجموعة أمان، ثم إضافة مجموعة الأمان هذه إلى دور مسؤول الخادم غير معتمد.

قبل أن تبدأ

قبل إكمال هذه المهمة، يجب أن يكون لديك مدير خدمة مسجل في Azure Active Directory.

إنشاء كيان الخدمة - مدخل Azure
إنشاء كيان الخدمة - PowerShell

استخدام SQL Server Management Studio

يمكنك تكوين مسؤولي الخادم باستخدام SQL Server Management Studio (SSMS). لإكمال هذه المهمة، يجب أن يكون لديك أذونات مسؤول الخادم على خادم Azure AS.

  1. في SSMS، اتصل بخادم Azure AS.

  2. في خصائص الخادمالأمان>، انقر فوق إضافة.

  3. في تحديد مستخدم أو مجموعة، ابحث عن تطبيقك المسجل بالاسم، وحدد، ثم انقر فوق إضافة.

    Search for service principal account

  4. تحقق من معرف الحساب الأساسي للخدمة ثم انقر فوق موافق.

    Screenshot that shows the service principal account ID and highlights the OK button.

استخدام قالب إدارة الموارد

يمكنك أيضا تكوين مسؤولي الخادم عن طريق نشر خادم Analysis Services باستخدام قالب Azure Resource Manager. يجب أن تنتمي الهوية التي تقوم بتشغيل النشر إلى دور المساهم للمورد في عنصر تحكم الوصول المستند إلى دور Azure (Azure RBAC).

هام

يجب إضافة أصل الخدمة باستخدام التنسيق app:{service-principal-client-id}@{azure-ad-tenant-id}.

يقوم قالب Resource Manager التالي بنشر خادم Analysis Services مع إضافة أصل خدمة محدد إلى دور مسؤول خدمات التحليل:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "analysisServicesServerName": {
            "type": "string"
        },
        "location": {
            "type": "string"
        },
        "analysisServicesSkuName": {
            "type": "string"
        },
        "analysisServicesCapacity": {
            "type": "int"
        },
        "servicePrincipalClientId": {
            "type": "string"
        },
        "servicePrincipalTenantId": {
            "type": "string"
        }
    },
    "resources": [
        {
            "name": "[parameters('analysisServicesServerName')]",
            "type": "Microsoft.AnalysisServices/servers",
            "apiVersion": "2017-08-01",
            "location": "[parameters('location')]",
            "sku": {
                "name": "[parameters('analysisServicesSkuName')]",
                "capacity": "[parameters('analysisServicesCapacity')]"
            },
            "properties": {
                "asAdministrators": {
                    "members": [
                        "[concat('app:', parameters('servicePrincipalClientId'), '@', parameters('servicePrincipalTenantId'))]"
                    ]
                }
            }
        }
    ]
}

استخدام الهويات المدارة

يمكن أيضا إضافة هوية مدارة إلى قائمة مسؤولي خدمات التحليل. على سبيل المثال، قد يكون لديك تطبيق Logic بهوية مدارة معينة من قبل النظام، وتريد منحه القدرة على إدارة خادم Analysis Services.

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

az ad sp show --id <ManagedIdentityServicePrincipalObjectId> --query appId -o tsv

بدلا من ذلك يمكنك استخدام PowerShell:

(Get-AzureADServicePrincipal -ObjectId <ManagedIdentityServicePrincipalObjectId>).AppId

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