首页 > 解决方案 > 使用 ConfidentialClientApplication 保护对 MS Graph 的多租户访问

问题描述

我一直在尝试找出如何将多个租户连接到同一个 Azure APP 以访问图形。我最终使用了,ConfidentialClientApplication因为我有一个无法始终要求身份验证的守护程序服务,因此租户管理员向我的 Azure 应用程序授予了一次权限,并且我能够使用 MS Graph API 访问租户的数据。

我需要帮助了解以下情况的问题:

考虑我们有 2 个租户:租户 1、租户 2。两者都授予了我的应用程序的权限。但这意味着租户 2 可以通过指定租户 1 的权限 likehttps://login.microsoftonline.com/tenant1和电子邮件来访问租户 1 的数据。如何在安全方面克服这种情况,我应该为每个客户使用一个天蓝色应用程序,可能是守护程序应用程序的其他一些 MSAL 身份验证流程?完全糊涂了。

标签: azuremicrosoft-graph-apimsalmicrosoft-graph-sdks

解决方案


如果您的客户可以控制您的守护程序应用程序使用的权限,那么听起来您无法使用对所有客户租户具有应用程序权限的单个应用程序的方法。当您的多租户应用程序具有在您的基础架构中运行且客户无法控制的后台进程时,可以使用此方法。

您的应用程序需要与只有您控制的基础设施通信,然后使用应用程序权限,或者您需要单独的应用程序。需要在每个客户的 AAD 中将应用程序创建为单租户应用程序。要么他们做,你做,或者你提供一个脚本来做。然后他们可以将这些凭据输入到您的应用程序的配置中并开始使用它。


推荐阅读