Aracılığıyla paylaş


Azure Stream Analytics işinizin kimliğini Power BI'da doğrulamak için Yönetilen Kimlik kullanma

Power BI çıkışı için Yönetilen Kimlik kimlik doğrulaması , Stream Analytics işlerinin Power BI hesabınızdaki bir çalışma alanına doğrudan erişmesini sağlar. Bu özellik, bir kullanıcının Azure portalı aracılığıyla Power BI'da etkileşimli olarak oturum açması gerekmeyen Stream Analytics işlerinin dağıtımlarının tamamen otomatik olmasını sağlar. Ayrıca, işi düzenli aralıklarla yeniden yetkilendirmeniz gerekmeyeceğinden, Power BI'a yazan uzun süre çalışan işler artık daha iyi desteklenmektedir.

Bu makalede, Bir Stream Analytics işinin Power BI çıktıları için Yönetilen Kimliği Azure portalı üzerinden ve Azure Resource Manager dağıtımı aracılığıyla nasıl etkinleştirileceği gösterilmektedir.

Dekont

Power BI çıkışında yalnızca sistem tarafından atanan yönetilen kimlikler desteklenir. Şu anda Power BI çıkışıyla kullanıcı tarafından atanan yönetilen kimliklerin kullanılması desteklenmemaktadır.

Ön koşullar

Bu özelliği kullanmadan önce aşağıdaki önkoşullara sahip olmanız gerekir:

Azure portalını kullanarak Stream Analytics işi oluşturma

  1. Azure portalında yeni bir Stream Analytics işi oluşturun veya var olan bir işi açın.

  2. Ekranın sol tarafında bulunan menü çubuğundan Ayarlar altında bulunan Yönetilen Kimlik'i seçin.

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

  3. Kimlik seçin sayfasında Sistem tarafından atanan kimlik* öğesini seçin. İkinci seçeneği belirlerseniz, kullanmak istediğiniz yönetilen kimliği belirtin. Ardından Kaydet’i seçin.

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

  4. Yönetilen kimlik sayfasında, Stream Analytics işinize atanan Asıl Kimliği ve Asıl adı gördüğünüzden emin olun. Asıl ad, Stream Analytics iş adınız ile aynı olmalıdır.

  5. Çıkışı yapılandırmadan önce, bu makalenin Power BI çalışma alanınıza Stream Analytics işi erişimi verme bölümündeki yönergeleri izleyerek Stream Analytics işinin Power BI çalışma alanınıza erişmesini sağlayın.

  6. Stream Analytics işinizin Çıkışlar bölümüne gidin, + Ekle'yi ve ardından Power BI'ı seçin. Ardından Yetki ver düğmesini seçin ve Power BI hesabınızla oturum açın.

    Authorize with Power BI account

  7. Yetkilendirildikten sonra, erişiminiz olan tüm çalışma alanlarıyla bir açılan liste doldurulur. Önceki adımda yetkilendirdiğiniz çalışma alanını seçin. Ardından Yönetilen Kimlik'i "Kimlik doğrulama modu" olarak seçin. Son olarak Kaydet düğmesini seçin.

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

Azure Resource Manager dağıtımı

Azure Resource Manager, Stream Analytics işinizin dağıtımını tam olarak otomatikleştirmenizi sağlar. Resource Manager şablonlarını Azure PowerShell veya Azure CLI kullanarak dağıtabilirsiniz. Aşağıdaki örneklerde Azure CLI kullanılmaktadır.

  1. Resource Manager şablonunuzun kaynak bölümüne aşağıdaki özelliği ekleyerek Yönetilen Kimlik ile bir Microsoft.StreamAnalytics/streamingjobs kaynağı oluşturabilirsiniz:

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

    Bu özellik, Azure Resource Manager'a Stream Analytics işiniz için kimlik oluşturmasını ve yönetmesini söyler. Aşağıda, Yönetilen Kimlik etkinleştirilmiş bir Stream Analytics işi ve Yönetilen Kimlik kullanan bir Power BI çıkış havuzu dağıtan örnek bir Resource Manager şablonu verilmiştir:

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

    Aşağıdaki Azure CLI komutunu kullanarak yukarıdaki işi ExampleGroup Kaynak grubuna dağıtın:

    az deployment group create --resource-group ExampleGroup -template-file StreamingJob.json
    
  2. İş oluşturulduktan sonra, işin tam tanımını almak için Azure Resource Manager'ı kullanın.

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

    Yukarıdaki komut aşağıdakine benzer bir yanıt döndürür:

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

    Stream Analytics işini Power BI çalışma alanınıza eklemek için Power BI REST API'sini kullanmayı planlıyorsanız, döndürülen principalIdöğesini not edin.

  3. İş oluşturulduğuna göre, bu makalenin Power BI çalışma alanınıza Stream Analytics işi erişimi verme bölümüne geçin.

