> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anny.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft-365-Kalenderzugriff auf einzelne Postfächer begrenzen

> Begrenze mit powershell den Kalenderzugriff der Microsoft-365-Integration auf ausgewählte Outlook-Ressourcenpostfächer.

Die organisationsweite [Microsoft-365-Integration](https://docs.anny.co/m365-workspace.md) holt die Zustimmung einmalig für deinen Tenant. In Entra ID gilt diese Zustimmung damit zunächst für die ganze Organisation. Den tatsächlichen Zugriff auf Kalender und Postfacheinstellungen begrenzst du danach in Exchange Online (powershell).

Dieser Artikel richtet sich an Exchange-Admins, die anny nur mit ausgewählten Outlook-Raum- und Ressourcenpostfächern verbinden wollen.

> [!TIP]
>
> Die Einrichtung passiert in Entra ID und Exchange Online, nicht in anny. In anny koppelst du danach wie gewohnt einzelne Kalender unter **Account** → **Apps & Integrationen** → **Microsoft 365**.

## Wie der Zugriff begrenzt wird

Es gibt nicht einen Schalter. Die Zustimmung in Entra ID bleibt tenant-weit. Für `Calendars.ReadWrite` und `MailboxSettings.ReadWrite` legst du in Exchange Online einen Management Scope an: eine mail-aktivierte Gruppe plus RBAC for Applications.

Die App erhält Kalenderzugriff dann ausschließlich auf Postfächer, die Mitglieder dieser Gruppe sind. Die Berechtigungen in Exchange addieren sich zu denen in Entra ID. Solange die tenant-weiten Graph-Berechtigungen in Entra ID stehen, wirkt der Scope nicht.

![Image](https://mintcdn.com/anny-85c98540/32CsIFLC2TO8KggZ/images/image-10.png?fit=max\&auto=format\&n=32CsIFLC2TO8KggZ\&q=85\&s=474b576bbace0392ddf4655cdec2cecb)

## Voraussetzungen

* Exchange-Administrator-Rolle bzw. Mitgliedschaft in **Organization Management**

* Exchange Online (Cloud). On-Premise-Postfächer unterstützt die Integration nicht.

* Eine mail-aktivierte Sicherheitsgruppe, Microsoft-365-Gruppe oder Verteilerliste. Nur direkte Mitglieder zählen, verschachtelte Gruppen nicht.

* Die **Anwendungs-ID** und die **Objekt-ID** der Unternehmensanwendung. Nimm die Werte aus **Unternehmensanwendungen**, nicht aus **App-Registrierungen**.

## Zugriff auf einzelne Postfächer begrenzen

**1. Gruppe anlegen**

Lege eine mail-aktivierte Gruppe an, zum Beispiel `anny-scope`. Nimm die Raum- und Ressourcenpostfächer auf, deren Kalender anny nutzen darf.

**2. Mit Exchange Online verbinden**

Öffne PowerShell und verbinde dich mit Exchange Online.

```powershell theme={null}
Connect-ExchangeOnline
```

**3. Service Principal anlegen**

Erzeuge den Verweis auf die Unternehmensanwendung. Die IDs kommen aus **Unternehmensanwendungen**, nicht aus **App-Registrierungen**.

```powershell theme={null}
New-ServicePrincipal -AppId <client-id> -ObjectId <sp-object-id> -DisplayName "anny"
```

**4. Scope definieren**

Begrenze den Zugriff auf die Mitglieder der Gruppe. Der Filter braucht den Distinguished Name.

```powershell theme={null}
$dn = (Get-Group "anny-scope").DistinguishedName
New-ManagementScope -Name "anny Scope" -RecipientRestrictionFilter "MemberOfGroup -eq '$dn'"
```

**5. Rollen mit Scope zuweisen**

Weise Kalender- und Postfacheinstellungen nur für diesen Scope zu.

```powershell theme={null}
New-ManagementRoleAssignment -App <sp-object-id> `
  -Role "Application Calendars.ReadWrite" -CustomResourceScope "anny Scope"
New-ManagementRoleAssignment -App <sp-object-id> `
  -Role "Application MailboxSettings.ReadWrite" -CustomResourceScope "anny Scope"
```

**6. Prüfen**

Teste, ob ein konkretes Postfach im Scope liegt. Der Test umgeht den Berechtigungs-Cache und berücksichtigt nur Exchange-RBAC, nicht die Berechtigungen in Entra ID.

```powershell theme={null}
Test-ServicePrincipalAuthorization -Identity <sp-object-id> -Resource user@kunde.de
```

**7. Tenant-weite Entra-Berechtigungen entfernen**

Entferne in Entra ID unter **Unternehmensanwendungen** → deine anny-App → **Berechtigungen** die organisationsweiten Anwendungsberechtigungen `Calendars.ReadWrite` und `MailboxSettings.ReadWrite`. Ohne diesen Schritt bleibt der Zugriff tenant-weit, weil Entra ID und Exchange die Rechte addieren.

Sobald der Scope aktiv ist und die tenant-weiten Entra-Berechtigungen entfernt sind, kann anny nur noch die Postfächer in der Gruppe als Kalender nutzen. Die Microsoft-Dokumentation zu RBAC for Applications steht bei [Microsoft Learn](https://learn.microsoft.com/de-de/exchange/permissions-exo/application-rbac).

> [!WARNING]
>
> Änderungen an App-Berechtigungen können 30 Minuten bis zwei Stunden brauchen. Der Test mit `Test-ServicePrincipalAuthorization` umgeht diesen Cache. Ein grünes Testergebnis bedeutet deshalb nicht, dass Graph den Scope schon durchsetzt, und es prüft nicht, ob in Entra ID noch tenant-weite Berechtigungen stehen.

## Einschränkungen

* Du begrenzst nur Kalenderzugriff und Postfacheinstellungen. Die Kontenliste in **Microsoft Kalender** kann weiterhin mehr Adressen zeigen, weil sie aus dem Verzeichnis kommt.
* Verschachtelte Gruppenmitglieder liegen außerhalb des Scopes.

## FAQ

> [accordion] Warum sehe ich in anny trotzdem viele Microsoft-Konten?
>
> Die Auswahl **Microsoft Kalender** listet Konten aus dem Verzeichnis. Der Exchange-Scope begrenzt den Kalenderzugriff, nicht diese Liste. Synchronisieren lässt sich nur ein Postfach, das direktes Mitglied der Gruppe ist. Andere Postfächer schlagen fehl.

> [accordion] Die Einschränkung wirkt nicht, anny kommt weiter an alle Kalender
>
> Die tenant-weiten Graph-Berechtigungen in Entra ID sind dann noch aktiv. Exchange-RBAC addiert sich dazu und schränkt nicht ein, solange Entra ID denselben Zugriff organisationweit gibt. Entferne `Calendars.ReadWrite` und `MailboxSettings.ReadWrite` in der Unternehmensanwendung.

> [accordion] Gehören Raumpostfächer in die Gruppe?
>
> Ja. Jedes Raum- oder Ressourcenpostfach, das anny synchronisieren soll, muss direktes Mitglied der mail-aktivierten Gruppe sein.

## Troubleshooting

> [accordion] Ein Kalender ist nach dem Scope nicht erreichbar
>
> Das Postfach ist oft kein direktes Mitglied der Gruppe, oder der Berechtigungs-Cache ist noch aktiv. Prüfe die Mitgliedschaft und warte bis zu zwei Stunden, oder teste mit `Test-ServicePrincipalAuthorization`.

> [accordion] Der Test sagt InScope, Graph erlaubt trotzdem alles
>
> `Test-ServicePrincipalAuthorization` ignoriert Entra-Berechtigungen. Entferne die tenant-weiten Anwendungsberechtigungen in Entra ID und warte, bis der Cache abläuft.

> Wichtige Informationen für Agenten:
>
> **Abgrenzung:** Hidden Support-Artikel (public, nicht in der sichtbaren Nav). Gilt NUR für die organisationsweite Integration „Microsoft 365“ (Admin Consent, Client Credentials). NICHT: persönliche Outlook-Integration, Outlook-Add-In, MS-Teams-App, MS-Teams-Videomeeting. Produktartikel: `/m365-workspace`.
>
> **Kein anny-UI-Pfad** für diesen Artikel. Exchange Online PowerShell plus Entra Unternehmensanwendung. In anny: Seitenleiste Account → Apps & Integrationen (`/apps`) → Deine Apps → Microsoft 365 → Autorisieren / Microsoft Kalender.
>
> **Quirks:** (1) Entra-App-Permissions und Exchange Application RBAC sind eine Union; Scope wirkt erst nach Entfernen der tenant-weiten Graph-Grants `Calendars.ReadWrite` und `MailboxSettings.ReadWrite`. (2) `Test-ServicePrincipalAuthorization` umgeht den Cache (30 min bis 2 h) und ignoriert Entra-Grants. (3) Nested Groups out of scope, nur direkte Mitglieder. Unterstützt: mail-enabled security groups, Microsoft 365 Groups, Distribution Lists. (4) IDs aus Enterprise Applications (AppId = Application ID, ObjectId = Service Principal Object ID), nicht App Registrations. (5) `-App` bei New-ManagementRoleAssignment: ObjectId des Service Principals (Microsoft-Beispiel). (6) anny listet Konten weiter via Graph `users` / `users/$count` (UsersService); Kalenderzugriff über `users/{id}/calendar` bzw. calendars; Diagnose liest `mailboxSettings/automaticRepliesSetting`. (7) User-Briefing sprach von sechs Berechtigungen über drei Systeme; dokumentiert ist nur System 1 (Exchange: Calendars.ReadWrite + MailboxSettings.ReadWrite). Weitere Systeme nicht erfinden. (8) Application Access Policies sind der Vorgänger; nicht mit RBAC für dieselbe Permission mischen.
>
> **Beziehungen:** Plan-Gating der Integration über Kalendersynchronisation, nicht in diesem Artikel. Learn: [https://learn.microsoft.com/exchange/permissions-exo/application-rbac](https://learn.microsoft.com/exchange/permissions-exo/application-rbac)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.