استخدام الهوية المدارة لمصادقة مهمة Azure Stream Analytics إلى Power BI

تمنح مصادقة الهوية المدارة للإخراج إلى Power BI مهام Stream Analytics وصولا مباشرا إلى مساحة عمل داخل حساب Power BI الخاص بك. تسمح هذه الميزة بأتمتة عمليات نشر مهام Stream Analytics بالكامل، حيث لم يعد مطلوبا من المستخدم تسجيل الدخول بشكل تفاعلي إلى Power BI عبر مدخل Azure. بالإضافة إلى ذلك، أصبحت المهام طويلة الأمد التي تكتب إلى Power BI مدعومة الآن بشكل أفضل، نظرا لأنك لن تحتاج إلى إعادة تفويض المهمة بشكل دوري.

توضح لك هذه المقالة كيفية تمكين الهوية المدارة لمخرجات (مخرجات) Power BI لمهمة Stream Analytics من خلال مدخل Azure ومن خلال نشر Azure Resource Manager.

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

يلزم توفر ما يلي لاستخدام هذه الميزة:

  • حساب Power BI بترخيص Pro.

  • مساحة عمل تمت ترقيتها داخل حساب Power BI الخاص بك. راجع إعلان Power BI عن هذه الميزة للحصول على مزيد من التفاصيل.

إنشاء مهمة Stream Analytics باستخدام مدخل Azure

  1. قم بإنشاء وظيفة جديدة في Stream Analytics أو افتح وظيفة موجودة في مدخل Azure. من شريط القوائم الموجود على الجانب الأيمن من الشاشة، حدد الهوية المدارة الموجودة ضمن تكوين. تأكد من تحديد "استخدام الهوية المدارة المعينة من قبل النظام" ثم حدد الزر حفظ في أسفل الشاشة.

    Configure Stream Analytics managed identity

  2. قبل تكوين المخرجات، امنح مهمة Stream Analytics حق الوصول إلى مساحة عمل Power BI باتباع الإرشادات الواردة في القسم منح وظيفة Stream Analytics حق الوصول إلى مساحة عمل Power BI من هذه المقالة.

  3. انتقل إلى قسم المخرجات في مهمة Stream Analytic، وحدد + إضافة، ثم اختر Power BI. ثم حدد الزر تخويل وقم بتسجيل الدخول باستخدام حساب Power BI الخاص بك.

    Authorize with Power BI account

  4. بمجرد التفويض، سيتم ملء قائمة منسدلة بجميع مساحات العمل التي يمكنك الوصول إليها. حدد مساحة العمل التي قمت بتفويضها في الخطوة السابقة. ثم حدد الهوية المدارة ك "وضع المصادقة". أخيرا ، حدد الزر حفظ .

    Configure Power BI output with Managed Identity

Azure Resource Manager deployment

يسمح لك Azure Resource Manager بأتمتة نشر مهمة Stream Analytics بالكامل. يمكنك نشر قوالب Resource Manager باستخدام Azure PowerShell أو Azure CLI. تستخدم الأمثلة أدناه Azure CLI.

  1. يمكنك إنشاء مورد Microsoft.StreamAnalytics/streamingjobs باستخدام هوية مدارة عن طريق تضمين الخاصية التالية في قسم الموارد في قالب Resource Manager:

    "identity": {
        "type": "SystemAssigned",
    }
    

    تخبر هذه الخاصية Azure Resource Manager بإنشاء هوية مهمة Stream Analytics وإدارتها. فيما يلي مثال Resource Manager القالب الذي ينشر مهمة Stream Analytics مع تمكين الهوية المدارة وحوض إخراج Power BI الذي يستخدم الهوية المدارة:

    {
        "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "resources": [
            {
                "apiVersion": "2017-04-01-preview",
                "name": "pbi_managed_id",
                "location": "[resourceGroup().location]",
                "type": "Microsoft.StreamAnalytics/StreamingJobs",
                "identity": {
                    "type": "systemAssigned"
                },
                "properties": {
                    "sku": {
                        "name": "standard"
                    },
                    "outputs":[
                        {
                            "name":"output",
                            "properties":{
                                "datasource":{
                                    "type":"PowerBI",
                                    "properties":{
                                        "dataset": "dataset_name",
                                        "table": "table_name",
                                        "groupId": "01234567-89ab-cdef-0123-456789abcdef",
                                        "authenticationMode": "Msi"
                                    }
                                }
                            }
                        }
                    ]
                }
            }
        ]
    }
    

    انشر المهمة أعلاه إلى مجموعة أمثلة مجموعة الموارد باستخدام الأمر Azure CLI أدناه:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. بعد إنشاء المهمة، استخدم Azure Resource Manager لاسترداد التعريف الكامل للمهمة.

    az resource show --ids /subscriptions/<subsription-id>/resourceGroups/<resource-group>/providers/Microsoft.StreamAnalytics/StreamingJobs/<resource-name>
    

    سيقوم الأمر أعلاه بإرجاع استجابة مثل أدناه:

    {
        "id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.StreamAnalytics/streamingjobs/<resource-name>",
        "identity": {
            "principalId": "<principal-id>",
            "tenantId": "<tenant-id>",
            "type": "SystemAssigned",
            "userAssignedIdentities": null
        },
        "kind": null,
        "location": "West US",
        "managedBy": null,
        "name": "<resource-name>",
        "plan": null,
        "properties": {
            "compatibilityLevel": "1.0",
            "createdDate": "2019-07-12T03:11:30.39Z",
            "dataLocale": "en-US",
            "eventsLateArrivalMaxDelayInSeconds": 5,
            "jobId": "<job-id>",
            "jobState": "Created",
            "jobStorageAccount": null,
            "jobType": "Cloud",
            "outputErrorPolicy": "Stop",
            "package": null,
            "provisioningState": "Succeeded",
            "sku": {
                "name": "Standard"
            }
        },
        "resourceGroup": "<resource-group>",
        "sku": null,
        "tags": null,
        "type": "Microsoft.StreamAnalytics/streamingjobs"
    }
    

    إذا كنت تخطط لاستخدام واجهة برمجة تطبيقات Power BI REST API لإضافة مهمة "تحليلات الدفق" إلى مساحة عمل Power BI، فقم بتدوين "principalId" الذي تم إرجاعه.

  3. الآن بعد إنشاء الوظيفة، تابع إلى القسم منح وظيفة Stream Analytics حق الوصول إلى مساحة عمل Power BI من هذه المقالة.