Stream Analytics işinin Power BI çalışma alanınıza erişmesini sağlayın

Stream Analytics işi oluşturulduğuna göre artık bir Power BI çalışma alanına erişim verilebilir. İş erişiminizi verdikten sonra kimliğin yayılması için birkaç dakika bekleyin.

Power BI kullanıcı arabirimini kullanma

Dekont

Stream Analytics işini kullanıcı arabirimini kullanarak Power BI çalışma alanınıza eklemek için, Power BI yönetici portalındaki Geliştirici ayarlarında hizmet sorumlusu erişimini etkinleştirmeniz de gerekir. Daha fazla bilgi için bkz . Hizmet sorumlusu kullanmaya başlama.

  1. Çalışma alanının erişim ayarlarına gidin. Daha fazla bilgi için bkz . Çalışma alanınıza erişim verme.

  2. Metin kutusuna Stream Analytics işinizin adını yazın ve erişim düzeyi olarak Katkıda Bulunan'ı seçin.

  3. Ekle'yi seçin ve bölmeyi kapatın.

    Add Stream Analytics job to Power BI workspace

Power BI PowerShell cmdlet'lerini kullanma

  1. Power BI MicrosoftPowerBIMgmt PowerShell cmdlet'lerini yükleyin.

    Önemli

    Lütfen cmdlet'lerin 1.0.821 veya sonraki bir sürümünü kullandığınızdan emin olun.

    Install-Module -Name MicrosoftPowerBIMgmt
    
  2. Power BI'te oturum açın.

    Login-PowerBI
    
  3. Stream Analytics işinizi çalışma alanına Katkıda Bulunan olarak ekleyin.

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

Power BI REST API'sini kullanma

Stream Analytics işi doğrudan "Grup Kullanıcısı Ekle" REST API'si kullanılarak çalışma alanına Katkıda Bulunan olarak da eklenebilir. Bu API'nin tam belgeleri burada bulunabilir: Gruplar - Grup Kullanıcısı Ekle.

Örnek İstek

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

İstek Gövdesi

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

ASA işinin Yönetilen Kimliği için izin vermek için Hizmet Sorumlusu kullanma

Otomatik dağıtımlar için, Power BI çalışma alanına ASA işi erişimi vermek için etkileşimli oturum açma kullanmak mümkün değildir. Bir ASA işinin yönetilen kimliğine izin vermek için hizmet sorumlusu kullanılarak yapılabilir. Bu, PowerShell kullanılarak mümkündür:

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

Yönetilen Kimliği Kaldır

Stream Analytics işi için oluşturulan Yönetilen Kimlik yalnızca iş silindiğinde silinir. İşi silmeden Yönetilen Kimliği silmenin hiçbir yolu yoktur. Yönetilen Kimlik'i artık kullanmak istemiyorsanız çıktının kimlik doğrulama yöntemini değiştirebilirsiniz. Yönetilen Kimlik, iş silinene kadar var olmaya devam eder ve Yönetilen Kimlik kimlik doğrulamasını yeniden kullanma kararı alırsanız kullanılır.

Sınırlamalar

Bu özelliğin sınırlamaları aşağıdadır:

  • Klasik Power BI çalışma alanları desteklenmez.

  • Microsoft Entra Kimliği olmayan Azure hesapları.

  • Çok kiracılı erişim desteklenmez. Belirli bir Stream Analytics işi için oluşturulan Hizmet sorumlusu, işin oluşturulduğu Microsoft Entra kiracısında bulunmalıdır ve farklı bir Microsoft Entra kiracısında bulunan bir kaynakla kullanılamaz.

  • Kullanıcı Tarafından Atanan Kimlik desteklenmez. Bu, Stream Analytics işi tarafından kullanılacak kendi hizmet sorumlunuzu giremeyeceğiniz anlamına gelir. Hizmet sorumlusu Azure Stream Analytics tarafından oluşturulmalıdır.

Sonraki adımlar