Azure Active Directory应用程序上下文中的“委派权限”是什么?

时间:2016-09-14 07:54:57

标签: azure azure-active-directory

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

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

  

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

     

委托权限:您的客户端应用程序需要访问Web   API作为已登录用户,但访问受限于所选   允许。除非用户可以授予此类权限   权限配置为需要管理员同意。

2 个答案:

答案 0 :(得分:3)

  

因此,在Delegated Permissions下,我们有“以...访问目录”   登录用户“选项列出。这实际上做了什么?

简单来说,在委派权限的情况下,应用程序基本上冒充您(或登录用户)。

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

答案 1 :(得分:1)

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

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