在商业环境中使用经典 Outlook for Windows
Please note that this is the zh-cn forum. We kindly recommend posting your question in Chinese (Simplified) so that more community members can assist you. Alternatively, you may consider posting in the English forum if you prefer to use your native language. We sincerely appreciate your understanding.
Hi @zhang xiao
Yes, using Exchange Online RBAC for Applications is actually the recommended approach for this scenario.
The Calendars.ReadWrite application permission by itself grants access to all mailboxes in the tenant. However, Exchange Online now supports RBAC for Applications, which allows you to assign the permission together with a resource scope (for example, a Management Scope or Administrative Unit) so that the application can only access a defined subset of mailboxes. This capability was introduced as the successor to Exchange Online Application Access Policies.
As a result, your external application can be granted Calendars.ReadWrite, while still being restricted to only the mailboxes included in the configured scope. Mailboxes outside that scope will not be accessible through the app's application permissions.
A few considerations:
- RBAC for Applications only governs Exchange Online resources and supported application roles.
- The Microsoft Entra ID application permission (
Calendars.ReadWrite) still needs to be granted, and the Exchange RBAC assignment then further limits which mailboxes can actually be accessed. - If you're starting a new implementation, Microsoft recommends RBAC for Applications rather than the older Application Access Policies model.
Ref: Role Based Access Control for Applications in Exchange Online
Therefore, there is no inherent issue with this approach.