Azure active directory 通过API访问个人帐户的OneDrive文档或仅访问业务帐户中的一个用户

Azure active directory 通过API访问个人帐户的OneDrive文档或仅访问业务帐户中的一个用户,azure-active-directory,Azure Active Directory,我可以使用从此链接创建的免费试用版访问Office 365 business帐户中所有用户的OneDrive项目 但是,为了使其工作,我需要授予我的应用程序以下权限,这最终允许此应用程序访问此租户中所有用户的OneDrive项目,因为这些权限 File.Read.All->Delegate File.Read.All->Application User.Read->Delegate User.Read.All->Delegate Site.Read.All->Delegate 现在,我的要求是

我可以使用从此链接创建的免费试用版访问Office 365 business帐户中所有用户的OneDrive项目

但是,为了使其工作,我需要授予我的应用程序以下权限,这最终允许此应用程序访问此租户中所有用户的OneDrive项目,因为这些权限

File.Read.All->Delegate

File.Read.All->Application

User.Read->Delegate

User.Read.All->Delegate

Site.Read.All->Delegate

现在,我的要求是仅访问此租户中一个用户的OneDrive文档,并阻止应用程序访问其他用户的文档,或访问任何个人帐户(@hotmail.com/@live.com)的文档

请让我知道,如果有任何方式或情况下,我做了什么错误的申请我注册

在这里问了同样的问题,但bot被告知在stackoverflow中向azure团队提问


感谢您的帮助。

首先,您需要了解应用程序权限和委托权限之间的区别

应用程序权限仅指应用程序,应用程序作为用户,但没有用户登录

委派权限意味着App+用户,用户需要登录应用程序并访问资源

因此,根据您提供的权限,我无法判断您的应用程序是否需要用户登录。如果是,则委派权限将生效。基于,
Files.Read.All
允许应用程序读取登录用户可以访问的所有文件。如果登录用户可以访问其他人的文档,则您的应用程序也可以访问他们。因此,如果您在OneDrive或SharePoint中控制该用户的访问权限,则具有该登录用户的应用程序将具有相同的权限


如果您的应用程序不需要登录用户,则在此情况下应用程序权限将生效。基于,
Files.Read.All
允许应用程序在没有登录用户的情况下读取所有网站集中的所有文件。所以这个场景不能满足您的需要。

Thansk Allen回答说,是的,我不要求用户登录,所以我想不可能阻止应用程序从租户处读取一些用户的文件,对吧?@kartikghodasara对延迟表示歉意。但你是对的。没有用户,您无法控制应用程序的权限。