منح مهمة "تحليلات الدفق" حق الوصول إلى مساحة عمل Power BI

الآن بعد إنشاء وظيفة Stream Analytics، يمكن منحها حق الوصول إلى مساحة عمل Power BI. بمجرد منحك حق الوصول إلى وظيفتك ، اسمح لبضع دقائق حتى تنتشر الهوية.

استخدام واجهة مستخدم Power BI

ملاحظة

لإضافة مهمة Stream Analytics إلى مساحة عمل Power BI باستخدام واجهة المستخدم، يجب عليك أيضا تمكين الوصول الأساسي للخدمة في إعدادات المطور في مدخل مسؤول Power BI. راجع بدء استخدام مبدأ الخدمة للحصول على مزيد من التفاصيل.

  1. انتقل إلى إعدادات الوصول إلى مساحة العمل. راجع هذه المقالة لمزيد من التفاصيل: منح حق الوصول إلى مساحة العمل.

  2. اكتب اسم وظيفتك في Stream Analytics في مربع النص وحدد مساهم كمستوى وصول.

  3. حدد إضافة وأغلق الجزء.

    Add Stream Analytics job to Power BI workspace

استخدام أوامر cmdlets PowerShell الخاصة ب Power BI

  1. قم بتثبيت cmdlets Power BI MicrosoftPowerBIMgmt PowerShell.

    هام

    يرجى التأكد من أنك تستخدم الإصدار 1.0.821 أو إصدار أحدث من cmdlets.

Install-Module -Name MicrosoftPowerBIMgmt
  1. سجل الدخول إلى Power BI.
Login-PowerBI
  1. أضف وظيفتك في Stream Analytics كمساهم إلى مساحة العمل.
Add-PowerBIWorkspaceUser -WorkspaceId <group-id> -PrincipalId <principal-id> -PrincipalType App -AccessRight Contributor

استخدام واجهة برمجة تطبيقات Power BI REST

يمكن أيضا إضافة مهمة Stream Analytics كمساهم في مساحة العمل باستخدام واجهة برمجة تطبيقات REST "إضافة مستخدم مجموعة" مباشرة. يمكن العثور على الوثائق الكاملة لواجهة برمجة التطبيقات هذه هنا: المجموعات - إضافة مستخدم مجموعة.

طلب عينة

POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/users

نص الطلب

{
    "groupUserAccessRight": "Contributor",
    "identifier": "<principal-id>",
    "principalType": "App"
}

استخدام مدير خدمة لمنح إذن للهوية المدارة لوظيفة ASA

بالنسبة لعمليات النشر التلقائية، لا يمكن استخدام تسجيل دخول تفاعلي لمنح مهمة ASA إمكانية الوصول إلى مساحة عمل Power BI. يمكن القيام بذلك باستخدام مدير الخدمة لمنح إذن للهوية المدارة لوظيفة ASA. هذا ممكن باستخدام PowerShell:

Connect-PowerBIServiceAccount -ServicePrincipal -TenantId "<tenant-id>" -CertificateThumbprint "<thumbprint>" -ApplicationId "<app-id>"
Add-PowerBIWorkspaceUser -WorkspaceId <group-id> -PrincipalId <principal-id> -PrincipalType App -AccessRight Contributor

إزالة الهوية المدارة

يتم حذف الهوية المدارة التي تم إنشاؤها لمهمة Stream Analytics فقط عند حذف المهمة. لا توجد طريقة لحذف الهوية المدارة دون حذف المهمة. إذا لم تعد ترغب في استخدام الهوية المدارة، فيمكنك تغيير طريقة المصادقة للإخراج. ستظل الهوية المدارة موجودة حتى يتم حذف المهمة، وسيتم استخدامها إذا قررت استخدام مصادقة الهوية المدارة مرة أخرى.

التقييدات

فيما يلي قيود هذه الميزة:

  • مساحات عمل Power BI الكلاسيكية غير معتمدة.

  • حسابات Azure بدون Azure Active Directory.

  • الوصول متعدد المستأجرين غير مدعوم. يجب أن يكون أصل الخدمة الذي تم إنشاؤه لوظيفة معينة في Stream Analytics موجودا في مستأجر Azure Active Directory نفسه الذي تم إنشاء الوظيفة فيه، ولا يمكن استخدامه مع مورد موجود في مستأجر Azure Active Directory مختلف.

  • الهوية المعينة من قبل المستخدم غير مدعومة. وهذا يعني أنك غير قادر على إدخال مدير الخدمة الخاص بك ليتم استخدامه من قبل وظيفة Stream Analytics الخاصة بهم. يجب إنشاء مبدأ الخدمة بواسطة Azure Stream Analytics.

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