Azure API 管理和 Oauth2 的 API 权限

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

我正在为我拥有的简单的 Azure API 管理 GET API 实现 Oauth2。我在这里关注了这个视频。我的设置有效,但我不了解应用程序角色和 API 权限。

因此老师创建了 2 个应用程序注册:

  • 一个用于 APIM 资源,并创建一个具有 Reader 角色的应用程序角色读者
  • 一个用于 APIM 客户端。对于客户端,它添加 API 权限并在管理员同意的情况下附加读者角色 (3:33),并在管理员同意的情况下附加
    User.Read.All
    User.ReadWrite.all
    (4:09)
  • 的图形权限

现在一切正常,但我不理解这些权限,因此我删除了角色和所有权限(甚至是默认值:

User.Read
)。我仍然可以获得有效的不记名令牌,并且仍然可以将其用于我的 GET 调用,因此一切仍然正常。

我需要应用程序角色和这些权限吗?如果是,是哪一个,它们的含义是什么?我怎样才能尽可能地限制它?

也许需要注意的是,我的客户端是另一个应用程序,而不是真正的登录用户。

azure oauth-2.0 azure-active-directory azure-api-management
1个回答
0
投票

应用程序角色是自定义元数据,将包含在令牌中,应用程序可以将其用于自定义授权策略。例如,应用程序中某些功能的应用程序角色,例如

Admin

其他权限用于 Microsoft Graph 访问(

User.Read
等)。如果您的应用程序想要调用 Microsoft Graph API(例如,获取有关登录用户或目录中其他用户的信息),则需要这些。

要登录,您只需要默认存在的

openid
范围即可。

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