diff --git a/inventory_provider/tasks/config.py b/inventory_provider/tasks/config.py
index 911aae9f547304f3d85a7884892733434063a7a5..c5f17f3729f98b337c821bda92190e28edd9f23b 100644
--- a/inventory_provider/tasks/config.py
+++ b/inventory_provider/tasks/config.py
@@ -34,6 +34,7 @@ redis_socket_timeout = params.get(
 
 _broker_hostname = params['hostname']
 _broker_port = params['port']
+_broker_password = params.get('password')
 
 _broker_db_index = params.get('celery-db-index', DEFAULT_CELERY_DB_INDEX)
 
@@ -41,9 +42,14 @@ if ':' in _broker_hostname:
     # assume this means hostname is an ipv6 address
     _broker_hostname = f'[{_broker_hostname}]'
 
-broker_url = result_backend = (f'{_broker_scheme}://{_broker_hostname}'
-                               f':{_broker_port}/{_broker_db_index}')
-logger.debug('broker_url: %r' % broker_url)
+broker_url = result_backend = (
+    f'{_broker_scheme}://'
+    f'{"" if not _broker_password else f":{_broker_password}@"}'
+    f'{_broker_hostname}:{_broker_port}/{_broker_db_index}'
+)
+
+logger.debug('broker_url: %r' % broker_url.replace(_broker_password, '***')
+             if _broker_password else broker_url)
 
 task_eager_propagates = True
 task_track_started = True