限制Azure应用程序对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

有没有一种方法可以使用Graph API的应用程序Files.ReadWrite.All权限,同时限制对OneDrive中单个文件夹的应用程序访问?

感谢您的帮助。

解决方法

不幸的是,-您将无法达到仅使用应用程序权限将应用程序权限限制为文件级别的要求。

其他建议

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

  • 您可以执行使用委托应用程序权限并访问其文件
    此帐户具有访问权限。

  • 如果您正在寻找获取令牌的非交互方式 您可以通过ROPC身份验证方法 服务帐户的凭据会传递-无需交互即可获取令牌。

参考:

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