MT.1058: Exchange application access policies must be configured.
| ID | MT.1058 |
| Severity | Medium |
| Suite | Mito |
| Product | Entra ID |
| Related products | Exchange Online |
| Feature | App consent and permissions |
| Security area | Applications and workload identities |
| Resource type | ServicePrincipal |
| User impact of fixing | Low |
| Effort to fix | Medium |
| Framework controls | nist-800-53-r5:AC-6 Least Privilegenist-800-53-r5:AC-3 Access Enforcement |
| MITRE ATT&CK | T1114.002 |
| Reads from | Microsoft Graph, Exchange Online |
What this checks and how to fix it
Section titled “What this checks and how to fix it”Application access policies in Exchange Online help you control which applications can access which mailboxes.
Without these policies, applications with Exchange permissions can access all mailboxes in your organization.
Microsoft Exchange related permissions that should be secured by application access policies include:
- Mail.Read
- Mail.ReadBasic
- Mail.ReadBasic.All
- Mail.ReadWrite
- Mail.Send
- MailboxSettings.Read
- MailboxSettings.ReadWrite
- Calendars.Read
- Calendars.ReadWrite
- Contacts.Read
- Contacts.ReadWrite
Exchange application access policies should be configured for all applications with Exchange permissions.
Remediation action
Section titled “Remediation action”Follow the steps below to create an application access policy in Exchange Online that restricts the application’s access to mailboxes in a specific distribution group.
Connect to Exchange Online
Section titled “Connect to Exchange Online”Connect-ExchangeOnlineDefine variables for your application
Section titled “Define variables for your application”# Get these values from your Application Registration$AppID = "<your-app-id>" # e.g. "0a3ad682-b031-416d-86c2-bf263f8b46a3"$GroupName = "AAP_$AppID" # example naming convention for clarity$Description = "Restrict this app to members of distribution group"Create a mail-enabled security group for policy scope
Section titled “Create a mail-enabled security group for policy scope”# Create group and hide from address list$DGroup = New-DistributionGroup -Name $GroupName -Type SecurityStart-Sleep -Seconds 5 # Wait for group creation to propagateSet-DistributionGroup -Identity $DGroup.WindowsEmailAddress -HiddenFromAddressListsEnabled $trueCreate the application access policy
Section titled “Create the application access policy”New-ApplicationAccessPolicy -AppId $AppID ` -PolicyScopeGroupId $DGroup.WindowsEmailAddress ` -AccessRight RestrictAccess ` -Description $DescriptionAdd members to the security group
Section titled “Add members to the security group”Add-DistributionGroupMember -Identity $GroupName -Member user@contoso.comVerify the policy
Section titled “Verify the policy”# List all policiesGet-ApplicationAccessPolicy
# Test for specific userTest-ApplicationAccessPolicy -Identity user@contoso.com -AppId $AppIDMito check. Author: l-gosling; contributors: merill, SamErde, thomas-s-schmidt. Open-source licences.
Open-source licences. CIS Benchmark material © Center for Internet Security, Inc.; CISA SCuBA baselines are public domain (CC0).
© 2026 Virtual Petals. Mito is a Virtual Petals service, hosted in Microsoft Azure UAE North.
