规划身份验证和权限

适用于: 开发 人员

使用本文规划 SharePoint Embedded 应用程序的身份验证和授权。

SharePoint Embedded 应用程序使用 Microsoft Graph 访问容器和内容。

有关完整的身份验证参考,请参阅 SharePoint Embedded 身份验证和授权

核心原则

SharePoint Embedded 身份验证和授权遵循以下原则:

  • 应用程序通过 Microsoft Graph 与 SharePoint Embedded 交互。
  • 应用程序需要容器类型应用程序权限才能访问该容器类型的容器。
  • 当代表用户使用访问权限时,应用程序只能访问用户所属的容器。
  • 当在没有用户的情况下使用访问权限时,应用程序可以访问由其容器类型应用程序权限启用的所有容器。
  • 应用程序应尽可能代表用户使用访问权限来增强安全性和问责制。

先决条件

计划:

  • Microsoft Entra ID应用程序注册。
  • Microsoft Entra ID租户中的Microsoft 365 订阅。
  • Microsoft SharePoint Embedded 操作的 Graph 权限。
  • 通过容器类型注册授予的容器类型应用程序权限。
  • 管理员使用租户中的同意。

权限层

SharePoint Embedded 访问具有多个层。

用途
Microsoft Graph 权限 允许应用程序调用 SharePoint Embedded 终结点。
容器类型应用程序权限 允许应用访问特定容器类型的容器。
容器权限 确定用户可以在特定容器中执行哪些操作来进行委派访问。

重要

Microsoft Graph 权限本身不会授予对容器的访问权限。 还必须向应用程序授予对容器类型的权限。

委派访问

委托访问意味着应用程序代表用户执行操作。

代表用户的 SharePoint Embedded 操作需要Microsoft Graph FileStorageContainer.Selected 委托权限。

此委派权限不需要对使用租户进行管理员同意。

用户还必须具有容器权限。

应用程序的有效权限是以下各项的交集:

  • 为容器类型授予的应用程序权限。
  • 用户对容器的权限。

尽可能使用委托访问。

委派访问权限提高了可审核性,因为操作可以与用户关联。

仅限应用的访问权限

仅限应用的访问权限意味着应用程序在没有用户的情况下执行操作。

没有用户的 SharePoint Embedded 操作需要 Microsoft Graph FileStorageContainer.Selected 应用程序权限。

此权限需要对使用租户的管理员同意。

使用仅限应用的访问权限,应用可以访问其容器类型应用程序权限启用的所有容器。

对无法代表用户执行的后台操作使用仅限应用的访问权限。

授予容器类型应用程序权限时应用最小特权。

使用租户上的管理员必须同意应用程序的权限请求。

应用程序FileStorageContainer.Selected权限需要管理员同意。 委托 FileStorageContainer.Selected 不需要管理员同意。

容器类型注册还要求拥有应用程序同意才能在使用租户中操作。

有关容器类型注册,请参阅 注册文件存储容器类型应用程序权限

