Skip to content

Commit 1ca3ad9

Browse files
blocking sensitive values from being logged
1 parent 1b4dc7c commit 1ca3ad9

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

src/sagemaker/config/config_utils.py

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,19 @@ def _log_sagemaker_config_single_substitution(source_value, config_value, config
6767
"""
6868
logger = get_sagemaker_config_logger()
6969

70+
source_value_log_copy = deepcopy(source_value)
71+
config_value_log_copy = deepcopy(config_value)
72+
73+
if isinstance(source_value_log_copy, dict):
74+
for key in source_value_log_copy.keys():
75+
if re.search(r'(secret|password|key|token)', key, re.IGNORECASE):
76+
source_value_log_copy[key] = '***'
77+
78+
if isinstance(config_value_log_copy, dict):
79+
for key in config_value_log_copy.keys():
80+
if re.search(r'(secret|password|key|token)', key, re.IGNORECASE):
81+
config_value_log_copy[key] = '***'
82+
7083
if config_value is not None:
7184

7285
if source_value is None:
@@ -79,7 +92,7 @@ def _log_sagemaker_config_single_substitution(source_value, config_value, config
7992
logger.debug(
8093
"Applied value\n config key = %s\n config value that will be used = %s",
8194
config_key_path,
82-
config_value,
95+
config_value_log_copy,
8396
)
8497
else:
8598
logger.info(
@@ -102,8 +115,8 @@ def _log_sagemaker_config_single_substitution(source_value, config_value, config
102115
" source value that will be used = %s"
103116
),
104117
config_key_path,
105-
config_value,
106-
source_value,
118+
config_value_log_copy,
119+
source_value_log_copy,
107120
)
108121
elif source_value is not None and config_value != source_value:
109122
# Sagemaker Config had a value defined that is NOT going to be used
@@ -117,13 +130,13 @@ def _log_sagemaker_config_single_substitution(source_value, config_value, config
117130
" source value that will be used = %s",
118131
),
119132
config_key_path,
120-
config_value,
121-
source_value,
133+
config_value_log_copy,
134+
source_value_log_copy,
122135
)
123136
else:
124137
# nothing was specified in the config and nothing is being automatically applied
125138
logger.debug("Skipped value because no value defined\n config key = %s", config_key_path)
126-
139+
127140

128141
def _log_sagemaker_config_merge(
129142
source_value=None,

0 commit comments

Comments
 (0)