Bagikan melalui


Gunakan Identitas Terkelola untuk mengautentikasi tugas Azure Stream Analytics Anda ke Power BI

Autentikasi Identitas Terkelola untuk output ke Power BI memberi akses langsung untuk pekerjaan Stream Analytics ke ruang kerja dalam akun Power BI. Fitur ini memungkinkan penyebaran pekerjaan Azure Stream Analytics sepenuhnya otomatis, karena tidak lagi diperlukan bagi pengguna untuk masuk secara interaktif ke Power BI melalui portal Azure. Selain itu, pekerjaan jangka panjang yang menulis ke Power BI sekarang didukung dengan lebih baik, karena Anda tidak perlu mengotorisasi ulang pekerjaan secara berkala.

Artikel ini menunjukkan cara mengaktifkan Identitas Terkelola untuk output Power BI dari pekerjaan Stream Analytics melalui portal Azure dan melalui penyebaran Azure Resource Manager.

Catatan

Hanya identitas terkelola yang ditetapkan sistem yang didukung dengan output Power BI. Saat ini, menggunakan identitas terkelola yang ditetapkan pengguna dengan output Power BI tidak didukung.

Prasyarat

Anda harus memiliki prasyarat berikut sebelum menggunakan fitur ini:

  • Akun Power BI dengan lisensi Pro.
  • Ruang kerja yang ditingkatkan dalam akun Power BI Anda. Untuk informasi selengkapnya, lihat Pengumuman Power BI.

Membuat pekerjaan Stream Analytics menggunakan portal Azure

  1. Buat pekerjaan Stream Analytics baru atau buka pekerjaan yang ada di portal Microsoft Azure.

  2. Dari bilah menu yang terletak di sisi kiri layar, pilih Identitas Terkelola yang terletak di bawah Pengaturan.

    Screenshot showing the Managed Identity page with Select identity button selected.

  3. Pada halaman Pilih identitas , pilih Identitas yang ditetapkan sistem*. Jika Anda memilih opsi terakhir, tentukan identitas terkelola yang ingin Anda gunakan. Lalu, pilih Simpan.

    Screenshot showing the Select identity page with System assigned identity selected.

  4. Pada halaman Identitas terkelola, konfirmasikan bahwa Anda melihat ID Utama dan Nama utama yang ditetapkan ke pekerjaan Azure Stream Analytics Anda. Nama utama harus sama dengan nama pekerjaan Azure Stream Analytics Anda.

  5. Sebelum mengonfigurasi output, berikan akses untuk pekerjaan Stream Analytics ke ruang kerja Power BI Anda dengan mengikuti petunjuk di bagian Memberikan akses untuk pekerjaan Stream Analytics ke ruang kerja Power BI di artikel ini.

  6. Buka bagian Output dari pekerjaan Stream Analytic Anda, pilih + Tambahkan, lalu pilih Power BI. Lalu, pilih tombol Otorisasi dan masuk dengan akun Power BI Anda.

    Authorize with Power BI account

  7. Begitu diotorisasi, daftar dropdown akan diisi dengan semua ruang kerja yang dapat Anda akses. Pilih ruang kerja yang diotorisasi di langkah sebelumnya. Lalu pilih Identitas Terkelola sebagai "Mode Autentikasi". Terakhir, pilih tombol Simpan.

    Screenshot showing the Power BI output configuration with Managed identity authentication mode selected.

Penyebaran Azure Resource Manager

Azure Resource Manager memungkinkan Anda mengotomatiskan penyebaran pekerjaan Stream Analytics Anda sepenuhnya. Anda dapat menyebarkan templat Resource Manager menggunakan Azure PowerShell atau Azure CLI. Contoh di bawah ini menggunakan Azure CLI.

  1. Anda dapat membuat sumber daya Microsoft.StreamAnalytics/streamingjobs dengan Identitas Terkelola dengan menyertakan properti berikut ini di bagian sumber daya pada templat Resource Manager:

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

    Properti ini akan meminta Azure Resource Manager membuat dan mengelola identitas untuk pekerjaan Stream Analytics Anda. Berikut ini contoh templat Resource Manager yang menyebarkan pekerjaan Stream Analytics dengan Identitas Terkelola diaktifkan dan sink output Power BI yang menggunakan Identitas Terkelola:

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

    Sebarkan tugas di atas ke grup Sumber Daya ExampleGroup menggunakan perintah CLI Azure di bawah ini:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. Begitu pekerjaan dibuat, gunakan Azure Resource Manager untuk mengambil definisi lengkap pekerjaan.

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

    Perintah di atas akan menampilkan respons seperti di bawah ini:

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

    Jika Anda berencana menggunakan Power BI REST API untuk menambahkan pekerjaan Azure Stream Analytics ke ruang kerja Power BI Anda, catat yang dikembalikan principalId.

  3. Setelah tugas dibuat, lanjutkan ke bagian Memberikan akses untuk pekerjaan Stream Analytics ke ruang kerja Power BI Anda di artikel ini.

