我正在为一个简单的Azure API Management GET API实现Oauth2。因为我跟着this video。我的设置工作正常,但我不了解应用程序角色和API权限。
因此,教师创建2个应用程序注册:
- 一个用于APIM资源,并创建一个具有角色Reader的应用程序角色Reader
- 一个是APIM客户端。对于客户端,它添加了API权限,并在管理员同意的情况下附加了Reader角色(3:33),还添加了
User.Read.All
和User.ReadWrite.all
的Graph权限(4:09)
现在一切正常,但我不理解这些权限,所以我删除了角色和所有权限(即使是默认权限:User.Read
)。我仍然可以得到一个有效的承载令牌,我仍然可以使用它来进行GET调用,所以一切都还在工作。
我是否需要应用角色和这些权限?如果是,是哪一个,它们是什么意思,我如何尽可能地限制它?
也许重要的是要注意,我的客户端是另一个应用程序,而不是一个真实的登录用户。
1条答案
按热度按时间tzdcorbm1#
App Role是自定义元数据,将包含在令牌中,可由应用程序用于自定义授权策略。例如,应用程序中某些功能的应用程序角色,如
Admin
。其他权限用于Microsoft Graph访问(
User.Read
和其他)。如果您的应用程序要调用Microsoft Graph API,例如,获取有关已登录用户或目录中其他用户的信息,则需要这些参数。要登录,您只需要默认存在的
openid
范围。