与 Microsoft Entra ID 集成的许多应用程序都需要对各种资源拥有权限才能运行。 当这些资源还与 Microsoft Entra ID 集成时,将使用 Microsoft Entra 许可框架请求访问这些资源的权限。 这些请求导致首次使用应用程序时显示同意提示,这通常是一次性作。
在某些情况下,当用户尝试登录时,可能会显示其他同意提示。 在本文中,我们将诊断显示意外同意提示的原因以及如何进行故障排除。
用户看到同意提示的情境
在各种情况下,可以预期会有更多提示:
应用程序已配置为需要分配。 需要分配的应用当前不支持单个用户同意;因此,权限必须由整个目录的管理员授予。 如果将应用程序配置为需要分配,请务必同时授予租户范围的管理员许可,以便分配的用户可以登录。
应用程序所需的权限集已由开发人员更改,需要再次授予权限集。
最初同意应用程序的用户不是管理员,现在其他(nonadmin)用户将首次使用该应用程序。
最初同意应用程序的用户是管理员,但他们没有代表整个组织同意。
应用程序使用 增量和动态同意 在最初授予许可后请求进一步的权限。 当应用程序的可选功能需要超出基线功能所需的权限时,通常会使用增量和动态同意。
已在最初授予同意后将其吊销。
开发人员已将应用程序配置为每次使用时都需要同意提示(注意:此行为不是最佳做法)。
注释
遵循Microsoft的建议和最佳做法,许多组织已禁用或限制用户授予应用许可的权限。 如果应用程序强制用户每次登录时授予同意,即使管理员授予租户范围的管理员同意,大多数用户也将无法使用这些应用程序。 如果遇到要求用户同意的应用程序,即使在授予管理员同意后也是如此,请与应用发布者联系,查看他们是否有设置或选项来停止在每次登录时强制用户同意。
故障排除步骤
比较应用程序中请求和授予的权限。
为了确保授予应用程序的权限是最新的,可以将应用程序正在请求的权限与租户中已授予的权限进行比较。
- 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
- 浏览到“身份”>“应用程序”>“企业应用程序”>“所有应用程序”。
- 在搜索框中输入现有应用程序的名称,然后从搜索结果中选择该应用程序。
- 在左侧导航中的“安全性”下,选择 “权限”
- 在“权限”页上查看表中已授予权限的列表
- 若要查看请求的权限,请选择 “授予管理员同意 ”按钮。 这会打开一个同意提示,其中列出了所有请求的权限。 除非确定要授予租户范围的管理员同意,否则不要在同意提示符上选择 “接受 ”。
- 在许可提示中,展开列出的权限,并与权限页上的表进行比较。 如果同意提示中存在任何内容,但权限页面中不存在,则表示该权限尚未获得同意。 未同意的权限可能是应用程序显示意外同意提示的原因。
查看用户分配设置
如果应用程序需要分配,则单个用户无法自行同意。 若要检查应用程序是否需要分配,请执行以下操作:
- 在应用程序的页面上,在“管理”下选择“属性”。
- 检查“是否需要分配?”是否设置为“是”。
- 如果设置为“是”,则管理员必须代表整个组织同意权限。
查看租户范围内的用户同意设置
是否可以由单个用户同意某个应用程序,这一点可以由每个组织进行配置,并且可能在不同的目录之间有所不同。 即使默认情况下每个权限都不需要管理员同意,组织也可能完全禁用用户同意,从而阻止单个用户自行同意应用程序。 若要查看组织的用户同意设置,请执行以下作:
- 导航到 Microsoft Entra 管理中心的 “企业应用程序 ”页。
- 在 “安全性”下,选择 “同意”和“权限”。
- 查看用户同意设置。 如果设置为 “不允许用户同意”,则用户永远无法代表自己同意应用程序。