Memberikan akses untuk pekerjaan Stream Analytics ke ruang kerja Power BI Anda

Setelah pekerjaan Stream Analytics dibuat, pekerjaan tersebut dapat diberikan akses ke ruang kerja Power BI. Begitu Anda memberikan akses pekerjaan, berikan waktu beberapa menit agar identitas disebarluaskan.

Menggunakan UI Power BI

Catatan

Untuk menambahkan pekerjaan Stream Analytics ke ruang kerja Power BI menggunakan UI, Anda juga harus mengaktifkan akses perwakilan layanan di pengaturan Pengembang di portal admin Power BI. Untuk informasi selengkapnya, lihat Mulai menggunakan perwakilan layanan.

  1. Buka pengaturan akses ruang kerja. Untuk informasi selengkapnya, lihat Memberikan akses ke ruang kerja Anda.

  2. Ketik nama pekerjaan Stream Analytics Anda di kotak teks lalu pilih Kontributor sebagai tingkat akses.

  3. Pilih Tambahkan dan tutup panel.

    Add Stream Analytics job to Power BI workspace

Menggunakan cmdlet PowerShell Power BI

  1. Instal cmdlet PowerShell MicrosoftPowerBIMgmt Power BI.

    Penting

    Pastikan Anda menggunakan cmdlet versi 1.0.821 atau lebih baru.

    Install-Module -Name MicrosoftPowerBIMgmt
    
  2. Masuk ke Power BI.

    Login-PowerBI
    
  3. Tambahkan pekerjaan Stream Analytics Anda sebagai Kontributor ke ruang kerja.

    Add-PowerBIWorkspaceUser -WorkspaceId <group-id> -PrincipalId <principal-id> -PrincipalType App -AccessRight Contributor
    

Menggunakan API REST Power BI

Pekerjaan Stream Analytics juga dapat ditambahkan sebagai Kontributor ke ruang kerja dengan langsung menggunakan API REST "Tambahkan Pengguna Grup". Dokumentasi lengkap untuk API ini dapat ditemukan di sini: Grup - Menambahkan Pengguna Grup.

Permintaan Sampel

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

Isi Permintaan

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

Gunakan Perwakilan Layanan untuk memberikan izin untuk Identitas Terkelola pekerjaan ASA

Untuk penyebaran otomatis, menggunakan masuk interaktif untuk memberikan akses pekerjaan ASA ke ruang kerja Power BI tidak dimungkinkan. Ini dapat dilakukan menggunakan perwakilan layanan untuk memberikan izin untuk identitas terkelola pekerjaan ASA. Dimungkinkan menggunakan PowerShell:

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

Menghapus Identitas Terkelola

Identitas Terkelola yang dibuat untuk pekerjaan Analisis Aliran hanya akan dihapus jika tugas dihapus. Tidak ada cara untuk menghapus Identitas Terkelola tanpa menghapus pekerjaan. Jika tidak ingin menggunakan Identitas Terkelola lagi, Anda dapat mengubah metode autentikasi untuk output. Identitas Terkelola akan terus ada sampai pekerjaan dihapus, dan akan digunakan jika Anda memutuskan untuk menggunakan autentikasi Identitas Terkelola lagi.

Batasan

Berikut ini batasan fitur ini:

  • Ruang kerja Power BI klasik tidak didukung.

  • Akun Azure tanpa ID Microsoft Entra.

  • Akses multi-penyewa tidak didukung. Perwakilan layanan yang dibuat untuk pekerjaan Azure Stream Analytics tertentu harus berada di penyewa Microsoft Entra yang sama tempat pekerjaan dibuat, dan tidak dapat digunakan dengan sumber daya yang berada di penyewa Microsoft Entra yang berbeda.

  • Identitas yang Ditetapkan Pengguna tidak didukung. Ini berarti Anda tidak dapat memasukkan perwakilan layanan Anda sendiri untuk digunakan oleh pekerjaan Azure Stream Analytics mereka. Perwakilan layanan harus dibuat oleh Azure Stream Analytics.

Langkah berikutnya