Wenn Sie Ihre Microsoft Entra-App registrieren, erteilen Sie ihr die Berechtigung für den Zugriff auf verschiedene APIs. Wenn sich Ihre Anforderungen ändern, sollten Sie diese Berechtigungen anpassen. In diesem Artikel erfahren Sie, welche Schritte erforderlich sind.
Hinweis
Microsoft Entra-App-Berechtigungen sind nur für die folgenden Szenarien anwendbar:
Embed for your organization (Einbetten für Ihre Organisation)
Einbetten für Ihre Kunden mithilfe der Master-Benutzer-Authentifizierungsmethode
Bearbeiten der Berechtigungseinstellungen in Ihrer Microsoft Entra-App
Berechtigungsänderungen können programmgesteuert oder im Azure-Portal vorgenommen werden.
Wählen Sie Ihre*n Microsoft Entra-Mandanten/in aus, indem Sie in der rechten oberen Ecke der Seite Ihr Konto auswählen.
Wählen Sie App-Registrierungen aus. Wenn diese Option nicht angezeigt wird, suchen Sie danach.
Wählen Sie auf der Registerkarte Anwendungen mit Besitzer Ihre App aus. Die Anwendung wird auf der Registerkarte Übersicht geöffnet, auf der Sie die Anwendungs-ID überprüfen können.
Klicken Sie auf die Registerkarte API-Berechtigungen anzeigen.
Wählen Sie Berechtigung hinzufügen aus.
Führen Sie die folgenden Schritte aus, um Berechtigungen hinzuzufügen (beachten Sie, dass der erste Schritt für GCC-Apps anders ist):
Wählen Sie auf der Registerkarte Microsoft-APIsPower BI Dienstaus.
Hinweis
Wählen Sie für GCC-Apps die Registerkarte APIs, die meine Organisation verwendet aus und suchen Sie entweder nach Microsoft Power BI Government Community Cloud ODER fc4979e5-0aa5-429f-b13a-5d1365be5566 .
Klicken Sie auf Delegierte Berechtigungen, und fügen Sie nach Bedarf Berechtigungen hinzu, oder entfernen Sie diese.
Wenn Sie fertig sind, klicken Sie auf Berechtigungen hinzufügen, um Ihre Änderungen zu speichern.
Führen Sie die folgenden Schritte aus, um eine Berechtigung zu entfernen:
Klicken Sie auf die Auslassungspunkte (...) rechts neben der betreffenden Berechtigung.
Klicken Sie auf Berechtigung entfernen.
Klicken Sie im Popupfenster Berechtigung entfernen auf Ja, entfernen.
Wenn Sie die Berechtigungen der Microsoft Entra-App programmgesteuert ändern möchten, müssen Sie die in Ihrem Mandanten vorhandenen Dienstprinzipale (Benutzer) abrufen. Informationen hierzu finden Sie unter servicePrincipal.
Rufen Sie die Get servicePrincipal-API ohne {ID} auf, um alle Dienstprinzipale in Ihrem Mandanten abzurufen.
Suchen Sie nach einem Dienstprinzipal mit der Anwendungs-ID Ihrer App als appId-Eigenschaft. (displayName ist optional.)
Erteilen Sie Ihrer App Power BI-Berechtigungen, indem Sie einen der folgenden Werte consentType zuweisen:
AllPrincipals: Dieser Wert kann nur von Power BI-Administratoren verwendet werden, um für alle Benutzer im Mandanten Berechtigungen zu erteilen.
Principal: Verwenden Sie diesen Wert, um Berechtigungen für einen bestimmten Benutzer zu erteilen. Wenn Sie diese Option verwenden, fügen Sie dem Anforderungstext die Eigenschaft principalId={User_ObjectId} hinzu.
Wenn Sie einen Masterbenutzerverwenden, müssen Sie dem Masterkonto Berechtigungen erteilen, um eine Aufforderung zur Zustimmung durch Microsoft Entra ID zu vermeiden.
Die resourceIdc78a3685-1ce7-52cd-95f7-dc5aea8ec98e ist mandantenabhängig und nicht universell. Dieser Wert ist der objectId-Wert der Anwendung Power BI-Dienst in Microsoft Entra ID. Um diesen Wert aus dem Azure-Portal abzurufen, navigieren Sie zu Unternehmensanwendungen >Alle Anwendungen und suchen Sie nach Power BI-Dienst.
Erteilen Sie Microsoft Entra ID-App-Berechtigungen, indem Sie consentType einen Wert zuweisen.
Sie können die Microsoft Entra-App-Berechtigungen auch mit C# ändern. Weitere Informationen finden Sie im Zusammenhang mit der oAuth2PermissionGrant-API. Diese Methode kann nützlich sein, wenn Sie darüber nachdenken, einige Ihrer Prozesse zu automatisieren.
var graphClient = GetGraphClient();
currentState.createdApp = await graphClient.Applications
.Request()
.AddAsync(application);
System.Threading.Thread.Sleep(2000);
var passwordCredential = new PasswordCredential
{
DisplayName = "Client Secret Created in C#"
};
currentState.createdSecret = await graphClient.Applications[currentState.createdApp.Id]
.AddPassword(passwordCredential)
.Request()
.PostAsync();
var servicePrincipal = new ServicePrincipal
{
AppId = currentState.createdApp.AppId
};
currentState.createdServicePrincipal = await graphClient.ServicePrincipals
.Request()
.AddAsync(servicePrincipal);
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
// Use oAuth2PermissionGrant to change permissions
var oAuth2PermissionGrant = await graphClient.Oauth2PermissionGrants["{id}"]
.Request()
.GetAsync();