azure - 使用 ConfidentialClientApplication 保护对 MS Graph 的多租户访问
问题描述
我一直在尝试找出如何将多个租户连接到同一个 Azure APP 以访问图形。我最终使用了,ConfidentialClientApplication
因为我有一个无法始终要求身份验证的守护程序服务,因此租户管理员向我的 Azure 应用程序授予了一次权限,并且我能够使用 MS Graph API 访问租户的数据。
我需要帮助了解以下情况的问题:
考虑我们有 2 个租户:租户 1、租户 2。两者都授予了我的应用程序的权限。但这意味着租户 2 可以通过指定租户 1 的权限 likehttps://login.microsoftonline.com/tenant1
和电子邮件来访问租户 1 的数据。如何在安全方面克服这种情况,我应该为每个客户使用一个天蓝色应用程序,可能是守护程序应用程序的其他一些 MSAL 身份验证流程?完全糊涂了。
解决方案
如果您的客户可以控制您的守护程序应用程序使用的权限,那么听起来您无法使用对所有客户租户具有应用程序权限的单个应用程序的方法。当您的多租户应用程序具有在您的基础架构中运行且客户无法控制的后台进程时,可以使用此方法。
您的应用程序需要与只有您控制的基础设施通信,然后使用应用程序权限,或者您需要单独的应用程序。需要在每个客户的 AAD 中将应用程序创建为单租户应用程序。要么他们做,你做,或者你提供一个脚本来做。然后他们可以将这些凭据输入到您的应用程序的配置中并开始使用它。
推荐阅读
- python - 从 PYTHON 中的文件中读取特定字节
- java - 有没有办法一次定义一组按钮
- python - 这个 re 表达式有什么区别?
- ssh - 在 Google Cloud Ubuntu Server 中修改 sshd_config 文件后无法访问 SSH
- java - 从队列头部移除时间相关
- angular - 如何在 Angular 6 中使用参数创建 observable?
- sql - 玩家平均连胜时长的 SQL 查询
- python - python try 和 except 内部函数的值错误
- c# - Roslyn Analyzer - 查找接口方法调用的当前具体实现
- scala - 从宽列表中动态选择字段