Microsoft Graph应用程序权限-限制对特定文件/文件夹的读/写

时间:2020-06-25 13:01:39

标签: c# microsoft-graph-api umbraco

我似乎找不到任何地方可以限制应用程序对特定文件/文件夹的读写。

在所有权限内。 -https://docs.microsoft.com/en-us/graph/permissions-reference

我有一个Umbraco网站,该网站在提交表单时会写入Sharepoint中的文件,但是授予应用程序对所有文件的访问权限并不完全安全。如果网站遭到破坏,他们也许可以从组织的Sharepoint访问文件。

如果根本无法实现,是否有任何可行的解决方法?

2 个答案:

答案 0 :(得分:0)

还没有使用应用程序权限(即仅应用程序权限)来实现此目的的好方法。

如果应用程序正在使用委派的权限(换句话说,如果应用程序代表登录的用户执行操作),则该应用程序只能访问该用户也有权访问的文件。这仍然不是完美的,但是与每个网站集中的每个文件相比,它的确缩小了访问范围。

出于各种原因(包括安全性和稳定性),建议应用程序使用非交互式用户名/密码流来访问Microsoft Graph(或任何API)。

也就是说,作为最后一种选择,您可能考虑将this flow与专用的非特权用户帐户一起使用,该用户帐户仅 可以访问网站集/有问题的文件。仅当您完全确信所讨论的应用程序是高度受信任的和安全的时,才探索此选项(该应用程序从技术上讲将能够执行用户帐户可以执行的任何操作,在许多情况下,其中包括许多您不希望做的事情除了非常值得信赖的应用程序以外,其他任何功能都可以。)

答案 1 :(得分:0)

@Philippe Signoret为我提供了正确的解决方案。

要详细说明需要做什么以及如何解决可能的问题,请阅读以下内容:

  • 当前解决方案是使用ROPC flow,对单个用户(在我的情况下为专用单个用户)使用委派权限来限制文件
  • 确保检查门户中设置的权限,并授予所有尚未授予的权限
  • 您将需要使用/更新代码以使用Username Password Authentication
  • 同时使用MS Graph ExplorerPostman测试您的连接和通话
  • 要进一步调试它在一个而不是另一个上的工作位置,请复制并粘贴令牌,并使用https://jwt.io/进行比较,因为这将区分权限集之间的差异(因为MS Graph Explorer将拥有更多权限,如果您允许,我完全忘记了)