Použití spravované identity k ověření úlohy Azure Stream Analytics v Power BI

Ověřování spravované identity pro výstup do Power BI poskytuje úlohám Stream Analytics přímý přístup k pracovnímu prostoru v rámci vašeho účtu Power BI. Tato funkce umožňuje plně automatizovat nasazení úloh Stream Analytics, protože už není nutné, aby se uživatel interaktivně přihlásil k Power BI prostřednictvím Azure Portal. Kromě toho se teď podporují dlouhotrvající úlohy, které zapisují do Power BI, protože úlohu nebudete muset pravidelně znovu ověřovat.

V tomto článku se dozvíte, jak povolit spravovanou identitu pro výstupy Power BI úlohy Stream Analytics prostřednictvím Azure Portal a prostřednictvím nasazení Azure Resource Manager.

Požadavky

Pro použití této funkce jsou vyžadovány následující:

  • Účet Power BI s licencí Pro

  • Upgradovaný pracovní prostor v rámci účtu Power BI Další podrobnosti najdete v oznámení o této funkci v Power BI .

Vytvoření úlohy Stream Analytics pomocí Azure Portal

  1. Vytvořte novou úlohu Stream Analytics nebo otevřete existující úlohu v Azure Portal. Na řádku nabídek, který se nachází na levé straně obrazovky, vyberte spravovanou identitu umístěnou v části Konfigurovat. Ujistěte se, že je vybraná možnost Použít spravovanou identitu přiřazenou systémem, a pak vyberte tlačítko Uložit v dolní části obrazovky.

    Konfigurace spravované identity Stream Analytics

  2. Před konfigurací výstupu udělte úloze Stream Analytics přístup k pracovnímu prostoru Power BI podle pokynů v části Udělení přístupu úlohy Stream Analytics k pracovnímu prostoru Power BI v tomto článku.

  3. Přejděte do části Výstupy úlohy Stream Analytic, vyberte + Přidat a pak zvolte Power BI. Pak vyberte tlačítko Autorizovat a přihlaste se pomocí účtu Power BI.

    Autorizace pomocí účtu Power BI

  4. Po autorizaci se rozevírací seznam vyplní všemi pracovními prostory, ke kterým máte přístup. Vyberte pracovní prostor, který jste autorizovali v předchozím kroku. Potom jako režim ověřování vyberte spravovanou identitu . Nakonec vyberte tlačítko Uložit .

    Konfigurace výstupu Power BI pomocí spravované identity

Nasazení podle modelu Azure Resource Manager

Azure Resource Manager umožňuje plně automatizovat nasazení úlohy Stream Analytics. Šablony Resource Manager můžete nasadit pomocí Azure PowerShell nebo Azure CLI. Následující příklady používají Azure CLI.

  1. Prostředek Microsoft.StreamAnalytics/streamingjobs se spravovanou identitou můžete vytvořit tak, že do části prostředku šablony Resource Manager zahrnete následující vlastnost:

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

    Tato vlastnost informuje Azure Resource Manager, že má vytvořit a spravovat identitu pro úlohu Stream Analytics. Níže je příklad šablony Resource Manager, která nasadí úlohu Stream Analytics s povolenou spravovanou identitou a výstupní jímkou Power BI, která používá spravovanou identitu:

    {
        "$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"
                                    }
                                }
                            }
                        }
                    ]
                }
            }
        ]
    }
    

    Nasaďte výše uvedenou úlohu do skupiny prostředků ExampleGroup pomocí následujícího příkazu Azure CLI:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. Po vytvoření úlohy pomocí Azure Resource Manager načtěte úplnou definici úlohy.

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

    Výše uvedený příkaz vrátí odpověď, jako je následující:

    {
        "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"
    }
    

    Pokud chcete k přidání úlohy Stream Analytics do pracovního prostoru Power BI použít rozhraní REST API Power BI, poznamenejte si vrácený "principalId".

  3. Teď, když je úloha vytvořená, pokračujte v části Předat úlohu Stream Analytics přístup k pracovnímu prostoru Power BI v tomto článku.

Udělení přístupu úlohy Stream Analytics k pracovnímu prostoru Power BI

Teď, když je úloha Stream Analytics vytvořená, může mít přístup k pracovnímu prostoru Power BI. Jakmile udělíte přístup k úloze, počkejte několik minut, než se identita rozšíří.

Použití uživatelského rozhraní Power BI

Poznámka

Pokud chcete přidat úlohu Stream Analytics do pracovního prostoru Power BI pomocí uživatelského rozhraní, musíte také povolit přístup instančního objektu v nastavení pro vývojáře na portálu pro správu Power BI. Další podrobnosti najdete v tématu Začínáme s instančním objektem .

  1. Přejděte do nastavení přístupu pracovního prostoru. Další podrobnosti najdete v tomto článku: Udělení přístupu k vašemu pracovnímu prostoru.

  2. Do textového pole zadejte název úlohy Stream Analytics a jako úroveň přístupu vyberte Přispěvatel .

  3. Vyberte Přidat a zavřete podokno.

    Přidání úlohy Stream Analytics do pracovního prostoru Power BI

Použití rutin PowerShellu v Power BI

  1. Nainstalujte rutiny PowerShellu Power BI MicrosoftPowerBIMgmt .

    Důležité

    Ujistěte se, že používáte rutiny verze 1.0.821 nebo novější.

Install-Module -Name MicrosoftPowerBIMgmt
  1. Přihlaste se k Power BI.
Login-PowerBI
  1. Přidejte úlohu Stream Analytics jako přispěvatele do pracovního prostoru.
Add-PowerBIWorkspaceUser -WorkspaceId <group-id> -PrincipalId <principal-id> -PrincipalType App -AccessRight Contributor

Použití rozhraní REST API Power BI

Úlohu Stream Analytics můžete také přidat jako přispěvatele do pracovního prostoru pomocí rozhraní REST API pro přidání uživatele skupiny přímo. Úplnou dokumentaci k tomuto rozhraní API najdete tady: Skupiny – Přidat uživatele skupiny.

Ukázkový požadavek

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

Text požadavku

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

Použití instančního objektu k udělení oprávnění pro spravovanou identitu úlohy ASA

U automatizovaných nasazení není možné pomocí interaktivního přihlášení udělit úlohu ASA přístup k pracovnímu prostoru Power BI. Můžete to udělat pomocí instančního objektu k udělení oprávnění pro spravovanou identitu úlohy ASA. To je možné pomocí PowerShellu:

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

Odebrání spravované identity

Spravovaná identita vytvořená pro úlohu Stream Analytics se odstraní jenom při odstranění úlohy. Spravovanou identitu není možné odstranit bez odstranění úlohy. Pokud už nechcete používat spravovanou identitu, můžete změnit metodu ověřování pro výstup. Spravovaná identita bude dál existovat, dokud se úloha nesmazat, a použije se, pokud se rozhodnete znovu použít ověřování spravované identity.

Omezení

Níže jsou uvedená omezení této funkce:

  • Klasické pracovní prostory Power BI se nepodporují.

  • Účty Azure bez Azure Active Directory

  • Přístup s více tenanty se nepodporuje. Instanční objekt vytvořený pro danou úlohu Stream Analytics se musí nacházet ve stejném tenantovi Azure Active Directory, ve kterém byla úloha vytvořena, a nedá se použít s prostředkem, který se nachází v jiném tenantovi Azure Active Directory.

  • Identita přiřazená uživatelem se nepodporuje. To znamená, že nemůžete zadat vlastní instanční objekt, který bude používat jejich úloha Stream Analytics. Instanční objekt musí být vygenerován službou Azure Stream Analytics.

Další kroky