Azure 机器人服务的 Teams 通道的 IP 地址限制
IP address restriction to Teams channel of Azure Bot Service
我正在通过 Azure 门户机器人服务注册创建机器人。关于 Azure Bot Service 的 Teams 通道,我想知道是否可以通过 Azure Portal 上的设置限制 IP 地址访问 bot 服务的通道?
我已阅读有关条件访问位置策略的信息,但这似乎适用于 Azure Active Directory 的范围,我不确定它在机器人服务范围内的哪个位置发挥作用。如果条件访问位置策略与我的问题相关,将不胜感激关于它如何与机器人服务相关的更多信息。
编辑:
我收录了这篇文章中的有用图片。 https://hilton.giesenow.com/how-bot-calls-actually-work
对于可以是 public 或私有的机器人,我想在图像的第 2 步应用某种形式的限制或身份验证,即来自 Azure 门户上的 Microsoft Bot Framework Services。
所有 (运行) 个机器人都可以 public 访问。
- 您无法阻止 Teams 从任何租户向您发送消息,
- 如果某人有您的应用程序清单,您也无法阻止他们安装您的机器人。
- 您甚至可以在不安装的情况下@提及机器人
因此,作为开发人员,您必须防止您的机器人处理不需要的消息。
您有两个不同的选项来限制您的机器人处理的传入消息。
如果您处理的是安全数据,绝对推荐使用 OAuth 来验证用户。
- 见Teams SSO bot - C# (experimental branch)
- 请注意,在身份验证之后,您仍需要处理授权,可能基于 the Teams context
使用中间件进行过滤(只允许您订阅的客户)是另一个不错的选择。例如,对于 Teams 渠道,将 TeamsTenantFilteringMiddleware class 添加到您的机器人,并在您的启动方法中连接它。
请参阅这些示例:
所以对于租户过滤,它看起来像:
if (!this.tenantMap.Contains(tenantId))
{
throw new UnauthorizedAccessException("Tenant Id '" + tenantId + "' is not allowed access.");
}
我正在通过 Azure 门户机器人服务注册创建机器人。关于 Azure Bot Service 的 Teams 通道,我想知道是否可以通过 Azure Portal 上的设置限制 IP 地址访问 bot 服务的通道?
我已阅读有关条件访问位置策略的信息,但这似乎适用于 Azure Active Directory 的范围,我不确定它在机器人服务范围内的哪个位置发挥作用。如果条件访问位置策略与我的问题相关,将不胜感激关于它如何与机器人服务相关的更多信息。
编辑:
我收录了这篇文章中的有用图片。 https://hilton.giesenow.com/how-bot-calls-actually-work
对于可以是 public 或私有的机器人,我想在图像的第 2 步应用某种形式的限制或身份验证,即来自 Azure 门户上的 Microsoft Bot Framework Services。
所有 (运行) 个机器人都可以 public 访问。
- 您无法阻止 Teams 从任何租户向您发送消息,
- 如果某人有您的应用程序清单,您也无法阻止他们安装您的机器人。
- 您甚至可以在不安装的情况下@提及机器人
因此,作为开发人员,您必须防止您的机器人处理不需要的消息。
您有两个不同的选项来限制您的机器人处理的传入消息。
如果您处理的是安全数据,绝对推荐使用 OAuth 来验证用户。
- 见Teams SSO bot - C# (experimental branch)
- 请注意,在身份验证之后,您仍需要处理授权,可能基于 the Teams context
使用中间件进行过滤(只允许您订阅的客户)是另一个不错的选择。例如,对于 Teams 渠道,将 TeamsTenantFilteringMiddleware class 添加到您的机器人,并在您的启动方法中连接它。
请参阅这些示例:
所以对于租户过滤,它看起来像:
if (!this.tenantMap.Contains(tenantId))
{
throw new UnauthorizedAccessException("Tenant Id '" + tenantId + "' is not allowed access.");
}