Skip to content

Commit 448750a

Browse files
authored
Merge pull request #25498 from microsoftgraph/rbac-AUs
Entra admin roles - AUs
2 parents a9f2973 + 40a0aa4 commit 448750a

25 files changed

+67
-40
lines changed

api-reference/beta/api/administrativeunit-delta.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ Choose the permission or permissions marked as least privileged for this API. Us
2525
<!-- { "blockType": "permissions", "name": "administrativeunit_delta" } -->
2626
[!INCLUDE [permissions-table](../includes/permissions/administrativeunit-delta-permissions.md)]
2727

28+
[!INCLUDE [rbac-admin-units-apis-read](../includes/rbac-for-apis/rbac-admin-units-apis-read.md)]
29+
2830
## HTTP request
2931

3032
To begin tracking changes, you make a request that includes the delta function on the **administrativeUnit** resource.
@@ -44,7 +46,7 @@ You only need to specify any query parameters once up front.
4446
In subsequent requests, copy and apply the `@odata.nextLink` or `@odata.deltaLink` URL from the previous response. That URL already
4547
includes the encoded parameters.
4648

47-
| Query parameter | Type |Description|
49+
| Query parameter | Type |Description|
4850
|:---------------|:--------|:----------|
4951
| $deltatoken | string | A [state token](/graph/delta-query-overview) returned in the `@odata.deltaLink` URL of the previous **delta** function call for the same resource collection, indicating the completion of that round of change tracking. Save and apply the entire `@odata.deltaLink` URL including this token in the first request of the next round of change tracking for that collection.|
5052
| $skiptoken | string | A [state token](/graph/delta-query-overview) returned in the `@odata.nextLink` URL of the previous **delta** function call, indicating there are further changes to be tracked in the same resource collection. |

api-reference/beta/api/administrativeunit-get-members.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ Choose the permission or permissions marked as least privileged for this API. Us
2424
<!-- { "blockType": "permissions", "name": "administrativeunit_get_members" } -->
2525
[!INCLUDE [permissions-table](../includes/permissions/administrativeunit-get-members-permissions.md)]
2626

27+
[!INCLUDE [rbac-admin-units-apis-read](../includes/rbac-for-apis/rbac-admin-units-apis-read.md)]
28+
2729
## HTTP request
2830

2931
```http

api-reference/beta/api/administrativeunit-get-scopedrolemembers.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ Choose the permission or permissions marked as least privileged for this API. Us
2424
<!-- { "blockType": "permissions", "name": "administrativeunit_get_scopedrolemembers" } -->
2525
[!INCLUDE [permissions-table](../includes/permissions/administrativeunit-get-scopedrolemembers-permissions.md)]
2626

27+
[!INCLUDE [rbac-admin-units-apis-read](../includes/rbac-for-apis/rbac-admin-units-apis-read.md)]
28+
2729
## HTTP request
2830
<!-- { "blockType": "ignored" } -->
2931
```http

api-reference/beta/api/administrativeunit-list-scopedrolemembers.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ Choose the permission or permissions marked as least privileged for this API. Us
2424
<!-- { "blockType": "permissions", "name": "administrativeunit_list_scopedrolemembers" } -->
2525
[!INCLUDE [permissions-table](../includes/permissions/administrativeunit-list-scopedrolemembers-permissions.md)]
2626

