TenantAtlas/docs/research/m365-policy-coverage-gap-analysis.md
ahmido cd811cff4f Spec 120: harden secret redaction integrity (#146)
## Summary
- replace broad substring-based masking with a shared exact/path-based secret classifier and workspace-scoped fingerprint hashing
- persist protected snapshot metadata on `policy_versions` and keep secret-only changes visible in compare, drift, restore, review, verification, and ops surfaces
- add Spec 120 artifacts, audit documentation, and focused Pest regression coverage for snapshot, audit, verification, review-pack, and notification behavior

## Validation
- `vendor/bin/sail artisan test --compact tests/Feature/Intune/PolicySnapshotRedactionTest.php tests/Feature/Intune/PolicySnapshotFingerprintIsolationTest.php tests/Feature/ReviewPack/ReviewPackRedactionIntegrityTest.php tests/Feature/OpsUx/OperationRunNotificationRedactionTest.php tests/Feature/Verification/VerificationReportViewerDbOnlyTest.php`
- `vendor/bin/sail bin pint --dirty --format agent`

## Spec / checklist status
| Checklist | Total | Completed | Incomplete | Status |
|-----------|-------|-----------|------------|--------|
| requirements.md | 16 | 16 | 0 | ✓ PASS |

- `tasks.md`: T001-T032 complete
- `tasks.md`: T033 manual quickstart validation is still open and noted for follow-up

## Filament / platform notes
- Livewire v4 compliance is unchanged
- no panel provider changes; `bootstrap/providers.php` remains the registration location
- no new globally searchable resources were introduced, so global search requirements are unchanged
- no new destructive Filament actions were added
- no new Filament assets were added; no `filament:assets` deployment change is required

## Testing coverage touched
- snapshot persistence and fingerprint isolation
- compare/drift protected-change evidence
- audit, verification, review-pack, ops-failure, and notification sanitization
- viewer/read-only Filament presentation updates

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #146
2026-03-07 16:43:01 +00:00

30 KiB
Raw Permalink Blame History

TenantPilot M365 Policy Coverage Gap Analysis

Date: 2026-03-07 Author: Gap Analysis (Automated Deep Research) Scope: Security, Governance & Baseline-relevante Policy-Familien über Microsoft 365 hinweg Methode: Repo-Ist-Analyse + Microsoft Graph API Research + Produktpriorisierung


1. Executive Summary

  • Intune-Coverage ist stark: 27 Policy-Typen + 3 Foundation-Typen sind produktiv integriert mit Backup, Restore, Drift, Inventory und Baselines. Die Intune-Abdeckung gehört zu den umfangreichsten am Markt.
  • Entra ID ist die größte High-Value-Lücke: Conditional Access wird bereits gesichert (Preview-Restore), aber Named Locations, Authentication Methods Policy, Authentication Strengths, Cross-Tenant Access Settings und Authorization Policy fehlen komplett — alles davon ist über Graph v1.0 produktreif adressierbar.
  • Entra Admin Roles sind ein Alleinstellungsmerkmal: Die Evidence-/Findings-Integration für hochprivilegierte Rollen ist bereits implementiert und in dieser Form selten bei Wettbewerbern.
  • SharePoint/OneDrive Tenant Settings sind über die Graph v1.0 admin/sharepoint/settings API sauber erreichbar und für MSPs ein sehr häufiger Audit-Punkt (External Sharing, Guest Access).
  • Exchange Online Security-Policies (Anti-Phishing, Safe Links, Safe Attachments, Anti-Spam) sind nicht sauber über Graph adressierbar — sie erfordern Exchange Online PowerShell (EXO V3). Integration ist fachlich wichtig, technisch aufwändig.
  • Microsoft Defender for Office 365 Policies teilen den Exchange-PowerShell-Kanal — gleiches Integrationsproblem.
  • UTCM (Unified Tenant Configuration Management) ist in Preview und signalisiert langfristig einen vereinheitlichten Backup/Restore/Drift-Kanal für alle M365-Workloads. Strategisch relevant, aber noch nicht produktreif.
  • Die nächsten 5 High-Impact-Kandidaten sind: Named Locations, Authentication Methods Policy, SharePoint Tenant Settings, Authentication Strengths und Cross-Tenant Access Settings — alle über Graph v1.0.
  • Purview/DLP hat für MSPs begrenzten Wert (typischerweise Enterprise-Scope, selten in MSP-Baselines) und sollte nur als Roadmap-Signal behandelt werden.
  • Die größte strategische Chance liegt in der Positionierung als „Unified M365 Configuration Governance" — dafür fehlt primär der Entra-ID-Block.

2. Current Coverage Snapshot

2.1 Was ist heute abgedeckt?

Intune / Endpoint Management — 27 Policy-Typen (Full Backup/Restore/Inventory/Drift):

Kategorie Policy-Typen
Configuration Device Configuration, Administrative Templates (ADMX), Settings Catalog
Compliance Device Compliance, Custom Compliance Scripts
Update Management Windows Update Rings, Feature Updates, Quality Updates, Driver Updates
Apps / MAM App Protection (MAM), App Configuration (MAM), App Configuration (Device), Mobile Apps (Metadata)
Scripts PowerShell Scripts, macOS Shell Scripts, Proactive Remediations (Health Scripts)
Enrollment Autopilot Profiles, Enrollment Status Page, Enrollment Limits, Platform Restrictions, Enrollment Notifications, Enrollment Restrictions, Terms & Conditions
Endpoint Security Endpoint Security Intents, Endpoint Security Policies, Security Baselines

Foundation-Typen (3): Assignment Filters, Scope Tags, Notification Message Templates

Entra ID — Teilweise:

Bereich Status Details
Conditional Access Policies Backup, Inventory, Versioning Restore ist preview-only (bewusste Entscheidung wegen Risiko)
Entra Admin Roles Evidence & Findings Rolendefinitionen, Assignments, Severity-Klassifizierung, Finding-Generierung, Alerts
Entra Groups Directory Cache Read-only Sync für Group-Name-Resolution
Service Principals Probing RBAC-Onboarding-Validierung

2.2 Schwerpunkt

Der klare Schwerpunkt liegt auf Intune Endpoint Management. Alle Intune-Policy-Familien haben:

  • Graph Contract Definitionen mit Select/Expand/TypeFamily
  • Assignment CRUD Paths
  • Backup/Restore-Unterstützung
  • Inventory Integration
  • Drift Detection (über Baselines/Snapshots)

2.3 Erkennbare Lücken

Domäne Gap-Einschätzung
Entra ID (Identity) Nur CA + Admin Roles; Named Locations, Auth Methods, Auth Strengths, Cross-Tenant Access, Authorization Policy, Security Defaults fehlen komplett
SharePoint / OneDrive Keine Unterstützung
Exchange Online Keine Unterstützung
Defender for Office 365 Keine Unterstützung
Purview / DLP Keine Unterstützung
Intune Policy Sets Im Repo als Spec (025), aber nicht im supported_policy_types
Intune Device Categories Im Repo als Spec (028), aber nicht im supported_policy_types

2.4 Im Repo vorbereitet, aber nicht vollständig produktisiert

Element Status
conditionalAccessPolicy Graph Contract vollständig definiert, aber Restore auf preview-only limitiert
Policy Sets (Spec 025) Spec vorhanden, keine Implementation
Device Categories (Spec 028) Spec vorhanden, keine Implementation
WIP Policies (Spec 029) Spec vorhanden, keine Implementation — EOL-Thema, geringe Priorität
Intune RBAC Backup (Spec 030) Spec vorhanden — Role Definitions/Assignments unter deviceManagement/
Cross-Tenant Compare (Spec 043) Architektur-Spec vorhanden, Implementation läuft

3. Coverage & Gap Matrix

3.1 Entra ID / Identity & Access

Policy Domain Policy Family API / Management Path Access Channel Coverage MSP Value Governance Relevance Feasibility Maturity SKU Notes Recommendation Notes
Entra ID Conditional Access Policies identity/conditionalAccess/policies Graph v1.0 Partial (Backup+Inventory, no full restore) High High Easy Production P1/P2 required Now Restore-Ausbau ist bewusste Risikoentscheidung; Read/Backup/Versioning ist produktiv
Entra ID Named Locations identity/conditionalAccess/namedLocations Graph v1.0 No High High Easy Production P1/P2 Now Direkte Abhängigkeit von CA Policies; MSPs brauchen dies für Baseline-Vergleiche. CRUD über Graph v1.0 vollständig.
Entra ID Authentication Methods Policy policies/authenticationMethodsPolicy Graph v1.0 No High High Easy Production Alle SKUs (Basis); einige Methods P1/P2 Now Tenant-weite Konfiguration (FIDO2, Authenticator, SMS, etc.). Zentrales Audit-Thema für MSPs. Singleton-Resource.
Entra ID Authentication Strengths policies/authenticationStrengths/policies Graph v1.0 No High High Easy Production P1/P2 (CA dependency) Now Custom Auth Strength Definitions für CA. Graph v1.0 GA. MSP-Baseline-Essential.
Entra ID Cross-Tenant Access Settings policies/crossTenantAccessPolicy Graph v1.0 No High High Moderate Production P1/P2 (B2B) Next Partner/Default/Inbound/Outbound Settings. Komplexere Struktur (Sub-Resources), aber über Graph v1.0 GA. Kritisch für B2B-Governance.
Entra ID Authorization Policy policies/authorizationPolicy Graph v1.0 No Medium High Easy Production Alle SKUs Next Singleton: steuert Guest Invite, Self-Service Sign-up, User Consent, etc. Einfache Integration, hoher Audit-Wert.
Entra ID Security Defaults policies/identitySecurityDefaultsEnforcementPolicy Graph v1.0 No Medium High Easy Production Alle SKUs Next Singleton: ein Boolean + Metadata. Triviale Integration. Wichtig als Posture-Signal (an/aus).
Entra ID Admin Consent Request Policy policies/adminConsentRequestPolicy Graph v1.0 No Medium Medium Easy Production Alle SKUs Next App Consent Workflow Settings. Simple Singleton.
Entra ID Permission Grant Policies policies/permissionGrantPolicies Graph v1.0 No Medium Medium Moderate Production Alle SKUs Later Steuert welche Permissions User/Admins auto-consenten dürfen. Relevant, aber Nischen-Audit.
Entra ID Conditional Access Templates identity/conditionalAccess/templates Graph beta No Low Medium Hard Beta P1/P2 Roadmap Beta-only. Eher Reference-Daten als konfigurierbare Policies.
Entra ID Identity Protection Policies identityProtection/ Graph v1.0 (read) / beta (write) No Medium High Hard Mixed P2 required Later Risk-based CA (User/Sign-In Risk). Lesen über v1.0, Konfiguration nur beta. SKU-abhängig (P2).
Entra ID Entra Admin Roles (Evidence) roleManagement/directory/roleDefinitions + roleAssignments Graph v1.0 Yes High High Production Bereits implementiert als Findings + Alerts
Entra ID Directory Groups (Cache) groups Graph v1.0 Yes Medium Medium Production Read-only Cache für Name-Resolution

3.2 SharePoint / OneDrive

Policy Domain Policy Family API / Management Path Access Channel Coverage MSP Value Governance Relevance Feasibility Maturity SKU Notes Recommendation Notes
SharePoint Tenant Sharing Settings admin/sharepoint/settings Graph v1.0 No High High Easy Production SPO License Now External Sharing Level, Guest Access Domains, Link Defaults. Häufigster SPO-Audit-Punkt. Singleton-Resource über Graph v1.0.
SharePoint Site Creation Settings admin/sharepoint/settings (Teil von Tenant Settings) Graph v1.0 No Low Low Easy Production SPO License Later Enthalten in demselben Endpoint wie Sharing Settings, aber geringerer Governance-Wert.
OneDrive OneDrive Storage Settings admin/sharepoint/settings (Subset) Graph v1.0 No Low Low Easy Production ODB License Roadmap Default Storage Limits, Sync Restrictions. Limitierter Audit-Wert.

3.3 Exchange Online

Policy Domain Policy Family API / Management Path Access Channel Coverage MSP Value Governance Relevance Feasibility Maturity SKU Notes Recommendation Notes
Exchange Anti-Phishing Policy EXO PowerShell: Get-AntiPhishPolicy Non-Graph (PowerShell) No High High Hard Production (PS) EOP / Defender P1 Later Kein Graph-Endpoint. Erfordert EXO V3 Remote-PowerShell oder REST-basierte EXO V3 Cmdlets. Fachlich sehr wichtig, technisch aufwändig für SaaS-Produkt.
Exchange Safe Links Policy EXO PowerShell: Get-SafeLinksPolicy Non-Graph (PowerShell) No High High Hard Production (PS) Defender P1/P2 Later Gleiche Situation wie Anti-Phishing. Kein Graph-Endpoint. Kritische Security-Baseline.
Exchange Safe Attachments Policy EXO PowerShell: Get-SafeAttachmentPolicy Non-Graph (PowerShell) No High High Hard Production (PS) Defender P1/P2 Later Gleiche Situation. Kein Graph.
Exchange Anti-Spam Policy EXO PowerShell: Get-HostedContentFilterPolicy Non-Graph (PowerShell) No Medium High Hard Production (PS) EOP (alle SKUs) Later Guter Audit-Wert, aber PowerShell-Only.
Exchange DKIM Settings EXO PowerShell: Get-DkimSigningConfig Non-Graph (PowerShell) No Medium High Hard Production (PS) Alle SKUs Roadmap Email-Authentifizierung. PowerShell-Only.
Exchange Transport Rules EXO PowerShell: Get-TransportRule; teilweise security/rules beta Non-Graph (PowerShell) / Graph beta partial No Medium Medium Hard Mixed Alle SKUs Roadmap Komplexe Objekte. PowerShell primär. Beta-Graph sehr limitiert.
Exchange Remote Domains EXO PowerShell Non-Graph (PowerShell) No Low Medium Hard Production (PS) Alle SKUs Roadmap Nischen-Governance.
Exchange OWA Mailbox Policy EXO PowerShell Non-Graph (PowerShell) No Low Low Hard Production (PS) Alle SKUs Roadmap Geringer Baseline-Wert.

3.4 Microsoft Defender for Office 365 / XDR

Policy Domain Policy Family API / Management Path Access Channel Coverage MSP Value Governance Relevance Feasibility Maturity SKU Notes Recommendation Notes
Defender Preset Security Policies EXO PowerShell: Get-*Policy + Portal Non-Graph (PowerShell + Portal) No High High Hard Indirect Defender P1/P2 Roadmap Microsoft's empfohlene Baseline. Keine Graph-API. Nur über PS + Security Portal steuerbar.
Defender Attack Simulation Training Config security/attackSimulation/ Graph beta No Low Medium Hard Beta Defender P2 Roadmap Nur Simulation-Runs über beta-API erreichbar, nicht die Konfiguration.
Defender Quarantine Policies EXO PowerShell: Get-QuarantinePolicy Non-Graph (PowerShell) No Low Medium Hard Production (PS) EOP Roadmap Nischen-Governance.

3.5 Intune Noch fehlende / teilweise fehlende Typen

Policy Domain Policy Family API / Management Path Access Channel Coverage MSP Value Governance Relevance Feasibility Maturity SKU Notes Recommendation Notes
Intune Policy Sets deviceAppManagement/policySets Graph beta No (Spec 025 exists) Medium Medium Moderate Beta Intune P1 Next Spec vorhanden. Beta-API. Nützlich für Gruppierung, aber nicht Kern-Security.
Intune Device Categories deviceManagement/deviceCategories Graph v1.0 No (Spec 028 exists) Low Low Easy Production Intune P1 Later Einfache Integration, aber geringer Governance-Wert.
Intune Intune RBAC (Role Definitions/Assignments) deviceManagement/roleDefinitions + roleAssignments Graph v1.0 No (Spec 030 exists) Medium High Moderate Production Intune P1 Next Bereits als Graph Contract definiert (rbacRoleAssignment). Spec vorhanden. Wichtig für Governance.
Intune Apple VPP Tokens deviceAppManagement/vppTokens Graph beta No Low Low Moderate Beta Intune P1 + Apple VPP Roadmap Operational, nicht Security-relevant.
Intune DEP Profiles (Apple) deviceManagement/depOnboardingSettings Graph beta No Medium Medium Moderate Beta Intune P1 + Apple DEP Later Relevant für Apple-heavy MSPs. Beta.
Intune Windows Feature Update Expedite deviceManagement/windowsQualityUpdatePolicies Graph beta No Medium Medium Moderate Beta Intune P1 Later Neuer Update-Typ. Beta. Eigenständige Policy.

3.6 Purview / Information Governance (Optional)

Policy Domain Policy Family API / Management Path Access Channel Coverage MSP Value Governance Relevance Feasibility Maturity SKU Notes Recommendation Notes
Purview Sensitivity Labels security/informationProtection/sensitivityLabels Graph v1.0 (read) / beta (full) No Medium High Hard Mixed M365 E3/E5 Roadmap Lesen über v1.0. Aber Labels + Publishing Policies sind komplex. Enterprise-Feature, selten in MSP-Baselines.
Purview DLP Policies Security & Compliance PowerShell / security/ beta Non-Graph (PowerShell) / Graph beta partial No Low Medium Hard Beta/Indirect M365 E3/E5/Compliance Add-on Roadmap Kein stabiler Graph-Kanal. Enterprise-only. Nicht MSP-Baseline-tauglich.
Purview Retention Policies security/ beta; PowerShell primary Non-Graph (PowerShell) / Graph beta partial No Low Medium Hard Beta/Indirect M365 E3/E5 Roadmap Ähnliches Problem wie DLP.

4. Top Missing High-Value Gaps

Die folgenden 10 Lücken bieten den größten kombinierten Wert aus MSP-Relevanz, Audit-Wichtigkeit und technischer Umsetzbarkeit:

Rang 1: Entra ID Named Locations

  • Warum: Direkte Abhängigkeit von CA Policies. Jeder CA-Baseline-Vergleich ist ohne Named Locations unvollständig. identity/conditionalAccess/namedLocations ist Graph v1.0 GA mit vollem CRUD.
  • Aufwand: Gering. Gleicher Pattern wie CA Policies.

Rang 2: Entra ID Authentication Methods Policy

  • Warum: Tenant-weite Steuerung von MFA-Methoden (FIDO2, Authenticator, SMS, Temporary Access Pass). Top-Audit-Thema. policies/authenticationMethodsPolicy ist ein Singleton über Graph v1.0.
  • Aufwand: Gering. Einzelne Resource mit Sub-Configurations pro Method.

Rang 3: SharePoint Tenant Sharing Settings

  • Warum: External Sharing Level, Guest Access Domain Allow/Block, Default Link Type. Häufigster SharePoint-Audit-Punkt. admin/sharepoint/settings ist Graph v1.0 GA.
  • Aufwand: Gering. Singleton-Resource.

Rang 4: Entra ID Authentication Strengths

  • Warum: Custom Authentication Strength Policies für CA. Definiert erlaubte MFA-Kombinationen. policies/authenticationStrengths/policies ist Graph v1.0 GA.
  • Aufwand: Gering. Collection mit einfacher Struktur.

Rang 5: Entra ID Cross-Tenant Access Settings

  • Warum: B2B Inbound/Outbound Policies, Default Settings, Partner Configurations. Kritisch für MSP-Governance bei Multi-Tenant-Umgebungen. Graph v1.0 GA.
  • Aufwand: Moderat. Verschachtelte Struktur (Default + N Partner-Configs mit je Inbound/Outbound/Trust).

Rang 6: Entra ID Authorization Policy

  • Warum: Steuert grundlegende Tenant-Einstellungen: Wer darf Guests einladen, Self-Service Sign-up, User Consent Flow. policies/authorizationPolicy ist Graph v1.0 GA. Singleton.
  • Aufwand: Gering. Ein Objekt.

Rang 7: Entra ID Security Defaults Policy

  • Warum: Ein Boolean (+ Metadata) das bestimmt ob Security Defaults aktiviert sind. Trivialer Check, aber kritisches Posture-Signal: Ein Tenant mit Security Defaults OFF und ohne CA ist ein Red Flag.
  • Aufwand: Trivial. Ein GET-Request.

Rang 8: Intune RBAC Role Definitions & Assignments

  • Warum: Intune RBAC Backup/Governance. Wer hat welche Rechte im Intune-Kontext? Graph Contract bereits definiert. Spec 030 existiert.
  • Aufwand: Moderat. Graph Contract Grundstruktur vorhanden.
  • Warum: App Consent Workflow Settings. Einfaches Singleton. Audit-relevant (wer darf Apps genehmigen?).
  • Aufwand: Gering.

Rang 10: Conditional Access Restore-Ausbau

  • Warum: CA Backup ist produktiv, Restore ist preview-only. Full Restore (mit Safeguards wie reportOnly-Modus, Dry-Run Validation) würde den CA-Workflow komplett machen.
  • Aufwand: Moderat. Risiko-Management ist die eigentliche Herausforderung, nicht die API.

5. Not Sensible Before Launch

Die folgenden Kandidaten sind fachlich relevant, aber aktuell nicht sinnvoll für die unmittelbare Umsetzung:

  • Warum nicht: Kein Graph-Endpoint. Erfordert Exchange Online PowerShell V3 (REST-based) Integration. Das bedeutet: separater Auth-Flow (Certificate-Based Auth für EXO), separater Management-Kanal, separates Rate-Limit-Handling. Die technische Architektur von TenantPilot (Graph-Contract-basiert) müsste fundamental erweitert werden.
  • Status: Wichtig, aber aktuell schlecht integrierbar. Eher Roadmap-/Marketing-Signal.

Microsoft Defender Preset Security Policies

  • Warum nicht: Gleiche EXO-PowerShell-Abhängigkeit. Zusätzlich: Preset Security Policies sind ein Microsoft-eigenes Baseline-Konzept — die sinnvolle Governance-Integration erfordert Verständnis des Tiering-Modells (Standard/Strict).
  • Status: Roadmap only.

Purview DLP / Retention Policies

  • Warum nicht: Kein stabiler Graph-Kanal. Erfordert Security & Compliance PowerShell. SKU-abhängig (E3/E5). MSPs nutzen DLP seltener als Enterprise-Kunden. ROI für TenantPilot ist gering.
  • Status: Roadmap only (ggf. Enterprise-Tier).

Identity Protection Policies (Risk-Based CA)

  • Warum nicht: Lesen über Graph v1.0 möglich, aber Konfiguration nur über beta. Harte P2-SKU-Abhängigkeit. MSPs mit M365 BP (Business Premium) haben kein P2.
  • Status: Later / Roadmap.

Intune Policy Sets (beta API)

  • Warum nicht: Beta-API. Policy Sets sind ein Organisations-Feature, kein Security-Feature. Der Governance-Wert (welche Policies gehören zusammen?) ist nice-to-have, nicht must-have.
  • Status: Next (nach Stabilisierung der beta-API).

Sensitivity Labels

  • Warum nicht: Read-API ist v1.0, aber die vollständige Konfiguration (Label Policies, Auto-Labeling, Publishing) erfordert beta oder S&C PowerShell. Enterprise-Feature. Rare im MSP-Baseline-Kontext.
  • Status: Roadmap only.

6. UTCM Roadmap Signals

Was ist UTCM?

Unified Tenant Configuration Management (Codename: Microsoft 365 Backup & Configuration Management) ist Microsofts Ansatz, Konfigurationen über alle M365-Workloads hinweg einheitlich zu adressieren. Stand März 2026:

Strategisch interessante Signale

Signal Bedeutung für TenantPilot Zeitrahmen
UTCM Configuration Profiles API (Preview) Einheitliches Read/Write/Diff für SPO, EXO, Teams, Defender Settings über Graph Beobachten. Preview seit Mitte 2025. Keine GA-Timeline bekannt.
M365 Backup API (solutions/backupRestore/) Graph v1.0 GA für SPO/ODB/EXO Data Backup. Nicht für Konfiguration. Nicht relevant für TenantPilot (Data Backup ≠ Config Governance).
Multi-Tenant Management APIs (tenantRelationships/managedTenants/) Read-only Aggregation über MSP-Managed Tenants. Baselines, Alerts, Compliance Trends. Beobachten. Überschneidung mit TenantPilot's eigenem Multi-Tenant-Modell. Könnte als Datenquelle nützlich sein.
UTCM Drift Detection Microsoft's eigene Drift Detection für M365 Config. Aktuell sehr begrenzt (nur wenige Workloads). Langfristiges Wettbewerbsrisiko. TenantPilot's Drift Engine ist deutlich umfangreicher.

Bewertung

UTCM ist heute ein Beobachtungssignal, kein Umsetzungsziel:

  • Die Preview-APIs sind instabil und haben sehr begrenzten Workload-Scope
  • Microsoft's eigene Roadmap zeigt keine klare GA-Timeline
  • TenantPilot sollte UTCM als langfristigen Integrationspartner betrachten, nicht als kurzfristiges Feature-Ziel
  • Die Strategie sollte sein: Graph v1.0 APIs zuerst, UTCM als Beschleuniger wenn GA

Now (Q2 2026 unmittelbar umsetzbar, hoher ROI)

# Kandidat Begründung
1 Entra: Named Locations CA-Abhängigkeit, Graph v1.0, triviales Pattern
2 Entra: Authentication Methods Policy Top-Audit-Thema, Graph v1.0, Singleton
3 SharePoint: Tenant Sharing Settings Häufigster SPO-Audit-Punkt, Graph v1.0, Singleton
4 Entra: Authentication Strengths CA-Dependency, Graph v1.0, einfach
5 Entra: Security Defaults Trivial (1 Boolean), aber kritisches Posture-Signal

Alle 5 Kandidaten nutzen ausschließlich Graph v1.0 Stable-APIs und erfordern keinen neuen Integrationskanal.

Next (Q3-Q4 2026 moderater Aufwand, solider Wert)

# Kandidat Begründung
6 Entra: Cross-Tenant Access Settings B2B-Governance, Graph v1.0, aber verschachtelte Struktur
7 Entra: Authorization Policy Tenant-Grundkonfiguration, Graph v1.0, Singleton
8 Intune: RBAC Role Definitions/Assignments Spec 030 vorhanden, Graph Contract existiert, Governance-Must
9 Entra: Admin Consent Request Policy Einfach, Graph v1.0, App-Consent-Governance
10 Conditional Access: Full Restore Backup existiert; Restore-Workflow mit Safety-Guardrails ausbauen

Later (2027 H1 requires architecture investment or beta stabilization)

# Kandidat Begründung
11 Entra: Permission Grant Policies Graph v1.0, aber Nischen-Thema
12 Entra: Identity Protection Policies SKU-abhängig (P2), Write nur beta
13 Intune: Policy Sets Beta API, nice-to-have Governance
14 Intune: DEP Profiles (Apple) Beta, Apple-spezifisch
15 Exchange: Anti-Phishing/Safe Links/Safe Attachments Erfordert EXO PowerShell-Kanal — architektonische Erweiterung

Roadmap Only (strategisch, nicht kurzfristig)

Kandidat Begründung
UTCM Integration Preview, keine GA-Timeline
Defender Preset Security Policies PowerShell-Only, komplexes Tiering
Purview DLP / Retention PowerShell + beta, Enterprise-SKU, geringer MSP-ROI
Sensitivity Labels (Full) Mixed API, Enterprise-Feature
Exchange Transport Rules PowerShell primary, komplexe Objekte
Multi-Tenant Management API Read-only Aggregation, Überschneidung mit eigenem Modell

8. Sources

Microsoft Graph API Documentation (v1.0)

Microsoft Graph API Documentation (beta)

Exchange Online / Defender (PowerShell)

Purview

UTCM / M365 Backup


Appendix A: Architektur-Anmerkungen für die Umsetzung

"Now"-Kandidaten folgen dem bestehenden Graph-Contract-Pattern

Alle 5 „Now"-Kandidaten können in das bestehende config/graph_contracts.php + GraphContractRegistry Muster integriert werden:

// Beispiel-Contract für Named Locations
'namedLocation' => [
    'resource' => 'identity/conditionalAccess/namedLocations',
    'allowed_select' => ['id', 'displayName', '@odata.type', 'modifiedDateTime'],
    'allowed_expand' => [],
    'type_family' => [
        '#microsoft.graph.ipNamedLocation',
        '#microsoft.graph.countryNamedLocation',
    ],
    'create_method' => 'POST',
    'update_method' => 'PATCH',
    'id_field' => 'id',
    'hydration' => 'properties',
],

Singleton-Resources (neue Kategorie)

Authentication Methods Policy, Authorization Policy und Security Defaults sind Singletons (ein Objekt pro Tenant, kein Collection-CRUD). Das bestehende Pattern (Collection-basiert mit CRUD) muss um einen Singleton-Modus erweitert werden:

  • GET (kein $top, kein Paging)
  • PATCH (kein POST/DELETE)
  • Vergleich: Vorher/Nachher eines einzelnen Objekts

Permissions-Impact

Kandidat Benötigte Permission Typ
Named Locations Policy.Read.All (bereits granted) Read
Auth Methods Policy Policy.Read.All (bereits granted) Read
Auth Strengths Policy.Read.All (bereits granted) Read
Security Defaults Policy.Read.All (bereits granted) Read
SharePoint Settings SharePointTenantSettings.Read.All Neu
Cross-Tenant Access Policy.Read.All (bereits granted) Read
Authorization Policy Policy.Read.All (bereits granted) Read

Bemerkenswert: 4 von 5 „Now"-Kandidaten erfordern keine neuen Permissions — Policy.Read.All ist bereits in config/intune_permissions.php als granted definiert. Nur SharePoint benötigt eine neue Permission.