Einbetten von Power BI-Inhalten mit Dienstprinzipal und Anwendungsgeheimnis

Der Dienstprinzipal ist eine Authentifizierungsmethode, die verwendet kann, um einer Azure AD-Anwendung den Zugriff auf die Inhalte und die APIs im Power BI-Dienst zu ermöglichen.

Beim Erstellen einer Azure Active Directory-App (Azure AD) wird ein Dienstprinzipalobjekt angelegt. Das Dienstprinzipalobjekt, das manchmal auch einfach als Dienstprinzipal bezeichnet wird, ermöglicht Azure AD die Authentifizierung Ihrer App. Nach der Authentifizierung kann die App auf Azure AD-Mandantenressourcen zugreifen.

Zum Authentifizieren verwendet der Dienstprinzipal die Anwendungs-ID der Azure AD-App und eines der folgenden Elemente:

  • Zertifikat
  • Anwendungsgeheimnis

In diesem Artikel wird die Dienstprinzipalauthentifizierung mit einer Anwendungs-ID und einem Anwendungsgeheimnis beschrieben.

Hinweis

Azure AD empfiehlt, dass Sie Ihre Back-End-Dienste anstatt mit geheimen Schlüsseln mit Zertifikaten sichern.

Methode

Führen Sie die folgenden Schritte aus, um den Dienstprinzipal und eine Anwendungs-ID mit Embedded Analytics zu verwenden:

  1. Erstellen Sie eine Azure AD-App.

    1. Erstellen Sie das Geheimnis der Azure AD-App.

    2. Rufen Sie die Anwendungs-ID und das Anwendungsgeheimnis der App ab.

    Hinweis

    Diese Schritte werden in Schritt 1 beschrieben. Weitere Informationen zum Erstellen einer Azure AD-App finden Sie im Artikel Erstellen einer Azure AD-App.

  2. Erstellen Sie eine Azure AD-Sicherheitsgruppe.

  3. Aktivieren Sie die Administratoreinstellungen für den Power BI-Dienst.

  4. Fügen Sie Ihrem Arbeitsbereich den Dienstprinzipal hinzu.

  5. Betten Sie Ihre Inhalte ein.

Wichtig

Sobald Sie angeben, dass ein Dienstprinzipal mit Power BI verwendet werden soll, sind die AD-Berechtigungen der Anwendung nicht länger wirksam. Die Anwendungsberechtigungen werden dann über das Power BI-Verwaltungsportal verwaltet.

Schritt 1: Erstellen einer Azure AD-App

Erstellen Sie eine Azure AD-App mit einer der folgenden Methoden:

Erstellen einer Azure AD-App im Microsoft Azure-Portal

  1. Melden Sie sich bei Microsoft Azure an.

  2. Suchen Sie nach App-Registrierungen, und klicken Sie auf den Link App-Registrierungen.

    Azure-App-Registrierung

  3. Klicken Sie auf Neue Registrierung.

    Neue Registrierung

  4. Füllen Sie die erforderlichen Informationen aus:

    • Name: Geben Sie einen Namen für Ihre Anwendung ein.
    • Unterstützte Kontotypen: Wählen Sie die unterstützten Kontotypen aus.
    • (Optional) Umleitungs-URI: Geben Sie bei Bedarf einen URI ein.
  5. Klicken Sie auf Registrieren.

  6. Nach der Registrierung ist die Anwendungs-ID auf der Registerkarte Übersicht verfügbar. Kopieren und speichern Sie die Anwendungs-ID zur späteren Verwendung.

    Screenshot des Abrufens einer Anwendungs-ID auf der Registerkarte „Übersicht“

  7. Klicken Sie auf die Registerkarte Zertifikate & Geheimnisse.

    Screenshot des Bereichs „Certificates and secrets“ (Zertifikate und Geheimnisse) für eine App im Azure-Portal

  8. Klicken Sie auf Neuer geheimer Clientschlüssel.

    Screenshot der Schaltfläche „Neuer geheimer Clientschlüssel“ im Bereich „Certificates and secrets“ (Zertifikate und Geheimnisse)

  9. Geben Sie im Fenster Geheimen Clientschlüssel hinzufügen eine Beschreibung ein, geben Sie an, wann der geheime Clientschlüssel ablaufen soll, und klicken Sie auf Hinzufügen.

  10. Kopieren und speichern Sie den Wert für Geheimer Clientschlüssel.

    Screenshot des Bereichs „Certificates and secrets“ (Zertifikate und Geheimnisse) mit einem unkenntlich gemachten Geheimniswert

    Hinweis

    Wenn Sie dieses Fenster schließen, wird der Wert für den geheimen Clientschlüssel ausgeblendet, und Sie können ihn nicht mehr anzeigen oder kopieren.

