From 7ab6ea684b53c61da734f9f761acc48a3f58d220 Mon Sep 17 00:00:00 2001 From: Yulei-Yang Date: Thu, 29 Dec 2022 14:16:32 +0800 Subject: [PATCH] [Improvement](meta) hide password of show catalog xxx stmt and for es catalog (#15410) * [Improvement](meta) hide password of show catalog xxx * hide es password in show create ctlg and show ctlg xx stmt --- .../java/org/apache/doris/common/util/PrintableMap.java | 4 +++- .../main/java/org/apache/doris/datasource/CatalogMgr.java | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/util/PrintableMap.java b/fe/fe-core/src/main/java/org/apache/doris/common/util/PrintableMap.java index 571fa92975..ae2b50bcc7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/util/PrintableMap.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/PrintableMap.java @@ -32,6 +32,7 @@ public class PrintableMap { private String entryDelimiter = ","; public static final Set SENSITIVE_KEY; + public static final String PASSWORD_MASK = "*XXX"; static { SENSITIVE_KEY = Sets.newTreeSet(String.CASE_INSENSITIVE_ORDER); @@ -39,6 +40,7 @@ public class PrintableMap { SENSITIVE_KEY.add("kerberos_keytab_content"); SENSITIVE_KEY.add("bos_secret_accesskey"); SENSITIVE_KEY.add("jdbc.password"); + SENSITIVE_KEY.add("elasticsearch.password"); } public PrintableMap(Map map, String keyValueSeparator, @@ -80,7 +82,7 @@ public class PrintableMap { sb.append("\""); } if (hidePassword && SENSITIVE_KEY.contains(entry.getKey())) { - sb.append("*XXX"); + sb.append(PASSWORD_MASK); } else { sb.append(entry.getValue()); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java index 255b63526f..a62562acd7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java @@ -396,7 +396,11 @@ public class CatalogMgr implements Writable, GsonPostProcessable { rows.add(Arrays.asList("resource", catalog.getResource())); } for (Map.Entry elem : catalog.getProperties().entrySet()) { - rows.add(Arrays.asList(elem.getKey(), elem.getValue())); + if (PrintableMap.SENSITIVE_KEY.contains(elem.getKey())) { + rows.add(Arrays.asList(elem.getKey(), PrintableMap.PASSWORD_MASK)); + } else { + rows.add(Arrays.asList(elem.getKey(), elem.getValue())); + } } } } finally {