Repository navigation
Release v1.1.0 - Access Package Documentor
We're excited to announce M365IdentityPosture v1.1.0, featuring a major new reporting capability for Entitlement Management along with significant enhancements to the module framework.
🆕 Major New Feature: Access Package Documentor
The headline feature of this release is the Access Package Documentor - an interactive graph-based visualization and documentation tool for Microsoft Entra Entitlement Management, developed in collaboration with Christian Frohn (@ChrFrohn).
Key Capabilities
📊 Interactive Graph Visualization
- Cytoscape.js Integration: Advanced graph visualization of access packages, catalogs, policies, and resources
- Dynamic Interaction: Zoom, pan, and drag-to-explore with intuitive navigation controls
- Smart Filtering: Filter by catalog, access package, policy, or resource type
- Full-Text Search: Search across all node labels for quick discovery
- Detail Panels: Click any node to view comprehensive details in a collapsible side panel
- Layout Optimization: Automatic graph layout optimization for different data sizes
📋 Comprehensive Documentation
- Access Package Structure: Complete inventory of packages, catalogs, and assignment policies
- Resource Assignments: Maps resource role scopes (groups, applications, SharePoint sites, Teams)
- Approval Workflows: Visualizes multi-stage approval chains with approvers and escalation settings
- Policy Configurations: Captures expiration settings, access reviews, requestor questions, and reviews
- Custom Extensions: Displays integrated custom extension configurations
- Verified ID Integration: Shows Verified ID requirements when configured
💾 Multi-Format Export
- PNG/JPEG: High-resolution graph screenshots for presentations and documentation
- Markdown: Hierarchical documentation with complete details for knowledge bases
- JSON: Structured data export for integration with external tools
Usage Example:
# Document all access packages with interactive graph
Invoke-AccessPackageDocumentor -OutputPath "C:\Reports\AccessPackages"
# Load in light mode
Invoke-AccessPackageDocumentor -Theme Light
# Use custom app registration for authentication
Invoke-AccessPackageDocumentor -TenantID 11111111-2222-3333-4444-555555555555 -ClientID 11111111-2222-3333-4444-555555555555✨ Enhancements
Dual Reporting Framework
- Module now supports two comprehensive reports: Authentication Context Inventory (v1.0) and Access Package Documentor (v1.1)
- Modular report architecture enables independent operation and future expansion
- Shared infrastructure for HTML generation, theming, and data visualization
Improved User Experience
- Runtime Theme Switching: Both reports support instant theme toggle between Classic/Light and Dark modes
- Responsive Layout: Collapsible detail panels and optimized layouts for different screen sizes
- Better Accessibility: Enhanced color schemes and contrast ratios across themes
Version Management
- Automatic Update Notifications: Module now checks PSGallery on import and notifies users of available updates
- New
Test-ModuleVersionfunction for version checking - Helps users stay current with latest features and fixes
Cross-Service Integration
- Enhanced data correlation between Entitlement Management and other identity services
- Better cross-service context handling and error recovery
- Improved Graph API batch processing for large datasets
🔧 Technical Improvements
Performance & Scalability
- Optimized Memory Usage: Enhanced handling of large tenant environments with hundreds of access packages
- Efficient Graph Operations: Improved batching and pagination for Graph API calls
- Better Error Handling: More resilient error handling for Graph API operations with detailed logging
Architecture
- Modular Design: Clean separation between report types enables easier maintenance and testing
- Reusable Components: Shared graph visualization components for future report types
- Enhanced Export System: Unified export functionality supporting multiple formats (PNG, JPEG, Markdown, JSON)
Code Quality
- Improved function organization and naming consistency
- Enhanced logging and progress reporting for debugging
- Better TypeScript/JavaScript integration for Cytoscape.js components
🙏 Acknowledgments
Special thanks to Christian Frohn (@ChrFrohn) for the collaborative development of the Access Package Documentor feature. This partnership brought valuable expertise and insights that significantly enhanced this release.
📦 Installation
From PowerShell Gallery
Install-Module -Name M365IdentityPosture -Scope CurrentUser
Import-Module M365IdentityPostureUpdate from Previous Version
Update-Module -Name M365IdentityPosture📋 Requirements
Access Package Documentor
Microsoft Graph API Permissions:
EntitlementManagement.Read.AllDirectory.Read.All(for resolving directory objects)
Module Dependencies (auto-loaded):
Microsoft.Graph.AuthenticationMicrosoft.Graph.Identity.Governance
🔗 Related Documentation
- Complete README
- CHANGELOG
- Authentication Context Inventory Documentation
- Access Package Documentor Documentation
🐛 Bug Reports & Feature Requests
Found an issue or have a suggestion? Please open an issue on GitHub.
🚀 What's Next?
Check out our Roadmap for upcoming features including:
- Enhanced Access Package analytics
- Role Assignment auditing capabilities
- Conditional Access gap analysis
- Identity Protection insights dashboard
Full Changelog: v1.0.0...v1.1.0