Microsoft Graph) (容器类型权限

容器类型创建、管理和注册现在Microsoft Graph 操作。 规划以下权限:

权限 用途 Tenant
FileStorageContainerType.Manage.All 在拥有租户上创建和管理容器类型。 仅拥有
FileStorageContainerTypeReg.Selected 在使用租户上注册容器类型。 消费
FileStorageContainer.Selected 访问使用租户上的容器类型的容器。 消费

FileStorageContainerType.Manage.All委托 的权限, 不需要管理员同意。 拥有租户中的任何非来宾用户都可以同意它,使用它创建容器类型,然后自动分配为 该容器类型的所有者。 (2026 年 6 月之前,这需要 SharePoint 嵌入式管理员或全局管理员角色。)

重要

FileStorageContainerType.Manage.All 仅在 拥有 租户上需要创建容器类型。 在分发到使用租户之前将其从应用程序清单中删除,这样客户就不会要求过多的权限。 使用租户时,仅 FileStorageContainerTypeReg.Selected 请求 和 FileStorageContainer.Selected

容器类型应用程序权限

容器类型应用程序权限由所有者应用程序通过容器类型注册授予。

这些权限定义应用程序可以对容器类型的容器执行的操作。

容器类型应用程序权限包括:

  • None
  • ReadContent
  • WriteContent
  • Create
  • Delete
  • Read
  • Write
  • EnumeratePermissions
  • AddPermissions
  • UpdatePermissions
  • DeletePermissions
  • DeleteOwnPermission
  • ManagePermissions
  • ManageContent
  • Full

仅授予应用程序所需的权限。

例如,如果后台来宾应用只需要备份或分析的读取访问权限,则不要授予 Full 该应用。

容器权限

容器权限适用于用户。

它们仅适用于代表用户进行访问。

访问容器的任何用户都必须是容器的成员。

容器成员身份授予该容器的用户权限。

SharePoint Embedded 支持以下容器角色:

Role 摘要
读者 读取容器的属性和内容。
作家 读取者权限以及创建、更新和删除内容以及更新适用的容器属性。
Manager 编写器权限以及管理容器的成员身份。
所有者 管理员权限和删除容器。

当用户通过委托的调用创建新容器时,会自动为该用户分配“所有者”角色。

容器类型所有者

容器类型所有者不同于容器所有者。 它们控制 拥有 租户中的容器类型本身。

  • 自动分配:创建容器类型的用户会自动分配为所有者。
  • 添加或删除所有者:使用容器类型permissions关系 (DELETE /storage/fileStorage/containerTypes/{id}/permissionsPOST/ 、beta) 管理每个容器类型最多三个所有者。
  • 功能:在 FileStorageContainerType.Manage.All 委托模式下,所有者可以创建、读取、更新和删除他们拥有的容器类型,管理其所有者,并创建该类型的容器, (委托调用) 。
  • 限制:外部标识 (来宾用户) 不能是容器类型所有者。 所有者信息 存在于拥有租户中,不会在注册时传播到使用租户。
  • 有效访问权限:所有者功能是用户权限;有效访问权限是应用的 Graph 权限和所有者角色的交集。

容器类型注册含义

要让拥有的应用程序对使用租户进行操作:

  • 拥有的应用必须在使用租户上安装服务主体。
  • 必须向拥有应用授予管理员同意才能执行容器类型注册。
  • 只有容器类型的拥有应用程序才能调用使用租户中的注册 API。

注册 API 指定拥有的应用和任何来宾应用的权限。

上次成功的注册 API 调用确定使用租户中使用的设置。

异常访问模式

规划不遵循正常 Microsoft Graph 授权模式的操作。

特殊访问模式包括:

  • 通过 Microsoft Graph 对拥有租户进行容器类型管理。
  • 通过 Microsoft Graph () FileStorageContainerTypeReg.Selected 对使用租户进行容器类型注册。
  • 需要 FileStorageContainer.Manage.All 和 SharePoint Embedded 管理员或全局管理员登录用户的管理容器操作。
  • Microsoft预览期间需要其他权限的搜索方案。
  • 当前需要用户许可证的操作。

在设计特权或搜索密集型功能之前,请查看这些内容。

安全注意事项

  • 对于用户驱动操作,首选委派访问权限。
  • 仅当服务操作需要时才使用仅限应用的访问权限。
  • 在容器类型级别授予最低权限。
  • 在容器成员身份级别授予最低权限。
  • 在正确的租户中需要管理员同意。
  • 将注册视为客户加入的一部分。
  • 除非方案需要广泛访问来宾应用,否则请避免访问。
  • 与租户管理员一起查看审核和合规性影响。

计划清单

  • 注册Microsoft Entra ID应用程序。
  • 确定哪些操作使用委托访问。
  • 确定哪些操作使用仅限应用的访问权限。
  • 请求Microsoft Graph FileStorageContainer.Selected 权限。
  • 请求Microsoft Graph FileStorageContainerType.Manage.All (拥有租户) 和 FileStorageContainerTypeReg.Selected (使用租户) 容器类型创建和注册。
  • 在每个使用租户中规划管理员同意。
  • 定义容器类型应用程序权限。
  • 定义用户容器角色。
  • 标识任何来宾应用及其权限。
  • 查看异常访问模式。

后续步骤

查看规模和性能约束: 了解限制和调用模式