管理员同意对 Azure AD for Yammer 中的“user_impersonation”委派权限的影响

问题描述 投票:0回答:1

我有一个与 Azure AD 中的 Yammer 集成的现有自定义应用程序。在此应用程序中,我利用

user_impersonation
委派权限来获取在 Yammer 网络上发布的数据。此外,我的应用程序请求
Sites.Read.All
权限来访问 Yammer 中共享的 SharePoint 附件。

我当前的流程包括:

  1. 通过 user_impersonation 的 Oauth 流程获取
    user_impersonation
    的访问令牌
  2. 通过将管理员定向到以下 URL 来获得管理员同意:
    https://login.microsoftonline.com/common/adminconsent?client_id=6731de76-14a6-49ae-97bc-6eba6914391e&state=12345&redirect_uri=http://localhost/myapp/permissions.

我稍后将使用此同意来获取访问令牌

Sites.Read.All
通过客户端凭证流程。

但是,我注意到,当管理员授予同意时,它会将同意范围扩展到 Azure AD 应用程序中配置的所有权限。我最近发现了一个用于管理员同意的 v2 端点,我可以在其中传递同意 URL 中的范围列表。虽然委派的“user_impersonation”权限足以访问 Yammer 网络中的所有数据,但我注意到,在管理员同意的情况下,我似乎获得了额外的权限。

鉴于此设置,管理员同意对我现有的自定义应用程序中的

user_impersonation
委托权限可能有何影响?

azure-active-directory yammer
1个回答
0
投票

我创建了一个 Azure AD 应用程序并添加了 API 权限:

enter image description here

为了授予管理员同意,我使用了以下端点:

https://login.microsoftonline.com/common/adminconsent?client_id=ClientID&state=12345&redirect_uri=https://jwt.ms

enter image description here

授予 API 权限的管理员同意:

enter image description here

对于示例,如果您不需要某个API权限,您还可以撤销管理员同意,如下所示:

enter image description here

注意:管理员同意使管理员能够代表所有租户用户向应用程序授予权限。

  • 这意味着,如果您的应用程序获得管理员同意,则登录的用户将能够访问应用程序中配置的所有权限。
  • user_impersonation
    委派权限使应用程序能够代表用户连接到 Yammer 网络并访问所有 Yammer 数据。
  • 它还允许访问在 Yammer 中共享的 SharePoint 附件,因为授予了
    Sites.Read.All
    权限。

参考:

Microsoft 身份平台中的权限和同意概述 - Microsoft Entra

© www.soinside.com 2019 - 2024. All rights reserved.