Connessioni
La sezione Connessioni all'interno delle Configurazioni è un componente architetturale fondamentale di Sybot, progettato per centralizzare e astrarre la gestione delle credenziali e dei parametri di connessione a sistemi esterni. Lo scopo di questa funzionalità è duplice: incrementare la sicurezza e semplificare la manutenzione dei Workflow.
Invece di inserire le credenziali (come host, porte, utenti e password) direttamente nella configurazione di ogni singolo Task, l'amministratore definisce una "Connessione" una sola volta a livello globale. Questa connessione, identificata da un nome univoco, incapsula tutti i parametri tecnici necessari per stabilire una sessione con un sistema esterno, come un database o un server SSH.
Creazione e Configurazione di una Connessione
La creazione di una nuova connessione avviene tramite "Aggiungi Connessione". La configurazione richiede la definizione dei seguenti attributi:
- Nome Tipologia: Un menu per selezionare il tipo di sistema a cui la connessione si riferisce (MySQL, SQLServer, Oracle DB, PostgreSQL, MariaDB, SAP HANA, SSH). Questa selezione determina la struttura attesa per i parametri di configurazione.
- Nome: Un nome univoco e descrittivo che identificherà questa connessione all'interno della piattaforma.
- Descrizione: Un campo opzionale per fornire contesto sullo scopo o sull'utilizzo della connessione.
- Configurazione (JSON): Il cuore della configurazione. È un'area di testo dove i parametri tecnici della connessione vengono definiti in formato JSON. La struttura di questo JSON dipende dal Nome Tipologia selezionato. Per esempio, una connessione di tipo mysqlrichiederà chiavi come "db_type", "host", "port", "db_name", "user" e "password".
- Ruoli: Elenco dei ruoli associati alla connessione.
- Attiva: Uno switch per abilitare o disabilitare la connessione. Una connessione non attiva non sarà visibile né utilizzabile all'interno dei Workflow.
Utilizzo delle Connessioni nei Workflow
Una volta che una connessione è stata creata e attivata, essa diventa disponibile per tutti i Task che prevedono un'interazione con sistemi esterni (es. Database, Unix Shell, CSV to Table).
All’interno della configurazione di questi Task è possibile impostare la Modalità di Connessione su Environment. In questa modalità viene reso disponibile un secondo menu (Connessione Environment), che elenca esclusivamente le connessioni preconfigurate, attive e associate al ruolo del Workflow corrente. Le connessioni non compatibili con il ruolo del Workflow non sono visibili né selezionabili.
Selezionando una connessione da questo elenco, il Task erediterà automaticamente tutti i parametri tecnici (host, utente, password, etc.) da essa definiti. L'interfaccia del Task si aggiornerà per mostrare in sola lettura i valori ereditati, garantendo trasparenza all'utente che progetta il Workflow.
Questo meccanismo di astrazione ha due implicazioni di sicurezza fondamentali:
- Nessuna Visibilità delle Credenziali: L'utente che progetta il Workflownon ha mai accesso alla password o ad altri dati sensibili. L'interfaccia del Task mostra i parametri non critici (come host, utente, nome del database) in sola lettura, ma il campo della password rimane protetto e non visibile.
- Separazione dei Compiti: Viene creata una netta separazione tra l'amministratore di sistema (che definisce e gestisce le connessioni sicure) e l'utente del Workflow (che le utilizza senza conoscerne i dettagli).
Questo approccio garantisce che, in caso di aggiornamento di una credenziale, la modifica debba essere apportata in un unico punto sicuro. Tutti i Task in tutti i Workflow che utilizzano quella connessione riceveranno automaticamente i valori aggiornati, eliminando la necessità di modifiche manuali multiple e riducendo drasticamente il rischio di errori o di esposizione di dati sensibili.