对于针对图形api的CRUD操作,我们不得不向几个开发团队提供应用程序凭据。这些团队负责不同的应用程序,到目前为止,我们为每个应用程序管理不同的Azure B2C租户。我们希望整合为一个B2C租户的所有应用程序。
做到这一点的最佳方式是什么?这样做有什么顾虑吗?以下是我们想到的
- 授予租户范围的权限,如Directory.ReadWrite.All和User.ReadWrite.All,可能会导致一个团队的开发人员无意中删除其他团队的身份
- 修改一个应用程序的其他应用程序已在使用的属性
据我所知,Azure AD没有现成的解决方案来满足您的需求。
在您的情况下,每个团队将能够管理一个B2C租户中的所有用户。我的建议是用你自己的逻辑来控制权限。
例如,来自组a的用户在id令牌中有一个组声明,该声明告诉您他来自哪个组。然后当他调用MS图修改用户时,检查该用户来自哪个组。如果他试图修改的用户来自A组,你可以允许。通过这种方法,你可以实现A组的管理员只能修改A组的用户。
您也可以使用Group声明来实现同样的事情。
参考文献:
如何:将应用程序角色添加到您的应用程序中,并在令牌中接收它们
为组属性配置Azure AD应用程序注册