Erstellen einer Azure AD-App mithilfe von PowerShell

Dieser Abschnitt enthält ein Beispielskript zum Erstellen einer neuen Azure AD-App mithilfe von PowerShell.

# The app ID - $app.appid
# The service principal object ID - $sp.objectId
# The app key - $key.value

# Sign in as a user that's allowed to create an app
Connect-AzureAD

# Create a new Azure AD web application
$app = New-AzureADApplication -DisplayName "testApp1" -Homepage "https://localhost:44322" -ReplyUrls "https://localhost:44322"

# Creates a service principal
$sp = New-AzureADServicePrincipal -AppId $app.AppId

# Get the service principal key
$key = New-AzureADServicePrincipalPasswordCredential -ObjectId $sp.ObjectId

Schritt 2: Erstellen einer Azure AD-Sicherheitsgruppe

Ihr Dienstprinzipal hat keinen Zugriff auf Ihre Inhalte und APIs in Power BI. Erstellen Sie eine Sicherheitsgruppe in Azure AD, und fügen Sie den von Ihnen erstellten Dienstprinzipal dieser Sicherheitsgruppe hinzu, um dem Dienstprinzipal den Zugriff zu ermöglichen.

Eine Azure AD-Sicherheitsgruppe kann auf zwei Arten erstellt werden:

Manuelles Erstellen einer Sicherheitsgruppe

Befolgen Sie die Anweisungen im Artikel Erstellen einer Basisgruppe und Hinzufügen von Mitgliedern mit Azure Active Directory, um eine Azure-Sicherheitsgruppe manuell zu erstellen.

Erstellen einer Sicherheitsgruppe mithilfe von PowerShell

Das folgende Beispielskript veranschaulicht, wie eine neue Sicherheitsgruppe erstellt und dieser eine App hinzugefügt wird.

Hinweis

Wenn Sie den Dienstprinzipalzugriff für die gesamte Organisation aktivieren möchten, überspringen Sie diesen Schritt.

# Required to sign in as admin
Connect-AzureAD

# Create an Azure AD security group
$group = New-AzureADGroup -DisplayName <Group display name> -SecurityEnabled $true -MailEnabled $false -MailNickName notSet

# Add the service principal to the group
Add-AzureADGroupMember -ObjectId $($group.ObjectId) -RefObjectId $($sp.ObjectId)

Schritt 3: Aktivieren der Administratoreinstellungen für den Power BI-Dienst

Damit eine Azure AD-App auf die Power BI-Inhalte und -APIs zugreifen kann, muss ein Power BI-Administrator den Dienstprinzipalzugriff im Power BI-Verwaltungsportal aktivieren.

Fügen Sie die Sicherheitsgruppe, die Sie in Azure AD erstellt haben, dem spezifischen Bereich für Sicherheitsgruppen in den Entwicklereinstellungen hinzu.

Wichtig

Dienstprinzipale haben Zugriff auf alle Mandanteneinstellungen, für die sie aktiviert wurden. Abhängig von Ihren Administratoreinstellungen umfasst dies bestimmte Sicherheitsgruppen oder die gesamte Organisation.

Sie können den Dienstprinzipalzugriff auf bestimmte Mandanteneinstellungen einschränken, indem Sie den Zugriff nur für bestimmte Sicherheitsgruppen zulassen. Alternativ können Sie eine dedizierte Sicherheitsgruppe für Dienstprinzipale erstellen und sie von den gewünschten Mandanteneinstellungen ausschließen.

Screenshot, in dem die Entwicklereinstellungen in den Verwaltungsoptionen im Power BI-Dienst gezeigt werden

Schritt 4: Hinzufügen des Dienstprinzipals zu Ihrem Arbeitsbereich

Fügen Sie dem Arbeitsbereich die Dienstprinzipalentität oder die Sicherheitsgruppe, die Ihren Dienstprinzipal enthält, als Mitglied oder Administrator hinzu, um die Zugriffsartefakte für die Azure AD-App wie Berichte, Dashboards und Datasets im Power BI-Dienst zu aktivieren.

Hinweis

