Wanneer u uw Microsoft Entra-app registreert, verleent u deze toestemming voor toegang tot verschillende API's. Naarmate uw behoeften veranderen, kunt u deze machtigingen aanpassen. In dit artikel wordt uitgelegd hoe u dit doet.
Notitie
Microsoft Entra-app-machtigingen zijn alleen van toepassing op deze scenario's:
Insluiten voor uw organisatie
Insluiten voor uw klanten met de verificatiemethode van de hoofdgebruiker
De machtigingsinstellingen voor uw Microsoft Entra-app bewerken
Machtigingswijzigingen kunnen programmatisch of in Azure Portal worden aangebracht.
Selecteer uw Microsoft Entra-tenant door uw account in de rechterbovenhoek van de pagina te selecteren.
Selecteer App-registraties. Als u deze optie niet kunt zien, zoekt u deze.
Selecteer uw app op het tabblad Toepassingen in eigendom. De toepassing wordt geopend op het tabblad Overzicht , waar u de toepassings-id kunt bekijken.
Selecteer het tabblad API-machtigingen weergeven .
Selecteer Een machtiging toevoegen.
Als u machtigingen wilt toevoegen, volgt u deze stappen (houd er rekening mee dat de eerste stap anders is voor GCC-apps):
Selecteer Power BI-service op het tabblad Microsoft-API's.
Notitie
Voor GCC-apps selecteert u de API's die mijn organisatie gebruikt en zoekt u naar Microsoft Power BI Government Community Cloud OF fc4979e5-0aa5-429f-b13a-5d1365be5566.
Selecteer Gedelegeerde machtigingen en voeg de specifieke machtigingen toe of verwijder deze die u nodig hebt.
Wanneer u klaar bent, selecteert u Machtigingen toevoegen om uw wijzigingen op te slaan.
Voer de volgende stappen uit om een machtiging te verwijderen:
Selecteer het beletselteken (...) rechts van de machtiging.
Selecteer De machtiging Verwijderen.
Selecteer Ja, verwijderen in het pop-upvenster Machtigingen verwijderen.
Als u uw Microsoft Entra-app-machtigingen programmatisch wilt wijzigen, moet u de bestaande service-principals (gebruikers) in uw tenant ophalen. Zie servicePrincipal voor meer informatie over hoe u dit doet.
Als u alle service-principals in uw tenant wilt ophalen, roept u de Get servicePrincipal API aan zonder {ID}.
Controleer als eigenschap op een service-principal met de appId toepassings-id van uw app. (displayName is optioneel.)
Verwijs Power BI-machtigingen aan uw app door een van deze waarden toe te wijzen aan consentType:
AllPrincipals - Kan alleen worden gebruikt door een Power BI-beheerder om namens alle gebruikers in de tenant machtigingen te verlenen.
Principal - Gebruik dit om machtigingen te verlenen namens een specifieke gebruiker. Als u deze optie gebruikt, voegt u de principalId={User_ObjectId} eigenschap toe aan de hoofdtekst van de aanvraag.
Als u een hoofdgebruiker gebruikt om te voorkomen dat u om toestemming wordt gevraagd door Microsoft Entra ID, moet u machtigingen verlenen aan het hoofdaccount.
De resourceIdc78a3685-1ce7-52cd-95f7-dc5aea8ec98e is afhankelijk van de tenant en niet universeel. Deze waarde is de objectId van de Power BI-servicetoepassing in Microsoft Entra-id. Als u deze waarde wilt ophalen uit De Azure-portal, gaat u naar Alle bedrijfstoepassingen> en zoekt u naar de Power BI-service.
Verwijs app-machtigingen aan Microsoft Entra-id door een waarde toe te wijzen aan consentType.
U kunt ook uw Microsoft Entra-app-machtigingen wijzigen met behulp van C#. Zie de oAuth2PermissionGrant-API voor meer informatie. Deze methode kan handig zijn als u overweegt een aantal van uw processen te automatiseren.
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();