Rbac for application : getSchedule gets access to subject and locations of other calendar without having Calendars.Read to them ?

Jean-Baptiste Zeller 5 Reputation points
2026-11-02T09:33:55.9466667+00:00

We would like to make an application that can :

  1. Check the busy status of people in an exchange tenant, without seeing the details of their meeting (no subject or location).
  2. Read and write into one (or multiple) shared calendar in order to invite said people to meetings.

This design deliberately try to keep rights to a bare minimum in order for our client to be able to trust us with our application : we don't get to read people's personal information in their calendar. We get only to invite said people, and check whether they are busy.

The problem is, while I personally, with my own mailbox in exchange online, get to see only 'busy' 'tentative' etc inside people's calendar when I look at them. The application which is supposed to only get Calendars.ReadWrite (configured in rbac for application, not inside entra) for specifically one email address (that'll be used as organizer), get to see the subject and location of event for everyone in our own tenant, which is too far for what we want to offer our clients : 'we only access your busy state, like a regular user, we can't know anything else'.

The entra app only got the default User.Read delegated authorization (which shouldn't come into play in this). I don't know why I'm still able to see everyone detail.

What am I doing wrong and what can I do to diagnose this issue ? What I do today : I call https://graph.microsoft.com/v1.0/users/<theOneEmailIHaveCalendars.ReadWriteTo>/calendar/getSchedule

I have no access to each individual calendars, only my own calendar. But I get to see everyone's full calendar info from getSchedule, which is something I don't want. And my tenant is supposed to be configured for availability only view (which I can verify from my own personal user calendar).

Exchange Online
Exchange Online

A cloud-based service included in Microsoft 365, delivering scalable messaging and collaboration features with simplified management and automatic updates.


1 answer

Sort by: Oldest
  1. Hin Vo 1,745 Reputation points Independent Advisor
    2026-11-02T10:45:34.99+00:00

    Hi @Jean-Baptiste Zeller

    From what I understand, RBAC for Applications primarily controls which mailbox scopes an application can access, rather than the level of calendar details returned by getSchedule.

    If the subject and location properties are being returned, it could indicate that the effective free/busy visibility for those calendars is greater than AvailabilityOnly.

    To further investigate, could you please verify the following:

    The output of Get-MailboxFolderPermission -Identity user@domain:\Calendar for one of the affected users.

    Whether the organizer mailbox has any additional delegated permissions, Full Access permissions, administrative roles, or other elevated access that could influence the results.

    Whether the application has any Microsoft Graph application permissions, such as Calendars.Read or Calendars.ReadWrite, that have been consented in Entra ID.

    Please check these items and let me know the results. Any update would be appreciated.

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.