【问题标题】:How to restrict what/who can send data to Azure Application Insights如何限制什么/谁可以将数据发送到 Azure Application Insights
【发布时间】:2021-11-01 23:33:56
【问题描述】:

我想确保只有特定的应用程序能够将数据发送到我的应用程序洞察资源。我试图避免的情况是,如果某些开发人员或攻击者拥有检测密钥,则来自他们机器的遥测数据不会发送到我的应用程序洞察资源。

更具体:我有一个运行 3 个 IIS ASP.NET Web 应用程序的 Azure VM。每个报告都向各自的应用程序 Insghts 资源报告。目前,如果开发人员在本地启动其中一个应用程序并指向相同的应用程序洞察资源,它将接受数据并扭曲指标数据。我想确保这是不可能的。

附加上下文:我正在试验无代码 ApplicationInsights 代理,但主要使用 ASP.NET 的手动 SDK 检测方法。

我查看了网络隔离方法,但这似乎是一个巨大的成本增加,因为除了来自 AppInsights 的数据费用之外,我还要为通过 privatelink 的数据支付额外费用。

目前,公共 Internet 上使用我的检测密钥的任何人都可以将数据发送到 appinsights 资源。我想以某种方式将此限制为特定的 AD 应用程序角色或 VM。

有人可以帮忙吗?提前致谢。

【问题讨论】:

    标签: azure azure-application-insights


    【解决方案1】:

    我们最近发布了对 Application Insights (https://docs.microsoft.com/en-us/azure/azure-monitor/app/azure-ad-authentication?tabs=net) 的 Azure AD 身份验证的支持。

    您可以将用户分配或系统分配的托管标识分配给您的虚拟机,并授予此标识提取遥测数据的权利。

    除此之外,您还可以禁用本地身份验证。这将单独阻止基于摄取的检测密钥。

    【讨论】:

      【解决方案2】:

      您可以轻松地使用自定义 API 作为代理。您的浏览器/客户端将能够将数据发送到您可以过滤的 API。显然,该 API 能够将正确的遥测数据发送到您的 Azure Application Insight。

      除此之外,您还可以使用某种签名来丰富属性,以确定您的数据是否来自您的客户。

      【讨论】:

        猜你喜欢
        • 2016-01-13
        • 2016-07-24
        • 2021-11-02
        • 2018-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多