首页 > 解决方案 > 限制 Azure AAD 中的客户端应用程序

问题描述

我有一个 AAD 租户。我在租户内注册了一个服务应用程序。

我在 Tenant & Retrieved Client ID & Secret 中注册了另一个客户端应用程序 1。

我的朋友在 Tenant & Retrieved Client ID & Secret 中注册了另一个客户端应用程序 2。

现在两个客户端应用程序都能够访问服务!

但我想限制只有客户端应用程序 1 应该能够访问该服务。

请建议如何做到这一点。

标签: azure

解决方案


如果您想根据应用程序角色限制访问(不代表用户

  1. 将 appRole 添加到“服务应用程序”清单。

在此处输入图像描述

  1. 转到“ClientApp1”API 权限并添加在 Step1 中创建的“Service App”应用程序权限。确保已授予管理员同意。

在此处输入图像描述

  1. 使用 ClientID 和 ClientSecret 获取“服务应用程序”的访问令牌,它应该具有新角色;在您的“服务应用程序”控制器代码中添加Authorize (Roles = "ServiceConsumer") 属性 [Authorize(Roles = "ServiceConsumer")] [Route("api/[controller]")] [ApiController] public class ValuesController : ControllerBase { }

推荐阅读