Sentry过滤敏感数据

与任何第三方服务一样,了解向Sentry发送的数据非常重要,并且在相关时确保敏感数据永远不会到达Sentry服务器,或者至少不会存储。我们解决这个问题的主要方法是一种悲观的观点:你不小心将数据发送到Sentry,你想要删除它,或者你想确保它不被存储。

一、服务端过滤

在项目设置中,您将找到Data Scrubber选项。默认情况下启用此功能,我们强烈建议您保持这种状态。启用它后,Sentry将清除以下内容:

  • 看起来像包含信用卡的值(使用基本正则表达式)
  • 包含以下任何值的键:password,secret,passwd,api_key,apikey,access_token,auth_token,credentials,mysql_pwd,stripetoken,card[number]
  • 任何与您已添加到“项目设置”中的其他字段列表中的值匹配的键。

您可以选择扩展服务器清理的密钥,以及防止存储IP地址。如果您关注PII并使用我们的浏览器JavaScript SDK,后者尤其重要。

此外,某些SDK还允许您在类似模式之后提前过滤数据。

二、限制电子邮件

公司内部的合规性通常意味着数据只能通过SSL传输并以安全的方式存储,这一点很常见。这出现的一个常见区域是电子邮件通知。默认情况下,Sentry将发送大量数据作为问题通知的一部分。在某些情况下,该数据可以是源代码或其他用户数据。

要解决此问题,您可以在组织中启用“增强隐私”设置。这可以通过访问组织的仪表板,单击“设置”,然后在那里勾选选项来完成。完成后,系统的一部分(主要是电子邮件通知)将立即反映此更改,并开始将数据限制为仅基本属性,例如问题标题和说明。

三、删除数据

如果您不小心将敏感数据发送到服务器,那么您可能不会想要将其留在那里。删除时需要注意以下几点:

  • 如果将其作为标记值发送,则删除事件是不够的。您可以访问项目设置,在标签下,您将找到永久删除给定标签的任何相关数据的方法。
  • 如果您只需要擦除单个事件,则可以通过访问汇总详细信息页面并选择“删除”来批量删除汇总下的所有抽样事件。
  • 如果将稀疏事件发送到项目(可能是所有项目),则唯一的选择是删除项目并重新创建它。请记住,这将撤消API凭据,因此您可能希望以相反的顺序执行此操作。

四、SDK中的自定义事件处理

在SDK中,您还可以设置发送前的函数,该函数在发送事件之前调用,可用于修改事件和删除错误数据。有关更多信息,请参阅筛选事件。

五、使用中继进行自定义事件处理

此外,您还可以选择在应用程序和Sentry之间放置代理,以便从事件中删除敏感数据。

猜你喜欢

转载自blog.csdn.net/u013702678/article/details/83118547