Gewähren des Zugriffs
In diesem Artikel wird die Methode zur Verwendung von Dienstprinzipal und Anwendungs-ID für eingebettete Power BI-Analysen beschrieben, wobei der Schwerpunkt auf der Authentifizierung mithilfe der Anwendungs-ID und des geheimen Schlüssels liegt.
Schritt 1: Erstellen einer Azure AD-App
Cloud: Die Azure AD-App sollte bereits konfiguriert sein. Wenn Sie den Namen der Azure AD-App vergessen haben, können Sie zur Seite Moduleinrichtung in Business Central navigieren, um den Namen herauszufinden.
OnPrem: Richten Sie eine Azure AD-App über das Azure-Portal oder PowerShell ein. Rufen Sie die Anwendungs-ID und die Erstellung des geheimen Beitrags ab. Der Prozess umfasst das Registrieren der App, das Einrichten von Zertifikaten und Geheimnissen sowie das Aufzeichnen der Client-ID und der Dienstprinzipaldetails (bei Verwendung von PowerShell).
Schritt 2: Erstellen einer Azure AD-Sicherheitsgruppe
Um dem Dienstprinzipal Zugriff auf Power BI-Inhalte und -APIs zu gewähren, erstellen Sie eine Sicherheitsgruppe in Azure AD, und fügen Sie dieser Gruppe den Dienstprinzipal hinzu. Dies kann manuell in Azure oder mithilfe von PowerShell erfolgen.
Info
Wenn Sie den Dienstprinzipalzugriff für die gesamte Organisation aktivieren möchten, überspringen Sie diesen Schritt.
Es gibt zwei Möglichkeiten, eine Azure AD-Sicherheitsgruppe zu erstellen:
- Verwenden von PowerShell
Erstellen einer Sicherheitsgruppe mithilfe von PowerShell
Mit dem folgenden Beispielskript wird eine neue Sicherheitsgruppe erstellt. Außerdem wird der neuen Sicherheitsgruppe der Dienstprinzipal hinzugefügt, den Sie zuvor erstellt haben.
- Ersetzen Sie vor dem Ausführen des Skripts
<app-client-ID>durch die Client-ID, die Sie zuvor für Ihre neue App notiert haben. - Notieren Sie sich nach dem Ausführen des Skripts die Objekt-ID der neuen Sicherheitsgruppe, die Sie in der Skriptausgabe finden.
# Sign in as an admin.
Connect-MgGraph -Scopes "Application.ReadWrite.All"
# Get the service principal that you created earlier.
$servicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '<app-client-ID>'"
# Create an Azure AD security group.
$group = New-MgGroup -DisplayName "securitygroup1" -SecurityEnabled -MailEnabled:$False -MailNickName "notSet"
Write-Host "Object ID of new security group: " $($group.Id)
# Add the service principal to the group.
New-MgGroupMember -GroupId $($group.Id) -DirectoryObjectId $($servicePrincipal.Id)
Schritt 3: Aktivieren der Administratoreinstellungen für den Power BI-Dienst
Der Power BI-Administrator muss Einstellungen aktivieren, die der Azure AD-App den Zugriff auf Power BI-Inhalte und -APIs ermöglichen. Dies kann im Power BI-Verwaltungsportal im Abschnitt Mandanteneinstellungen > Entwicklereinstellungen eingerichtet werden.
Damit eine Azure AD-App auf die Power BI-Inhalte und -APIs zugreifen kann, muss ein Power BI-Administrator die folgenden Einstellungen aktivieren:
- Zulassen der Verwendung von Power BI-APIs durch Dienstprinzipale
Wechseln Sie im Power BI-Verwaltungsportal zu Mandanteneinstellungen, und scrollen Sie nach unten zu Entwicklereinstellungen.
Aktivieren Sie die Option Dienstprinzipalen die Verwendung von Power BI-APIs entweder für die gesamte Organisation oder für die spezifische Sicherheitsgruppe erlauben, die Sie in Azure AD erstellt haben.
Wichtig
- Dienstprinzipale haben Zugriff auf alle Mandanteneinstellungen, für die sie aktiviert sind. Abhängig von Ihren Administratoreinstellungen umfasst dies bestimmte Sicherheitsgruppen oder die gesamte Organisation.
- Um den Dienstprinzipalzugriff auf bestimmte Mandanteneinstellungen einzuschränken, erlauben Sie den Zugriff nur auf bestimmte Sicherheitsgruppen. Alternativ können Sie eine dedizierte Sicherheitsgruppe für Dienstprinzipale erstellen und sie von den gewünschten Mandanteneinstellungen ausschließen.
Schritt 4: Hinzufügen des Dienstprinzipals zu Ihrem Arbeitsbereich
Gewähren Sie der Azure AD-App Zugriff auf den Power BI-Arbeitsbereich, indem Sie den Dienstprinzipal oder seine Sicherheitsgruppe als Mitglied oder Administrator zu Ihrem Arbeitsbereich hinzufügen. Dies kann manuell, über PowerShell oder über die API erfolgen.
Es gibt drei Möglichkeiten, Ihrem Arbeitsbereich einen Dienstprinzipal oder seine Sicherheitsgruppe hinzuzufügen:
- Verwenden Sie die API Gruppen - Gruppenbenutzer hinzufügen
Manuelles Hinzufügen eines Dienstprinzipals oder einer Sicherheitsgruppe
- Scrollen Sie im Power BI-Dienst zu dem Arbeitsbereich, für den Sie den Zugriff aktivieren möchten. Wählen Sie im Menü "Mehr" die Option "Arbeitsbereichszugriff" aus. Fügen Sie im Bereich Zugriff unter Administratoren, Mitglieder oder Mitwirkende hinzufügen eine der folgenden Optionen hinzu:
- Ihr Dienstprinzipal. Der Name Ihres Dienstprinzipals ist der Anzeigename Ihrer Azure AD-App, wie er auf der Registerkarte "Übersicht" Ihrer Azure AD-App angezeigt wird.
-
Die Sicherheitsgruppe, die Ihren Dienstprinzipal enthält.
-
Wählen Sie im Dropdown-Menü Mitglied oder Administrator aus.
- Wählen Sie Hinzufügen aus.
Hinzufügen eines Dienstprinzipals als Arbeitsbereichsmitglied mithilfe von PowerShell
Mit dem folgenden Skript wird ein Dienstprinzipal als Arbeitsbereichsmitglied hinzugefügt. Bevor Sie das Skript ausführen:
- Ersetzen Sie
<service-principal-object-ID>durch die Objekt-ID, die Sie zuvor für den neuen Dienstprinzipal notiert haben. - Ersetzen Sie
<workspace-name>durch den Namen des Arbeitsbereichs, auf den Sie dem Dienstprinzipal Zugriff gewähren möchten.
# Sign in to Power BI.
Login-PowerBI
# Set up the service principal ID.
$SPObjectID = "<service-principal-object-ID>"
# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"
# Add the service principal to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType App -Identifier $($SPObjectID)
Überlegungen und Einschränkungen
- Für die Verwendung mit der Azure Analysis Services-Datenquelle sind bestimmte Berechtigungen erforderlich.