Lorsque vous inscrivez votre application Microsoft Entra, vous lui accordez l’autorisation d’accéder à différentes API. Vous pouvez ajuster ces autorisations en fonction de vos besoins. Cet article vous montre comment procéder.
Remarque
Les autorisations d’application Microsoft Entra s’appliquent uniquement aux scénarios suivants :
Incorporer pour votre organisation
Incorporer pour vos clients avec la méthode d’authentification de l'utilisateur maître
Modifier les paramètres d’autorisation sur votre application Microsoft Entra
Il est possible de modifier les autorisations par programmation ou sur le portail Azure.
Sélectionnez votre locataire Microsoft Entra en sélectionnant votre compte dans l’angle supérieur droit de la page.
Sélectionnez Inscriptions d’applications. Si vous ne voyez pas cette option, recherchez-la.
À partir de l’onglet Applications détenues, sélectionnez votre application. L’application s’ouvre sous l’onglet Vue d’ensemble, où vous pouvez examiner l’ID d’application.
Sélectionnez l’onglet Afficher les autorisations de l’API.
Sélectionnez Ajouter une autorisation.
Pour ajouter des autorisations, effectuez les étapes suivantes (notez que la première étape est différente pour les applications du Cloud de la communauté du secteur public) :
Dans l’onglet API Microsoft, sélectionnez Service Power BI.
Notes
Pour les applications du Cloud de la communauté du secteur public, sélectionnez l’onglet API utilisées par mon organisation, puis recherchez Microsoft Power BI Government Community Cloud ou fc4979e5-0aa5-429f-b13a-5d1365be5566.
Sélectionnez Autorisations déléguées et ajoutez ou supprimez les autorisations de votre choix.
Quand vous avez terminé, sélectionnez Ajouter des autorisations pour enregistrer vos modifications.
Pour supprimer une autorisation, suivez ces étapes :
Sélectionnez les points de suspension (...) à droite de l’autorisation.
Sélectionnez Supprimer l’autorisation.
Dans la fenêtre contextuelle Supprimer l’autorisation, sélectionnez Oui, supprimer.
Pour modifier les autorisations de votre application Microsoft Entra par programmation, vous devez obtenir les principaux de service (utilisateurs) existants au sein de votre locataire. Pour plus d’informations sur la procédure à suivre, voir servicePrincipal.
Pour obtenir tous les principaux de service au sein de votre locataire, appelez l’API Get servicePrincipal sans {ID}.
Recherchez un principal de service en utilisant l’ID d’application de votre application pour la propriété appId. (displayName est facultatif.)
Accordez des autorisations Power BI à votre application en affectant une de ces valeurs à consentType :
AllPrincipals – Peut être utilisé uniquement par un administrateur Power BI pour accorder des autorisations au nom de tous les utilisateurs du locataire.
Principal – Utilisé pour accorder des autorisations au nom d’un utilisateur spécifique. Si vous utilisez cette option, ajoutez la propriété principalId={User_ObjectId} au corps de la demande.
Si vous utilisez un utilisateur maître, pour éviter d’être invité à donner votre consentement par Microsoft Entra ID, vous devez accorder des autorisations au compte principal.
Le resourceIdc78a3685-1ce7-52cd-95f7-dc5aea8ec98e est dépendant du locataire et non universel. Cette valeur est l’objectId de l’application Service Power BI dans Microsoft Entra ID. Pour obtenir cette valeur à partir du portail Azure, accédez à Applications d’entreprise > Toutes les applications, puis recherchez Service Power BI.
Accordez des autorisations d’application à Microsoft Entra ID, en affectant une valeur à consentType.
Vous pouvez aussi modifier les autorisations de votre application Microsoft Entra en utilisant C#. Pour plus d’informations, consultez l’API oAuth2PermissionGrant. Cette méthode peut être utile si vous envisagez l’automatisation de certains processus.
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();