限制 Azure 应用程序访问 OneDrive 中的特定文件夹

Restrict Azure Application access to a specific folder in OneDrive

我们需要通过 Django 应用程序将文件上传到 OneDrive for Business 中的单个文件夹并从中读取文件。我们正在使用具有应用程序权限的 Microsoft Graph API。虽然 Azure 提供 Files.ReadWrite.All 权限,但应用程序还可以访问所有文件和文件夹,如图形权限参考中所提供:

Allows the app to read all files in all site collections without a signed in user.

reference

有没有办法在限制应用程序访问 OneDrive 中的单个文件夹的同时使用 Graph API 的应用程序 Files.ReadWrite.All 权限?

感谢您的帮助。

不幸的是,- 您将无法使用仅限应用程序的权限来实现将应用程序权限限制在文件级别的要求。

其他建议

  • 您可以创建一个具有最小权限的服务帐户 - 限制对特定文件夹的访问。

  • 您可以使用委托应用权限并访问其中的文件
    此帐户具有访问权限。

  • 如果您正在寻找 non-interactive 获取令牌的方式 您可以使用 ROPC 身份验证方法 服务帐户的凭证已传递 - 无需交互即可获取令牌。

参考:

https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth-ropc