Azure App auf eine bestimmte Mailbox berechtigen

Über Microsoft Graph APIs und mit einer Azure App Registration kann der Zugriff auf eine definierte Exchange Mailbox eingeschränkt werden. Dafür muss die Azure App über eine ApplicationAccessPolicy auf die Mailbox berechtigt sein.

Wurde eine Azure App Registration erstellt kann mit einer ApplicationAccessPolicy der Zugriff auf eine (oder mehrere) definierte Mailboxen eingeschränkt werden. Zur Demo erstellte ich mir eine Azure App mit den Berechtigungen Mail.ReadWrite und Mail.Send. Eine ApplicationAccessPolicy ist nur in Kombination mit Application Permissions möglich.

Ich versuche über Microsoft Graph Mails aus der Mailbox auszulesen. Mit meinen aktuellen Berechtigungen wird mir der Zugriff verweigert: “Access to OData is disabled”

Damit ein Zugriff auf die Mailbox Shared1 möglich ist muss die Azure App über eine ApplicationAccessPolicy auf die Mailbox berechtigt sein. Eine ApplicationAccessPolicy ist bei den möglichen Exchange APIs eingeschränkt. In der Hilfe sind die möglichen APIs beschrieben. Dort zeigt es ausserdem folgendes Command.

New-ApplicationAccessPolicy -AppId [AzureAppID] -PolicyScopeGroupId [GroupID] -AccessRight RestrictAccess -Description [Optionale Beschreibung der Policy]

Hier ist neben der AppId der Parameter PolicyScopeGroupId von Bedeutung. Eine ApplicationAccessPolicy kann nicht direkt einer Mailbox oder einem Benutzerkonto zugeordnet sein, es muss sich um eine Mail-enabled Security Group handeln. Im M365 oder Exchange Admin Center wird so eine Gruppe erstellt.

Der neuen Gruppe füge ich meine Shared1-Mailbox als Mitglied hinzu. Die Berechtigungen der Azure App gelten am Ende für jede Mailbox in dieser Gruppe.

Nun stelle ich über das Exchange PowerShell Modul eine Verbindung zum Tenant her und kann über New-ApplicationAccessPolicy eine ApplicationAccessPolicy zwischen der Security Gruppe und Azure App erstellen. Bei der PolicyScopeGroupId handelt es sich um die ID der neu erstellten Gruppe Shared1MailboxAccess. Alternativ kann es die Mailadresse sein.

Über Test-ApplicationAccessPolicy teste ich ob die Azure App auf die Mailbox des Benutzers shared1 zugreifen kann.

Test-ApplicationAccessPolicy -Identity [email protected] -AppId "e17dc044-f8d5-4542-bb4b-3ceb352d3ab1"

Hier muss das Ergebnis Granted lauten. Damit ist die Verbindung zwischen Mailbox und Azure App abgeschlossen. Es wird nun bis zu 60 Minuten dauern bis der Zugriff für die Azure App möglich ist.

Hat das System den Vorgang abgeschlossen wird die Abfrage von vorhin den Zugriff nicht mehr verweigern und Daten inkludieren.

Share
Avatar photo

Tobias Asböck

Tobias is a Senior System Engineer with more than 10 years of professional experience with Microsoft 365 products such as SharePoint Online, SharePoint Premium, OneDrive for Business, Teams Collaboration, Entra ID, Information Protection, Universal Print, and Microsoft 365 Licensing. He also has 15+ years of experience planning, administering, and operating SharePoint Server environments. Tobias is a PowerShell Scripter with certifications for Microsoft 365 products. In his spare time, Tobias is busy with updates in the Microsoft 365 world or on the road with his road bike and other sports activities. If you have additional questions, please contact me via LinkedIn or [email protected].

Leave a Reply

Your email address will not be published. Required fields are marked *