A cloud-based identity and access management service for securing user authentication and resource access
Hello MagiCapSss
Thank you for reaching out to Microsoft Q&A.
Thanks for the details—unfortunately, there’s no full GUI path today in the Azure Portal or Microsoft 365 Admin Center to:
• Create an Exchange Application Access Policy (that still requires Exchange Online PowerShell or Graph calls)
• Turn on and scope Teams Resource-Specific Consent (you still need PowerShell or Graph to register the app for RSC and assign it to a team)
If you want to avoid any admin-level PowerShell you can switch to delegated/user-consent flows and use built-in portal blades to scope who can sign in. Here’s how:
- Use delegated mailbox access instead of app-only • In Azure AD Portal ➔ App registrations ➔ Your app ➔ API permissions, add a delegated Mail.* scope (e.g. Mail.Read.Shared) • Grant admin consent once (or enable user consent if your tenant allows it) • In Azure AD ➔ Enterprise applications ➔ Your service principal ➔ Users and groups, assign only that one mailbox user Result: Only that user account can sign in and grant the app access to their mailbox—no Exchange PS needed.
- Use delegated SharePoint access with the new Sites.Selected permission • In Azure AD ➔ App registrations ➔ API permissions, add Sites.Selected (application) and grant admin consent • In the SharePoint admin center ➔ Active sites ➔ Select your site ➔ Permissions ➔ API access, grant the app one of the site-level roles (Read, Write, or Full Control) Note: The “API access” UI for Sites.Selected is rolling out and may be in Preview. Otherwise you’d fall back to Graph/PowerShell.
- Leverage Teams Resource-Specific Consent in the Teams Admin Center • Build your Teams app package with RSC scopes in the manifest • In Teams Admin Center ➔ Teams apps ➔ Manage apps, upload it to your org’s app catalog • In Teams Admin Center ➔ Teams apps ➔ Permission policies, ensure user/team owners are allowed to install custom apps • A Team owner then installs your app in that single team (including private channels) and implicitly consents for that team only This avoids Global-Admin PowerShell, since the Team owner is the resource admin in RSC.
If you truly need a headless, app-only solution scoped to exactly one mailbox or one team, currently you must use Exchange Online PowerShell (for Application Access Policies) and Teams/Graph PowerShell (for RSC). Otherwise the delegated-consent pattern above is the easiest no-PowerShell path.
References
• Restrict mailbox access (Application Access Policy) – https://learn.microsoft.com/graph/auth-limit-mailbox-access
• Teams Resource-Specific Consent – https://learn.microsoft.com/teams/platform/graph-api/rsc/resource-specific-consent
• Microsoft Graph permissions overview – https://learn.microsoft.com/graph/auth/auth-concepts#microsoft-graph-permissions
• Sites.Selected site-scoped permission – https://learn.microsoft.com/graph/permissions-reference#sitesselected
• Enterprise app user/group assignment – https://learn.microsoft.com/azure/active-directory/manage-apps/assign-users-and-groups-applications
If the answer is helpful, kindly upvote it. If you have extra questions about this answer, please click "Comment".