# Leitfaden: Zugriff auf Exchange Online Postfächer einschränken

<p class="callout info">Dieser Leitfaden wurde bisher mit der Azure-Active-Directory-Cloud getestet.</p>

<p class="callout info">Dieser Leitfaden bezieht ausschließlich auf die Verwendung der Microsoft Graph-API.</p>

#### Welches Problem lösen wir ?

Wir verhindern, dass die Graph API zu viele Berechtigungen auf die Azure-Active-Directory Postfächer der verschiedenen Abteilungen erhält.

#### Was benötigen wir ?

Um diese Anforderung zu erfüllen benötigen wir folgende softwareseitig -Komponenten:

- Eine Powershell +7.0.0 
    - [Wie installiere ich die Powershell ?](https://docs.microsoft.com/de-de/powershell/scripting/install/installing-powershell?view=powershell-7.2 "How-To-Install Powershell +7.0.0")
- Azure-Active-Directory(AAD)
- das EXO-V2 Moduler Powershell 7 in der Version 2.0.4 oder höher. 
    - [Wie installiere ich das EXO-V2-Module in der Powershell 7](https://docs.microsoft.com/de-de/powershell/exchange/exchange-online-powershell-v2?view=exchange-ps#supported-operating-systems-for-the-exo-v2-module "How-To-Install Exo-Modul V2 for Powershell +7.0.0")
    - [Ich habe ein Problem beim ausführen von EXO-V2 !](https://docs.microsoft.com/de-de/powershell/exchange/exchange-online-powershell-v2?view=exchange-ps#prerequisites-for-the-exo-v2-module "Requirements for EXO-V2-Module")
    - [Eine Email-Zugriffsberechtige-Gruppe](#bkmrk-erstellen-einer-e-ma)

#### Vorwort

Diese Dokumentation umfasst nicht die Einrichtung der Graph API für das Abholen der Emails durch Squeeze.   
Die Anleitung der Einrichtung des Email-Import findest du **[hier](https://docs.squeeze.one/link/378#bkmrk-%C2%A0-3 "Klicke hier um zu erfahren wie man ein Postfach einrichtet.").**

Zudem dient dieser Artikel zur Unterstützung der Admins, die Informationen können sich im laufe der Zeit auf den referenzierten Beiträgen ändern.

Das ausführen der nachfolgenden Schritte muss **<span style="text-decoration: underline;">unbedingt</span>** von einem **<span style="text-decoration: underline;">Admin</span>** des AAD´s durchgeführt werden.

#### Was muss ich jetzt als nächstes tun ?

Um eine App in seinen Berechtigungen zu beschränken, bietet die Azure-Active-Directory das Anlegen von E-Mail-aktivierten Sicherheitsgruppen. Diese Sicherheitsgruppen können je nach Verwendung zum restriktiven Zugriff auf eine App genutzt werden. Desweiteren sind diese Gruppen in der AAD-Admin-Oberfläche im Standart nicht zu einer App hinzugefügt. Diese Einstellungen kann man nur durch die Verwendung durch die Powershell in Verbindung mit dem EXO-V2 Modul und eines **Admin AAD Accounts** tätigen.

##### Erstellen einer E-Mail aktivierten Sicherheitsgruppe

Wenn du bereits eine Sicherheitsgruppe erstellt hast springe zu: [Verbinden der App mit der E-Mail Sicherheitsgruppe](#bkmrk-verbinde-sicherheits)  
Um eine E Mail Aktivierte Sicherheitsgruppe zu erstellen wollen wir erst einmal auf [die Admin-Oberfläche des AAD´s](https://admin.microsoft.com/AdminPortal/Home#/homepage "Klicke hier um zur Admin Oberfläche zu springen."). Dort klicken wir auf die drei angegebenen Punkte (s. Screenshot) :

[![image-1663166911584.png](https://docs.squeeze.one/uploads/images/gallery/2022-09/scaled-1680-/image-1663166911584.png)](https://docs.squeeze.one/uploads/images/gallery/2022-09/image-1663166911584.png)Im nachfolgenden sind diese weiteren dokumentierten Schritte auszuführen.

[![image-1663167010638.png](https://docs.squeeze.one/uploads/images/gallery/2022-09/scaled-1680-/image-1663167010638.png)](https://docs.squeeze.one/uploads/images/gallery/2022-09/image-1663167010638.png)Name und Beschreibung festlegen:

[![image-1663167136655.png](https://docs.squeeze.one/uploads/images/gallery/2022-09/scaled-1680-/image-1663167136655.png)](https://docs.squeeze.one/uploads/images/gallery/2022-09/image-1663167136655.png)Wähle den Besitzer (Admin-Account):

[![image-1663167249728.png](https://docs.squeeze.one/uploads/images/gallery/2022-09/scaled-1680-/image-1663167249728.png)](https://docs.squeeze.one/uploads/images/gallery/2022-09/image-1663167249728.png)Wähle nun Mitglieder/Email-Accounts die auf die App durch diese Gruppe berechtigt werden soll:

[![image-1663167469042.png](https://docs.squeeze.one/uploads/images/gallery/2022-09/scaled-1680-/image-1663167469042.png)](https://docs.squeeze.one/uploads/images/gallery/2022-09/image-1663167469042.png)Nun vergeben wir der Gruppe eine eigene Email-Address:

<p class="callout info">Die Gruppen-Email Adresse wird für später verwendet, daher sollte man sich diese Email ablegen.</p>

[![image-1663167596925.png](https://docs.squeeze.one/uploads/images/gallery/2022-09/scaled-1680-/image-1663167596925.png)](https://docs.squeeze.one/uploads/images/gallery/2022-09/image-1663167596925.png)

Im letzen Fenster bestätigt ihr eure Einstellung und erstellt die Gruppe.

---

##### Verbinde Sicherheitsgruppe mit Application durch Powershell

Da wir nun eine E-Mail aktivierte Sicherheitsgruppe besitzen, müssen wir diese Gruppe der Application (die [zuvor erstellt wurde](https://docs.squeeze.one/books/squeeze-2-admin-handbuch/page/allgemeine-konfiguration "Allgemeine Konfiguration")) zuordnen. Aktuell haben wir nur die Möglichkeit über die Powershell in Verbindung mit EXO-V2 eine Gruppe, einer App hinzu zufügen.   
  
Im ersten Schritt verbinden wir uns mit unserem AAD-Remote Cmdlet, dafür öffnen wir unsere Powershell als Administrator und geben folgenden Befehl ein. [Für weitere Information...](https://docs.microsoft.com/de-de/powershell/exchange/connect-to-exchange-online-powershell?view=exchange-ps&preserve-view=true#connect-to-exchange-online-powershell-using-modern-authentication-with-or-without-mfa "Hot-To Connect to Exchange Remote Cmdlet")

```Powershell
Connect-ExchangeOnline -UserPrincipalName <admin@company.com>
```

Nun sollte sich ein Pop-Up öffnen, dass einen durch die Authentifizierung bei Microsoft führt.

<p class="callout warning">Unter manchen Linux oder MacOS Distributionen wird kein Pop-Up geöffnet.  
Um das Problem zu lösen muss über den Device-Code Flow die Authentifizierung durchgeführt werden.  
Der folgende Befehl muss für den Device-Code Flow ausgeführt werden:</p>

```Powershell
Connect-ExchangeOnline -device
```

Nach der erfolgreichen Authentifizierung, erhält man alle Remote-Cmdlets des Exchange-Servers auf die man Berechtigungen hat. Um nun eine App-Berechtigungsgruppe einer App zu zuordnen muss folgender Befehl ausgeführt werden.

```Powershell
New-ApplicationAccessPolicy -AppId <Deine Application ID / Client ID> -PolicyScopeGroupId deineGruppenEmail@deineFirma.com -AccessRight RestrictAccess -Description "Restrict this app to members of distribution group ...."
```

Ist der Befehl erfolgreich ausgeführt worden, dann kann mann seine Anpassungen mit diesem Befehl testen:

```Powershell
Test-ApplicationAccessPolicy -Identity deineGruppenEmail@deineFirma.com -AppId <deine Application ID / Client ID>
```

Das Ergebnis des Befehls sollte so aussehen:

[![image-1663169623801.png](https://docs.squeeze.one/uploads/images/gallery/2022-09/scaled-1680-/image-1663169623801.png)](https://docs.squeeze.one/uploads/images/gallery/2022-09/image-1663169623801.png)

Nun solltest du die App auf die ausgewählten Nutzer der E-Mail aktivierten Sicherheitsgruppe beschränkt haben.

<p class="callout info">Bis die Änderungen im AAD greifen, kann es bis zu einer Stunde laut Microsoft dauern. </p>