【问题标题】:Restrict Microsoft Bot Framework Bot to certain AD Tenant将 Microsoft Bot Framework Bot 限制为特定 AD 租户
【发布时间】:2020-06-09 09:55:30
【问题描述】:

要使用 Microsoft Bot Framework SDK 4.x 创建机器人,您必须在启用多租户选项的 Azure Active Directory 中创建应用程序注册(“谁可以使用此应用程序或访问此 API?=> 任何组织目录”)。

如果不对机器人代码采取安全措施,世界上的每个人都可以访问该机器人并与之聊天。在专门为 MS Teams 频道设计机器人时,在 Web 频道上设计公共机器人时通常有帮助的地方是不方便的。特别是由于租户中的来宾用户经常偶然发现这些应用程序/机器人,他们也可能开始使用它们。解决方法是查询AD/MS Graph,查看当前用户是否有权限使用。

还有其他方法可以限制机器人/应用程序的使用吗? 如果没有,是否有人有关于如何以安全、可靠的方式将机器人限制在代码中而没有任何副作用的最佳实践?

非常感谢!

【问题讨论】:

    标签: azure botframework


    【解决方案1】:

    在您的应用设置文件中保留租户 ID。 在 Bot Post Request 检查 turnContext.Activity.Conversation.TenantId == [Expected tenant Id in app settings ] 然后只继续执行。

    【讨论】:

    • 抱歉 - 这似乎是解决方案,但现在我对其进行了测试,结果证明:根据您在活动/对话中获得的数据,没有可用的提示来确定用户是否是访客用户与否。在任何情况下,租户 ID 始终是邀请来宾用户的租户的 ID。剩下的就是查看 ms 图表并检查用户是否在某个组中,但我觉得这有点矫枉过正,必须有一个更简单的解决方案......?
    【解决方案2】:

    您可以通过更改机器人 Azure 广告应用注册清单中的 signInAudience="AzureADMyOrg" 来将机器人限制为单个租户。

    猜你喜欢
    • 2018-04-22
    • 2023-04-08
    • 2017-11-25
    • 2023-03-11
    • 1970-01-01
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多