azure-active-directory - 在 AAD OAuth 身份验证期间提示单个用户进行管理员批准
问题描述
有一个员工 SPA 应用程序向 AAD 进行身份验证。我在 Azure 门户中创建并配置了应用注册,但我不是 AAD 专家 - 它实际上只是用于开发/测试的虚拟应用注册。我可以进行身份验证,但我是应用注册的所有者。AD 租户中的其他几名工作人员也可以进行身份验证,因此它确实有效。特别是有一个用户由于某种原因无法进行身份验证 - 她肯定在 AD 租户中。她收到以下提示:
我在应用程序注册清单和角色分配中配置了一些角色(并且她已被分配),但我认为这不相关 - 这更多用于 RBAC 和 authZ,而这似乎是身份验证问题...
我需要做什么才能让她通过“需要管理员批准”屏幕?
解决方案
看起来您已经激活了Admin Consent Workflow。使用此工作流程,管理员需要授予对需要它的应用程序的访问权限。他们应该能够为其租户中的所有用户执行此操作。
管理员同意工作流程为管理员提供了一种安全的方式来授予对需要管理员批准的应用程序的访问权限。当用户尝试访问应用程序但无法提供同意时,他们可以发送请求以获得管理员批准。该请求通过电子邮件发送给被指定为审阅者的管理员。审阅者对请求采取行动,并通知用户该行动。
另一种选择是用户同意工作流程
在应用程序可以访问您组织的数据之前,用户必须授予应用程序访问权限。不同的权限允许不同级别的访问。默认情况下,所有用户都可以同意应用程序获得不需要管理员同意的权限。例如,默认情况下,用户可以同意允许应用访问他们的邮箱,但不能同意允许应用不受限制地读取和写入组织中的所有文件。
通过允许用户授予应用程序访问数据的权限,用户可以轻松获取有用的应用程序并提高工作效率。但是,在某些情况下,如果不仔细监视和控制此配置,可能会带来风险。
也很有趣:管理对应用程序的同意和评估同意请求
Microsoft 建议禁用最终用户对应用程序的同意。这将使您组织的安全和身份管理员团队集中决策过程。
推荐阅读
- vba - 如何在 Excel VBA 的 for 循环中从数组中调用命名范围?
- css - 匹配模式 css - 不工作
- c++ - Qt 动作不会连接到插槽
- java - Maven 阴影插件替换 persistence.xml
- javascript - 单击模态同意按钮时未选中复选框
- php - 如何检查字符串是否不存在然后返回 false?
- apache-kafka - 如何使用 kafka-python 获取 kafka 主题的分区?
- c - 当我尝试使用 struct 运行程序时出现分段错误(核心转储)
- c# - C# Compile OutOfMemory 错误,而我正在尝试动态生成要编译的文件操作代码
- clojure - Clojure - 使用 Cloud Firestore 获取实时更新