【问题标题】:Azure AD Consent from a different Tenant来自不同租户的 Azure AD 同意
【发布时间】:2017-12-07 21:08:09
【问题描述】:

我正在尝试使用我们的多租户 AD 应用程序来访问用户的 Onedrive for Business。但是,当用户属于其他租户时,在同意某些权限时,我不断收到错误消息。我不确定我需要设置哪些权限,以便任何 365 用户都可以。

我正在使用读取目录的图形 API 权限和 AD。这就是权限的样子。

应用程序权限

  • 读取所有网站集中的文件
  • 在所有网站集中读写文件
  • 读写设备
  • 读写目录数据 -读取目录数据

委派权限

  • 拥有用户可以访问的所有文件的完全访问权限
  • 读取用户可以访问的所有文件
  • 拥有对用户文件的完全访问权限
  • 以登录用户的身份读取用户文件访问目录
  • 读写目录数据
  • 读取目录数据登录并读取用户配置文件
  • 读写用户选择的文件(预览)
  • 读取用户选择的文件(预览)

【问题讨论】:

    标签: azure azure-active-directory microsoft-graph-api user-permissions azure-ad-graph-api


    【解决方案1】:

    其他租户的管理员必须首次同意该应用。

    这是因为您使用了一些需要管理员同意的范围。如果您将自己限制在不需要管理员同意的范围内,那么普通用户通常应该能够直接同意您的应用。

    需要注意的是,其他租户中的管理员始终可以禁用最终用户同意,在这种情况下,他们始终需要管理员同意每个应用程序。

    【讨论】:

    • 谢谢,我希望我能解决什么问题。是否有任何其他选项可以使用 O365 帐户并访问他们的 Onedrive,可能使用 Azure B2C 还是始终基于其他租户的应用权限?
    • 好吧,B2C 行不通。 v2 端点可能会有所帮助,但我必须快速对其进行测试,看看用户是否可以自己同意。
    • 感谢@GarethJ 在这里纠正了我的误解。猜猜我只使用了需要管理员权限的权限/禁用了允许用户同意的设置。所以,是的,这取决于您需要的权限。委派的 Files.Read(“读取用户文件”)权限不需要管理员,因此应该可以。但是,您不能使用应用权限,这些权限确实需要管理员始终同意。
    • 虽然有例外,但一个好的一般经验法则是,如果范围/权限包含单词 All,则很可能需要管理员同意。用户通常可以在未经同意的情况下访问自己的信息,而访问其他用户的数据则需要管理员竖起大拇指。 :)
    • 是的,这是经验法则,尽管这取决于定义权限的人 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-19
    • 1970-01-01
    • 2016-01-26
    相关资源
    最近更新 更多