Просмотр исходного кода

Add sanitization to `get_transfer` method to redact sensitive
data when `include_task_info` is set, especially for `volume chunks`

Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>

Mihaela Balutoiu 8 месяцев назад
Родитель
Сommit
38b7371b4b
1 измененных файлов с 9 добавлено и 1 удалено
  1. 9 1
      coriolis/conductor/rpc/server.py

+ 9 - 1
coriolis/conductor/rpc/server.py

@@ -1196,10 +1196,18 @@ class ConductorServerEndpoint(object):
 
     @transfer_synchronized
     def get_transfer(self, ctxt, transfer_id, include_task_info=False):
-        return self._get_transfer(
+        transfer = self._get_transfer(
             ctxt, transfer_id,
             include_task_info=include_task_info, to_dict=True)
 
+        if include_task_info and transfer.get('info'):
+            for instance in transfer['instances']:
+                if instance in transfer['info']:
+                    transfer['info'][instance] = utils.sanitize_task_info(
+                        transfer['info'][instance])
+
+        return transfer
+
     @transfer_synchronized
     def delete_transfer(self, ctxt, transfer_id):
         transfer = self._get_transfer(ctxt, transfer_id)