27+
[!INCLUDE [rbac-admin-units-apis-read](../includes/rbac-for-apis/rbac-admin-units-apis-read.md)]
28+
2729
## HTTP request
2830
<!-- { "blockType": "ignored" } -->
2931
```http

api-reference/beta/api/administrativeunit-post-members.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ One of the following permissions is required to call this API. To learn more, in
3030
|Delegated (personal Microsoft account) | Not supported. |
3131
|Application | AdministrativeUnit.ReadWrite.All |
3232

33-
To add a user, group, or device to an administrative unit, the calling user must be assigned the *Privileged Role Administrator* [Microsoft Entra role](/entra/identity/role-based-access-control/permissions-reference?toc=%2Fgraph%2Ftoc.json).
33+
[!INCLUDE [rbac-admin-units-apis-write](../includes/rbac-for-apis/rbac-admin-units-apis-write.md)]
3434

3535
### Permissions to create a new group
3636
<!-- { "blockType": "ignored" } // Note: Removing this line will result in the permissions autogeneration tool overwriting the table. -->
@@ -40,12 +40,12 @@ To add a user, group, or device to an administrative unit, the calling user must
4040
|Delegated (personal Microsoft account) | Not supported. |
4141
|Application | Group.Create and AdministrativeUnit.Read.All, Group.ReadWrite.All and AdministrativeUnit.Read.All, Directory.ReadWrite.All |
4242

43-
To create a new group in an administrative unit, the calling principal must be assigned at least one of the following [Microsoft Entra roles](/entra/identity/role-based-access-control/permissions-reference?toc=%2Fgraph%2Ftoc.json) at the scope of the administrative unit:
44-
45-
* Groups Administrator
46-
* User Administrator
47-
48-
When these roles are assigned to a service principal, additional permissions are required to read the directory, such as assignment to the Directory Readers role, or having Microsoft Graph application permissions, such as Directory.Read.All.
43+
> [!IMPORTANT]
44+
> To create a new group in an administrative unit, the calling principal must be assigned at least one of the following [Microsoft Entra roles](/entra/identity/role-based-access-control/permissions-reference?toc=%2Fgraph%2Ftoc.json) at the scope of the administrative unit:
45+
> - Groups Administrator
46+
> - User Administrator
47+
>
48+
> For app-only scenarios - apart from these roles, the service principal requires additional permissions to read the directory. These permissions can be granted via assignment of supported Microsoft Entra roles, such the Directory Readers role; or they can be granted via Microsoft Graph application permissions that allow reading the directory, such as *Directory.Read.All*.
4949
5050
## HTTP request
5151

api-reference/beta/api/administrativeunit-update.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Choose the permission or permissions marked as least privileged for this API. Us
2424
<!-- { "blockType": "permissions", "name": "administrativeunit_update" } -->
2525
[!INCLUDE [permissions-table](../includes/permissions/administrativeunit-update-permissions.md)]
2626

27-
In delegated scenarios, the signed-in user must also be assigned a supported [Microsoft Entra role](/entra/identity/role-based-access-control/permissions-reference?toc=%2Fgraph%2Ftoc.json) or a custom role with the `microsoft.directory/administrativeUnits/allProperties/allTasks` role permission. *Privileged Role Administrator* is the least privileged role for this operation.
27+
[!INCLUDE [rbac-admin-units-apis-write](../includes/rbac-for-apis/rbac-admin-units-apis-write.md)]
2828

2929
## HTTP request
3030
<!-- { "blockType": "ignored" } -->

api-reference/beta/api/directory-post-administrativeunits.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Choose the permission or permissions marked as least privileged for this API. Us
2424
<!-- { "blockType": "permissions", "name": "directory_post_administrativeunits" } -->
2525
[!INCLUDE [permissions-table](../includes/permissions/directory-post-administrativeunits-permissions.md)]
2626

27-
In delegated scenarios, the signed-in user must also be assigned a supported [Microsoft Entra role](/entra/identity/role-based-access-control/permissions-reference?toc=%2Fgraph%2Ftoc.json) or a custom role with the `microsoft.directory/administrativeUnits/allProperties/allTasks` role permission. *Privileged Role Administrator* is the least privileged role for this operation.
27+
[!INCLUDE [rbac-admin-units-apis-write](../includes/rbac-for-apis/rbac-admin-units-apis-write.md)]
2828

2929
## HTTP request
3030
<!-- { "blockType": "ignored" } -->

api-reference/beta/includes/rbac-for-apis/rbac-admin-units-apis-read.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ author: DougKirschner
33
ms.topic: include
44
---
55

6-
In delegated scenarios with work or school accounts, the signed-in user must be a member user or be assigned a supported [Microsoft Entra role](/entra/identity/role-based-access-control/permissions-reference?toc=%2Fgraph%2Ftoc.json) or a custom role with a supported role permission. The following least privileged roles are supported for this operation.
7-
8-
| Microsoft Entra role | Limitations | Key role permission |
9-
|--|--|--|
10-
| Directory Readers | Read basic properties on administrative units | microsoft.directory/administrativeUnits/standard/read |
11-
| Directory Readers | Read members of administrative units | microsoft.directory/administrativeUnits/members/read |
12-
| Global Reader | Read all properties of administrative units, including members | microsoft.directory/administrativeUnits/allProperties/read |
13-
| Privileged Role Administrator | Create and manage administrative units (including members) | microsoft.directory/administrativeUnits/allProperties/allTasks |
6+
> [!IMPORTANT]
7+
>
8+
> In delegated scenarios with work or school accounts, the signed-in user must be a member user or be assigned a supported [Microsoft Entra role](/entra/identity/role-based-access-control/permissions-reference?toc=%2Fgraph%2Ftoc.json) or a custom role with a supported role permission. The following least privileged roles are supported for this operation.
9+
> - Directory Readers - Read *basic* properties and members of administrative units
10+
> - Global Reader - Read *all* properties of administrative units, including members
11+
> - Privileged Role Administrator - Fully manage administrative units, including members, but excluding restricted administrative units. For more information, see [Restricted management administrative units in Microsoft Entra ID](/entra/identity/role-based-access-control/admin-units-restricted-management)

api-reference/beta/includes/rbac-for-apis/rbac-admin-units-apis-write.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,6 @@ author: DougKirschner
33
ms.topic: include
44
---
55

6-
In delegated scenarios with work or school accounts, the signed-in user must be a member user or be assigned a supported [Microsoft Entra role](/entra/identity/role-based-access-control/permissions-reference?toc=%2Fgraph%2Ftoc.json) or a custom role with the `microsoft.directory/administrativeUnits/allProperties/allTasks` role permission. *Privileged Role Administrator* is the least privileged role supported for this operation.
6+
> [!IMPORTANT]
7+
>
8+
> In delegated scenarios with work or school accounts, the signed-in user must be a member user or be assigned a supported [Microsoft Entra role](/entra/identity/role-based-access-control/permissions-reference?toc=%2Fgraph%2Ftoc.json) or a custom role with a supported role permission. *Privileged Role Administrator* is the least privileged role supported for this operation.

api-reference/beta/resources/administrativeunit.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ The following JSON representation shows the resource type.
9595
"description": "String",
9696
"displayName": "String",
9797
"id": "String (identifier)",
98+
"isMemberManagementRestricted": "Boolean",
9899
"visibility": "String",
99100
"membershipType": "String",
100101
"membershipRule": "String",

0 commit comments

Comments
 (0)