Lorsque l'on délègue la permission Mail.Send avec le type Application Permission, cela permet à l'application d'envoyer des mails avec n'importe quelle boite aux lettres du Tenant.
Nous allons ici voir comment restreindre cette portée à une ou plusieurs boites aux lettres.
Creation d'un mail enabled security group
Nous allons dans un premier temps créer un 'Mail Enabled Security Group' depuis le portail Exchange Online ou via Powershell.
Donnons lui un nom et une description.
Assignons lui un propriétaire.
Ce dernier aura pour membre la ou les boites aux lettres depuis lesquelles nous autoriserons l'envoie de Mail.
Donnons lui une adresse de messagerie
Et enfin on valide.
La création de la Policy via une petite ligne Powershell
Via Powershell nous allons créer un Policy afin de restreindre l'envoie de mail à notre App pour le groupe créé précédement.
# Connect to Exchange Online
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline
# Create App Policy
New-ApplicationAccessPolicy -AccessRight RestrictAccess -AppId "0bb96e35-dced-4569-aaec-1531a17157ad" -PolicyScopeGroupId RestrictToSalesOnly@monadressesmail.com -Description "Restrict this app's access to members of security group RestrictToSalesOnly."
Vérification
Une petite ligne Powershell pour vérifier que la policy fonctionne.
Test-ApplicationAccessPolicy -Identity RandomUser@monadressmail.com -AppId "0bb96e35-dced-4569-aaec-1531a17157ad"
Donc ici on peut vérifier que cela ne fonctionne pas pour l'utilisateur random, mais si on essaie avec l'adresse autorisée
Test-ApplicationAccessPolicy -Identity SalesTeam@monadressmail.com -AppId "0bb96e35-dced-4569-aaec-1531a17157ad"