【问题标题】:Azure AD Access token AuthorizationAzure AD 访问令牌授权
【发布时间】:2021-12-31 02:37:56
【问题描述】:

有没有办法在 azure 广告中为访问令牌设置自定义权限?例如,服务提供商“A”可以访问市场“SE”和“DE”。

我没有看到任何使用组/范围/角色授权的解决方案。

【问题讨论】:

  • 您所说的Market "SE" and "DE" 是什么意思,能否请您多解释一下您的期望。
  • @MdFaridUddinKiron 例如在我的 API 中,我希望用户只能访问特定市场。 “用户 A”应该可以访问“瑞典”和“德国”市场的数据,而“用户 B”应该只能访问“瑞典”市场的数据。
  • @KartikBhiwapurkar-MT 不完全是,不幸的是。例如,如果我创建一个角色:File.Read 他们将能够读取数据。但是,我怎么能说用户 A 应该只从市场“SE”读取我的数据库中的文件,而用户 B”
  • 为此,您必须为该特定用户对该数据库的访问启用基于 RBAC 的权限,或者您还可以配置应用程序以使用连接字符串和访问密钥访问该数据库。或者你也可以在这种情况下使用委托的权限。

标签: azure azure-active-directory jwt authorization


【解决方案1】:

• 可以针对请求令牌的用户或应用程序设置 Azure AD 访问令牌中的自定义权限,即,当应用程序注册到 Azure AD 以进行身份​​验证和授权时,在 IDP 端 (Azure AD),我们有权配置各种应用角色并将用户和管理员分配给该应用。

• 因此,我们不能完全自定义访问令牌的权限,但我们可以通过该访问令牌将分配的权限授权给用户或应用程序,如下所示:-

a) 定义访问用户/应用程序访问和读取访问令牌中的应用程序 API 数据的范围。

b) 通过定义自定义角色并将其与访问令牌中的范围参数一起分配,定义应用角色以分配请求访问 API 的用户或应用程序。

c) 通过管理员同意或通过转到“企业应用程序--> 选择应用程序--> API 权限--> 委派用户权限,为 Azure AD 中托管的 API 分配范围和应用程序角色的请求权限添加权限 --> 选择 API --> 选择所需的范围 --> 添加权限 --> 授予管理员许可'

因此,我们可以结合使用这两者来为 API 分配特定的应用程序和用户的权限,并将它们传递到访问令牌中,以确定请求令牌的用户或应用程序是否具有所需的权限。请参考以下链接,该链接是指如何通过访问令牌声明权限:-

https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens#payload-claims

请检查此链接中的“scp”、“roles”和“wids”声明与上述和同意的权限有关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2020-07-05
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 2020-05-25
    • 2020-07-19
    相关资源
    最近更新 更多