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

Posted

技术标签:

【中文标题】限制 Azure 应用程序访问 OneDrive 中的特定文件夹【英文标题】:Restrict Azure Application access to a specific folder in OneDrive 【发布时间】:2021-02-08 10:30:14 【问题描述】:

我们需要通过 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 权限?

感谢您的帮助。

【问题讨论】:

【参考方案1】:

很遗憾,您将无法实现将应用程序权限限制为仅使用应用程序权限的文件级别的要求。

其他建议

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

您可以使用委托应用程序权限和访问文件 此帐户有权访问。

如果您正在寻找一种非交互式的方式来获取令牌 您可以使用 ROPC 身份验证方法 传递服务帐户的凭据 - 获取令牌不需要交互。

参考:

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

【讨论】:

@Ayush - 以上回答是否有帮助或您有任何疑问? 嗨@Satya。感谢你的及时回复。我按照您的建议使用了 ROPC 方法,效果很好!但是出于某种原因,Microsoft 建议使用 ROPC 流程的替代方案,因为它不那么安全。

以上是关于限制 Azure 应用程序访问 OneDrive 中的特定文件夹的主要内容,如果未能解决你的问题,请参考以下文章

带有服务标签的 Azure 应用服务访问限制不起作用

将Azure SQL Server的访问权限限制为特定的azure Web应用程序

限制 Azure 应用服务自定义域访问特定租户

限制从 Azure 函数子网访问存储帐户

Azure 应用服务>网络>访问限制和处理来自 API 管理的 308 重定向

Azure 逻辑应用可以从存储帐户中读取 excel 文件吗?