Dieser Abschnitt enthält Anweisungen für die Benutzeroberfläche. Sie können einem Arbeitsbereich auch einen Dienstprinzipal oder eine Sicherheitsgruppe hinzufügen, indem Sie die API „Groups – add group user“ (Gruppen – Gruppenbenutzer hinzufügen) verwenden.

  1. Scrollen Sie zu dem Arbeitsbereich, für den Sie den Zugriff aktivieren möchten, und wählen Sie im Menü Mehr die Option Arbeitsbereichszugriff aus.

    Screenshot der Schaltfläche „Arbeitsbereichszugriff“ im Menü „Mehr“ eines Power BI-Arbeitsbereichs

  2. Fügen Sie im Textfeld im Bereich Zugriff eine der folgenden Optionen ein:

    • Ihren Dienstprinzipal: Der Name Ihres Dienstprinzipals ist der Anzeigename Ihrer Azure AD-App, der auf der Registerkarte „Übersicht“ der Azure AD-App angezeigt wird.

    • die Sicherheitsgruppe, die Ihren Dienstprinzipal enthält:

  3. Wählen Sie im Dropdownmenü Mitglied oder Administrator aus.

  4. Wählen Sie Hinzufügen.

Hinzufügen eines Dienstprinzipals als Mitglied eines Arbeitsbereichs mit PowerShell

Dieser Abschnitt enthält ein Beispielskript zum Hinzufügen eines Dienstprinzipals als Mitglied eines Arbeitsbereichs mit PowerShell.

Login-PowerBI

# Service Principal Object ID for the created Service Principal
$SPObjectId = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'

$pbiWorkspace = Get-PowerBIWorkspace -Name "YourWorkspaceName"

Add-PowerBIWorkspaceUser -Id $pbiWorkspace.Id -AccessRight Member -PrincipalType App -Identifier $SPObjectId 

Hinzufügen einer Sicherheitsgruppe als Mitglied eines Arbeitsbereichs mit PowerShell

Dieser Abschnitt enthält ein Beispielskript zum Hinzufügen einer Sicherheitsgruppe als Mitglied eines Arbeitsbereichs mit PowerShell.

Login-PowerBI

# Security Group Object ID for the created Security Group
$SGObjectId = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'

$pbiWorkspace = Get-PowerBIWorkspace -Name "YourWorkspaceName"

Add-PowerBIWorkspaceUser -Id $pbiWorkspace.Id -AccessRight Member -PrincipalType Group -Identifier $SGObjectId 

Schritt 5: Einbetten der Inhalte

Sie können Ihre Inhalte in Ihre eigene Anwendung oder in eine Beispielanwendung einbetten.

Nach dem Einbetten Ihrer Inhalte können Sie in die Produktionsphase wechseln.

Hinweis

Führen Sie die unter Einbetten von Power BI-Inhalten mit Dienstprinzipal und Zertifikat beschriebenen Schritte aus, um Ihre Inhalte mithilfe eines Zertifikats zu sichern.

Überlegungen und Einschränkungen

  • Dienstprinzipale sind nur für neue Arbeitsbereiche geeignet.
  • Mein Arbeitsbereich wird nicht unterstützt, wenn ein Dienstprinzipal verwendet wird.
  • Eine Kapazität ist erforderlich, um in die Produktionsphase wechseln zu können.
  • Sie können sich über den Dienstprinzipal nicht im Power BI-Portal anmelden.
  • Power BI-Administratorberechtigungen sind erforderlich, um Dienstprinzipale in den Entwicklereinstellungen im Power BI-Verwaltungsportal aktivieren zu können.
  • Für Ihre Organisation eingebettete Anwendungen können keine Dienstprinzipale verwenden.
  • Die Verwaltung von Datenflüssen wird nicht unterstützt.
  • Der Dienstprinzipal unterstützt nur einige schreibgeschützte Administrator-APIs. Um die Dienstprinzipalunterstützung für schreibgeschützte Admin-APIs zu aktivieren, müssen Sie die Administratoreinstellungen des Power BI-Diensts in Ihrem Mandanten aktivieren. Weitere Informationen finden Sie unter Aktivieren der Dienstprinzipalauthentifizierung für schreibgeschützte Administrator-APIs.
  • Wenn ein Dienstprinzipal mit einer Azure Analysis Services-Datenquelle verwendet wird, muss der Dienstprinzipal selbst über eine Azure Analysis Services-Instanzberechtigung verfügen. Zu diesem Zweck eine Sicherheitsgruppe zu verwenden, die den Dienstprinzipal enthält, funktioniert nicht.

Nächste Schritte