Azure Ad多租户应用程序注册客户端凭据流



假设我在租户a中有一个服务,它应该使用租户B中注册的服务的API。根据微软指南,我应该:

  1. 在租户A中注册servica
  2. 在租户B中注册serviceB
  3. 在serviceB
  4. 中创建两个批准
  5. 通过执行以下get请求在tenantA中注册serviceB: https://login.microsoftonline.com/{tenantA-id}/v2.0/adminconsent?client_id={serviceB-id}&scope={serviceA-id}/.default
  6. serviceB应该出现在企业应用程序刀片中,这是ok的。
  7. 添加serviceB到serviceA的权限

在这个模式中,我看到了两个奇怪的东西。第一个是令牌获取过程。由于serviceA应用程序没有在tenantB中注册,因此serviceA无法在tenantB目录下的token中获取角色。

我也没有在这个流程中看到任何租户的管理同意。问题是tenantAs的管理员可以在没有tenantA管理员接受的情况下向他的应用程序添加serviceB批准这在我看来很奇怪。

为具有角色的tenantB中的serviceA获取令牌的唯一方法是在tenantB中添加serviceA。因此,这两个应用程序都应该在两个租户的企业应用程序刀片中。还是我拐错弯了?

你需要:

  1. 为tenantB中的serviceA创建/添加servicePrincipal,以便将其分配给serviceB中的批准
  2. 在tenantA中同意范围为serviceB/.default的服务a

最新更新