Least API permissions

Glenn Maxwell 14,126 Reputation points
2026-07-06T12:40:28.4966667+00:00

Hi All,

I am looking for the minimum Microsoft Graph API permissions required to update the Owners of an Azure App Registration (service principal/application).

Can anyone advise which API permissions (delegated or application) are required to add or remove owners programmatically?

Microsoft Security | Microsoft Entra | Microsoft Entra ID
0 comments No comments

Answer accepted by question author

kagiyama yutaka 4,505 Reputation points
2026-07-06T12:56:13.9566667+00:00

I think the least Graph perm for adding or removing owners on an App Registration or Service Principal is Directory.ReadWrite.All (application permission) and that perm is listed for both owner write calls.

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments

1 additional answer

Sort by: Most helpful
  1. AI answer

    2026-07-06T12:41:06.2066667+00:00

    To manage owners of an Azure App Registration (application or its service principal) via Microsoft Graph, these are the least-privileged permissions from the documentation.

    Application object owners

    Add owner (application)POST /applications/{id}/owners/$ref

    • Delegated (work or school):
      • Least privileged: Application.ReadWrite.All and Directory.Read.All
      • Note: Application.ReadWrite.OwnedBy alone is not sufficient to add another owner; consent to Application.ReadWrite.All is required.
    • Application (app-only):
      • Least privileged: Application.ReadWrite.OwnedBy and Directory.Read.All

    Reference roles (delegated scenarios): Hybrid Identity Administrator, Cloud Application Administrator, Application Administrator.

    Remove owner (application)DELETE /applications/{id}/owners/{id}/$ref

    • Delegated (work or school):
      • Least privileged: Application.ReadWrite.All
    • Application (app-only):
      • Least privileged: Application.ReadWrite.OwnedBy

    Reference roles (delegated scenarios): Hybrid Identity Administrator, Cloud Application Administrator, Application Administrator.

    Service principal owners

    Add owner (service principal)POST /servicePrincipals/{id}/owners/$ref

    • Delegated (work or school):
      • Least privileged: Application.ReadWrite.All
    • Application (app-only):
      • Least privileged: Application.ReadWrite.OwnedBy (plus Directory.Read.All when following the applications tutorial example)

    Remove owner (service principal)DELETE /servicePrincipals/{id}/owners/{id}/$ref

    • Delegated (work or school):
      • Least privileged: Application.ReadWrite.All
    • Application (app-only):
      • Least privileged: Application.ReadWrite.OwnedBy

    Listing owners (for completeness)

    To list owners of a service principal:

    • Delegated (work or school): least privileged Application.Read.All
    • Application (app-only): least privileged Application.Read.All

    In all delegated scenarios, the signed-in user must also have an appropriate Microsoft Entra role (for example Application Developer, Cloud Application Administrator, Application Administrator, or other listed least-privileged roles) as documented.


    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    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.