【问题标题】:What are "delegated permissions" in the context of an Azure Active directory Application?Azure Active Directory 应用程序上下文中的“委派权限”是什么?
【发布时间】:2016-09-14 17:40:31
【问题描述】:

从下面,我推断当应用程序配置了委派权限时,它会代表登录用户发出所有请求。

因此,在委派权限下,我们再次列出了“以登录用户身份访问目录”选项。这实际上是做什么的?

应用程序权限:您的客户端应用程序需要访问 Web API 直接作为自身(无用户上下文)。此类权限 需要管理员同意,也不适用于 Native 客户端应用程序。

委派权限:您的客户端应用程序需要访问网络 API 作为登录用户,但访问权限受所选用户的限制 允许。这种类型的权限可以由用户授予,除非 权限配置为需要管理员同意。

【问题讨论】:

    标签: azure azure-active-directory


    【解决方案1】:

    因此,在委派权限下,我们有“以 列出了登录用户”选项。这实际上是做什么的?

    简单来说,应用程序在授权的情况下实质上会模拟您(或登录的用户)。

    举个例子,假设您在 Azure AD 中创建了一个 Web 应用程序,该应用程序具有访问 Azure 服务管理 API 的委派权限。现在,当您登录此应用程序并尝试访问您的 Azure 资源(存储帐户、VM 等)时,该应用程序将只能执行您在该 Azure 订阅中被授予执行权限的操作。例如,如果您在 Azure 订阅中担任 Reader 角色(即您无法创建/更新/删除资源)。如果您尝试通过您的应用程序创建资源,您将收到错误消息,因为该应用程序正在模拟您。

    【讨论】:

    • 好的。如果我删除“以登录用户身份访问目录”怎么办。它将使用哪些凭据来访问 API?
    • 我的理解是,在这种情况下,应用程序将无法访问该目录,因为您没有为应用程序分配任何权限。
    • 所以这和允许离线访问一样吗?
    【解决方案2】:

    委派权限要求用户登录 Azure AD 并将生成的身份验证令牌提供给您的应用程序。您的应用程序可以通过传递您的客户端 ID、机密(如果适用)用户的身份验证令牌来进行调用。您的应用程序的有效权限将是用户和您的应用程序的最低组合。例如,如果您的应用程序已被授予对资源的读/写权限,但用户只有读取权限,则您的有效权限为读取。如果用户有读/写但应用程序只有读,情况也是如此。

    应用程序权限不需要用户登录。只需您的客户 ID 和密码就足够了。如果您没有应用程序权限并尝试访问 api 而没有提供经过身份验证的用户令牌,您将收到 401 错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-17
      • 2022-01-04
      • 1970-01-01
      • 2016-07-07
      • 2019-05-07
      • 1970-01-01
      相关资源
      最近更新 更多