Skip to content

Commit 56452ff

Browse files
committed
Update SPE auth page to incorporate new CT Mgmt APIs
1 parent 6f55ee2 commit 56452ff

File tree

1 file changed

+43
-30
lines changed

1 file changed

+43
-30
lines changed

docs/embedded/development/auth.md

Lines changed: 43 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: SharePoint Embedded Authentication and Authorization
33
description: This article describes the authentication and authorization model for SharePoint Embedded applications.
4-
ms.date: 06/24/2025
4+
ms.date: 07/16/2025
55
ms.localizationpriority: high
66
---
77

@@ -51,33 +51,46 @@ SharePoint Embedded operations [without a user](/graph/auth-v2-service) require
5151

5252
Currently, there are two types of operations with exceptional access patterns:
5353

54+
- [Hidden permissions in Microsoft Graph](#hidden-microsoft-graph-permissions)
5455
- [Operations not exposed via Microsoft Graph](#operations-not-exposed-via-microsoft-graph)
5556
- [Operations involving searching SharePoint Embedded content](#operations-involving-searching-sharepoint-embedded-content)
5657
- [Operations that require a user license](#operations-that-require-a-user-license)
5758

5859
> [!IMPORTANT]
5960
> Consider the repercussions of these exceptional access patterns on how your application and other applications can access SharePoint Embedded content in your container type.
6061
62+
### Hidden Microsoft Graph permissions
63+
64+
The following operations require permissions that are currently hidden in Microsoft Graph:
65+
66+
- [Container type management](../getting-started/containertypes.md) on owning tenants.
67+
- [Container type registration](../getting-started/register-api-documentation.md) on consuming tenants.
68+
69+
The Microsoft Graph permissions are rolling out to all tenants in the near future and will be visible once the rollout completes.
70+
71+
#### Granting admin consent for hidden permissions
72+
73+
[Granting admin consent](/entra/identity-platform/v2-admin-consent) for applications requesting hidden permission MUST be done by using the [admin consent URL](/entra/identity-platform/v2-admin-consent#request-the-permissions-from-a-directory-admin). Provide the consent URL to the Microsoft Entra directory administrator and ensure they [confirm a successful response](/entra/identity-platform/v2-admin-consent#successful-response). The consent URL may look like this:
74+
75+
```http
76+
https://login.microsoftonline.com/{tenant}/v2.0/adminconsent?client_id={client_id}&scope=https://graph.microsoft.com/.default
77+
```
78+
79+
> [!IMPORTANT]
80+
> Do not use the App registrations pane in the Azure portal to grant admin consent for applications that request hidden permissions. The App registrations pane will fail to validate the requested hidden permissions and will remove them from the manifest.
81+
6182
#### Operations not exposed via Microsoft Graph
6283

63-
There are two types of operations that aren't accessible via Microsoft Graph today:
84+
There is one scenario that isn't accessible via Microsoft Graph today:
6485

65-
- [Container type management](../getting-started/containertypes.md) on owning tenants, which are performed via PowerShell cmdlets.
66-
- [Container type registration](../getting-started/register-api-documentation.md) on consuming tenants, exposed via SharePoint REST API v2.
6786
- [SharePoint Embedded agent](./declarative-agent/spe-da.md) exposed via SharePoint REST API v2 permissions.
6887

69-
To perform [container type management](../getting-started/containertypes.md) operations, you must be a [SharePoint Embedded Administrator](/entra/identity/role-based-access-control/permissions-reference#sharepoint-embedded-administrator) or [Global Administrator](/entra/identity/role-based-access-control/permissions-reference#global-administrator).
70-
71-
To [register a container type](../getting-started/register-api-documentation.md), you must request the `Container.Selected` permission on the `Office 365 SharePoint Online` resource.
88+
To use the [SharePoint Embedded agent](./declarative-agent/spe-da.md) experience (in Preview stage) in your application, you need the `Container.Selected` permission on the `Office 365 SharePoint Online` resource:
7289

7390
| Scope name | Scope ID | Type | Operation |
7491
| :-------------------: | :----------------------------------: | :---------: | :-----------------------------------------------------------------------------------------------: |
7592
| Container.Selected | 19766c1b-905b-43af-8756-06526ab42875 | Application | In the context of SharePoint Embedded, enables container type registration on a consuming tenant. |
7693

77-
> [!NOTE]
78-
> Container type management on owning tenants and registration on consuming tenants will become Microsoft Graph operations soon, and this permission will no longer be needed. Stay tuned.
79-
80-
To use the [SharePoint Embedded agent](./declarative-agent/spe-da.md) experience (in the Preview stage) in your application, you also need the `Container.Selected` permission on the `Office 365 SharePoint Online` resource.
8194

8295
#### Operations involving searching SharePoint Embedded content
8396

@@ -143,22 +156,22 @@ Any user accessing a container must be a member of the container. Membership to
143156

144157
Here are some actions you can take next:
145158

146-
1. Configure your SharePoint Embedded [application manifest](/entra/identity-platform/reference-app-manifest#requiredresourceaccess-attribute) (you can use [Microsoft Entra PowerShell](/powershell/entra-powershell/manage-apps#assign-permissions-to-an-app) or the [Azure CLI](/cli/azure/ad/app/permission#az-ad-app-permission-add)) to request the required permissions:
147-
148-
- Microsoft Graph (resourceAppId: `00000003-0000-0000-c000-000000000000`)
149-
- `FileStorageContainer.Selected` (type: `Scope`, ID: `085ca537-6565-41c2-aca7-db852babc212`) to access containers on consuming tenants
150-
- Office 365 SharePoint Online (resourceAppId: `00000003-0000-0ff1-ce00-000000000000`)
151-
- `Container.Selected` (type: `Role`, ID: `19766c1b-905b-43af-8756-06526ab42875`) to register a container on consuming tenants
152-
153-
1. [Grant admin consent](/entra/identity-platform/v2-admin-consent) to your application on both owning and consuming tenants (which can be the same tenant).
154-
155-
> [!NOTE]
156-
> The `Container.Selected` application permission is hidden, which can cause issues with granting admin consent using the Enterprise apps pane in the Azure portal. Instead, [construct the admin consent URL](/entra/identity-platform/v2-admin-consent#request-the-permissions-from-a-directory-admin) and provide it to your Microsoft Entra directory administrator. For example:
157-
>
158-
> `https://login.microsoftonline.com/{tenant}/v2.0/adminconsent?client_id={client_id}`
159-
>
160-
> Make sure the Microsoft Entra directory administrator [confirms a successful response](/entra/identity-platform/v2-admin-consent#successful-response).
161-
162-
1. [Create a new container type](../getting-started/containertypes.md) on the owning tenant.
163-
1. [Register a container type](../getting-started/register-api-documentation.md) on the consuming tenant.
164-
1. [Create a container](/graph/api/filestoragecontainer-post)
159+
1. Configure your SharePoint Embedded [application manifest](/entra/identity-platform/reference-app-manifest#requiredresourceaccess-attribute) (you can use [Microsoft Entra PowerShell](/powershell/entra-powershell/manage-apps#assign-permissions-to-an-app) or the [Azure CLI](/cli/azure/ad/app/permission#az-ad-app-permission-add)) to request the required permissions on your _owning_ tenant:
160+
- Microsoft Graph (resourceAppId: `00000003-0000-0000-c000-000000000000`)
161+
- Add: `FileStorageContainerType.Manage.All` (type: `Role`, ID: `8e6ec84c-5fcd-4cc7-ac8a-2296efc0ed9b`) to create container types on the _owning_ tenant
162+
1. [Grant admin consent](#granting-admin-consent-for-hidden-permissions) to your application on your _owning_ tenant
163+
1. [Create a new container type](../getting-started/containertypes.md) on the _owning_ tenant.
164+
1. Reconfigure your SharePoint Embedded [application manifest](/entra/identity-platform/reference-app-manifest#requiredresourceaccess-attribute) to request only the required permissions on consuming tenants:
165+
- Microsoft Graph (resourceAppId: `00000003-0000-0000-c000-000000000000`)
166+
- Remove: `FileStorageContainerType.Manage.All` (type: `Role`, ID: `8e6ec84c-5fcd-4cc7-ac8a-2296efc0ed9b`) as this is only needed to create the container type on the _owning_ tenant
167+
> [!NOTE]
168+
> After creating the container type on the _owning_ tenant, you should remove the `FileStorageContainerType.Manage.All` permission from your application's manifest.
169+
> Your application DOES NOT need this on _consuming_ tenants, only on the _owning_ tenant to create the container type.
170+
- Add: `FileStorageContainerTypeReg.Selected` (type: `Role`, ID: `2dcc6599-bd30-442b-8f11-90f88ad441dc`) to register the container type on _consuming_ tenants
171+
- Add: `FileStorageContainer.Selected` (type: `Scope`, ID: `085ca537-6565-41c2-aca7-db852babc212`) to access containers on _consuming_ tenants on behalf of users
172+
- Optionally add: `FileStorageContainer.Selected` (type: `Role`, ID: `40dc41bc-0f7e-42ff-89bd-d9516947e474`) to access container on _consuming_ tenants without a user
173+
- Office 365 SharePoint Online (resourceAppId: `00000003-0000-0ff1-ce00-000000000000`)
174+
- `Container.Selected` (type: `Role`, ID: `19766c1b-905b-43af-8756-06526ab42875`) to use SharePoint Embedded Agent
175+
1. [Grant admin consent](#granting-admin-consent-for-hidden-permissions) to your application on a _consuming_ tenant (which can be the same as the owning tenant).
176+
1. [Register the container type](../getting-started/register-api-documentation.md) on the _consuming_ tenant.
177+
1. [Create a container](/graph/api/filestoragecontainer-post) on the _consuming_ tenant

0 commit comments

Comments
 (0)