Azure active directory Azure广告中的应用程序注册

Azure active directory Azure广告中的应用程序注册,azure-active-directory,Azure Active Directory,我有一些关于手动向应用程序注册添加权限的问题 我正在通过UX向应用程序添加权限,然后单击保存。 之后,这些权限将添加到RequiredResourceAccess属性,对吗 之后,我单击“授予权限”->将权限添加到服务主体,对吗 在检查服务主体之后,我看到权限是通过管理员同意添加的。在用户同意的情况下也可以这样做吗?也许我错了,这是不必要的,但我想知道为什么唯一的选择是与一个全局管理员,然后在管理员同意的结果 还有一些权限说明不需要管理员 这项权利只能通过全局管理员申请(或者我没有通过ux找到

我有一些关于手动向应用程序注册添加权限的问题

  • 我正在通过UX向应用程序添加权限,然后单击保存。 之后,这些权限将添加到RequiredResourceAccess属性,对吗

  • 之后,我单击“授予权限”->将权限添加到服务主体,对吗

  • 在检查服务主体之后,我看到权限是通过管理员同意添加的。在用户同意的情况下也可以这样做吗?也许我错了,这是不必要的,但我想知道为什么唯一的选择是与一个全局管理员,然后在管理员同意的结果

  • 还有一些权限说明不需要管理员

    • 这项权利只能通过全局管理员申请(或者我没有通过ux找到正确的方法)——但上面写着“不需要管理员”
    • 授予权限后,此权限也会通过管理员同意添加
  • 如果我只是执行步骤a并添加权限,请单击“安全”,权限将添加到RequiredResourceAccess

    • 用户通过访问应用程序时是否必须立即同意该权限。我的应用程序门户?我试图责备,但没用
  • 致意 托马斯按顺序回答:

  • 是的,当您在app registrations blade中使用权限UX时,会将PERM添加到应用程序对象上的requiredresourceattribute
  • 正确,单击“授予权限”按钮在后台运行同意,并将同意记录添加到与此应用程序对象相关的目录中的服务主体对象
  • “授予权限”按钮尝试使用它所能达到的最高权限。如果它被具有租户管理员角色的人单击,它将执行管理员同意,否则它将执行用户同意(假设没有需要租户管理员的烫发)
  • 根据对#3的回答,用户同意的权限不需要租户管理员,但如果租户管理员使用“授予权限”按钮,则会自动对目录中的所有用户进行管理员同意。如果你想以管理员身份强制用户同意,那么今天你必须手动点击同意端点(例如在授予任何同意之前登录应用程序)
  • 如今,在决定是否自动提示用户时,同意系统仅检查是否已对该用户(或全局)进行了任何同意(例如,如果您最初请求perm A和B,用户同意A和B,然后您添加了perm C,则不会自动重新提示用户同意,但会提示应用程序的新用户同意A、B和C).应用程序负责检测用户未同意添加的权限,并强制进行重新同意呼叫

  • Elisol已明确表示要授予权限,此答案仅为Elisol的补充,并回答了您的第5个问题:

    如果我只是执行步骤a并添加权限,请单击“安全”,权限为 已添加到RequiredResourceAccess。用户是否必须立即同意 通过“我的应用程序”门户访问应用程序时的权限 他试图责备,但没用

    对于Azure AD v1 endpoint,权限是静态的。一旦用户同意一次,它将不会更改。因此,我们有权提前授予进行管理同意的权限。对于您的第5个问题,elisol已经解释得很好,但我想澄清,旧用户(曾经同意一次)不会升级为同意。他/她应该只拥有以前同意的权限。如果您希望用户拥有新权限,应用程序应该通过向授权URL添加
    prompt=approve
    prompt=admin\u approve
    来强制用户重新同意

    如果要动态指定应用程序所需的权限,可以考虑使用AAD v2端点。有关AAD v1和N v2端点之间的差异,请参阅

    我不确定您收到了什么错误消息(这就是我要求您发布更多场景细节的原因)。因此,我列出了您可能遇到的两种情况

    1.如果您发现用户在从Azure portal授予权限后仍然需要进行同意:

    如上所述,一个原因可能是您的应用程序请求包含
    prompt=approve
    prompt=admin\u approve
    以强制重新同意。您可以参考以尝试修复它

    2.没有足够的权限,您无法访问您的应用程序(可能有错误信息,您无法访问此应用程序)。

    首先,确保您在Azure portal中添加了足够的权限并授予了权限。其次,检查您请求中的
    资源
    是否为正确的WebAPP/API权限。第三,检查您是否定义了应用程序角色并为用户分配了不同的角色(它称为基于组的访问控制)


    希望这有帮助。

    1.你在一篇帖子中问了太多问题。很难完美地回答所有这些问题。2.我建议你可以详细说明你的场景。例如,你的应用程序是单租户应用程序还是多租户应用程序?3.如果你遇到一些问题或错误信息,请直接在这个问题中发布。尽管我可以理解你的意思,但是有很多问题看起来和你的一样。我不知道是谁否决了你的问题,但你确实需要编辑它。:-)是的,这是很多问题,但它们都是相互关联的,所以像这样把它们结合起来可能是公平的。单独遇到每一个问题并不能让未来的读者像看到所有问题一样深入了解正在发生的事情。回答得好,谢谢你确认我在这里观察到的行为:。要强制重新同意,应用程序需要将
    prompt=approve
    prompt=admin\u approve
    添加到授权URL。您好,谢谢