From 0088d657f1cdb20020ee3b03b55579a025a7cdd4 Mon Sep 17 00:00:00 2001 From: Jeff Klukas Date: Mon, 15 Mar 2021 11:08:41 -0400 Subject: [PATCH] Bug 1697602 Drop AET messages (#1600) Prerequisite for https://github.com/mozilla/gcp-ingestion/pull/1599 so we make sure that we drop any messages that might contain `ecosystem_anon_id` which was considered sensitive under the deployed AET design. --- .../mozilla/telemetry/decoder/MessageScrubber.java | 3 +++ .../telemetry/decoder/MessageScrubberTest.java | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/ingestion-beam/src/main/java/com/mozilla/telemetry/decoder/MessageScrubber.java b/ingestion-beam/src/main/java/com/mozilla/telemetry/decoder/MessageScrubber.java index e82784450..5e5917bf3 100644 --- a/ingestion-beam/src/main/java/com/mozilla/telemetry/decoder/MessageScrubber.java +++ b/ingestion-beam/src/main/java/com/mozilla/telemetry/decoder/MessageScrubber.java @@ -112,6 +112,9 @@ public static void scrub(Map attributes, ObjectNode json) .anyMatch(j -> j.textValue().startsWith("webIsolated="))) { throw new MessageShouldBeDroppedException("1562011"); } + if ("account-ecosystem".equals(docType)) { + throw new MessageShouldBeDroppedException("1697602"); + } // Check for unwanted data; these messages aren't thrown out, but this class of errors will be // ignored for most pipeline monitoring. diff --git a/ingestion-beam/src/test/java/com/mozilla/telemetry/decoder/MessageScrubberTest.java b/ingestion-beam/src/test/java/com/mozilla/telemetry/decoder/MessageScrubberTest.java index 3aaec3179..988e92c2b 100644 --- a/ingestion-beam/src/test/java/com/mozilla/telemetry/decoder/MessageScrubberTest.java +++ b/ingestion-beam/src/test/java/com/mozilla/telemetry/decoder/MessageScrubberTest.java @@ -219,6 +219,20 @@ public void testShouldScrubBhrBug1562011() throws Exception { () -> MessageScrubber.scrub(attributes, ping)); } + @Test + public void testShouldScrubBug1697602() throws Exception { + final Map attributes1 = ImmutableMap.builder() + .put(Attribute.DOCUMENT_NAMESPACE, "telemetry") + .put(Attribute.DOCUMENT_TYPE, "account-ecosystem").build(); + assertThrows(MessageShouldBeDroppedException.class, + () -> MessageScrubber.scrub(attributes1, Json.createObjectNode())); + final Map attributes2 = ImmutableMap.builder() + .put(Attribute.DOCUMENT_NAMESPACE, "firefox-accounts") + .put(Attribute.DOCUMENT_TYPE, "account-ecosystem").build(); + assertThrows(MessageShouldBeDroppedException.class, + () -> MessageScrubber.scrub(attributes2, Json.createObjectNode())); + } + @Test public void testBug1602844Affected() throws Exception { Map baseAttributes = ImmutableMap.builder()