Connessioni dirette
Collega direttamente i database cloud su TLS: quando usarla, protezioni di rete, allow-list e credenziali.
Una connessione diretta permette a Prynt Cloud di aprire da solo la connessione al tuo database, via Internet e sempre su TLS. È pensata per i database cloud gestiti che sono già raggiungibili da Internet in modo protetto. I database in una rete privata si collegano invece tramite il Prynt Gateway.
Quando usare una connessione diretta
Direttadatabase in cloud- Oracle o PostgreSQL gestiti in un cloud pubblico, con un nome DNS pubblico, TLS e regole di rete che controlli tu. Niente da installare.
Gatewayrete privata- Database on-premise, reti cloud private, VPN: il tipico ERP. Solo in uscita, credenziali sigillate per il gateway. Consigliato ogni volta che è possibile.
La modalità si sceglie per connessione, quindi la stessa sorgente dati può usare un gateway in un ambiente e una connessione diretta in un altro.
Configurare la connessione
Apri la sorgente dati, scegli Configura su un ambiente e seleziona Connessione diretta. Poi inserisci:
- Host: il nome DNS pubblico del database. Gli indirizzi privati e locali sono rifiutati (vedi sotto).
- Porta: la porta del listener. Sono ammesse 1521–1526, 2483 e 2484 per Oracle; 5432–5435 e 6432 per PostgreSQL.
- Service name (Oracle) o Database (PostgreSQL), Utente e Password di un utente in sola lettura.
- TLS e, in Avanzate, il timeout di connessione (predefinito 15 s), il timeout delle query dell'esploratore e dell'apertura della sessione (predefinito 30 s; i dataset hanno un timeout proprio) e il numero massimo di connessioni nel pool (predefinito 20).
Salva la connessione la salva e la prova subito (permesso sql.execute): vedi la latenza, la versione del server e l'utente effettivo, oppure l'errore, con gli avvisi su TLS e privilegi.
TLS
Le connessioni dirette devono usare TLS: una connessione con TLS disattivato viene rifiutata con DATA_SOURCE_TLS_REQUIRED. Scegli la modalità nella connessione:
verify-fullconsigliata- Cifrata; il certificato del server deve essere firmato da un'autorità fidata e corrispondere al nome dell'host. La predefinita.
verify-camodalità- Cifrata; il certificato deve essere firmato da un'autorità fidata, il nome dell'host non viene controllato.
requiremodalità- Cifrata, ma il certificato non viene verificato: esposta a chi si spaccia per il server. Prynt lo segnala.
Per Oracle, TLS significa un listener TCPS. Prynt si collega senza wallet: il certificato del server deve essere considerato attendibile dall'archivio dei certificati del sistema operativo che si collega (per una connessione diretta, i server di Prynt: in pratica, un certificato di un'autorità pubblica). Con verify-full viene controllato anche il DN del server, e puoi indicare il DN del certificato del server atteso. Certificati client (TLS reciproco) e wallet non sono supportati. Per PostgreSQL le modalità corrispondono a sslmode. Vedi Oracle e PostgreSQL.
Protezioni di rete
Prynt controlla ogni connessione diretta prima di aprirla, così una connessione non può servire a raggiungere la rete di Prynt o indirizzi privati (server-side request forgery):
- Il nome dell'host viene risolto e si controllano tutti gli indirizzi a cui corrisponde, non solo il nome. Gli intervalli privati (
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,fc00::/7), loopback, link-local, CGNAT (100.64.0.0/10), multicast, di documentazione e gli altri riservati sono rifiutati, e così le reti della piattaforma. Basta un indirizzo rifiutato tra tanti per rifiutare l'host. - La porta deve essere una di quelle ammesse per il tipo di database.
- Le connessioni nel pool vengono ricontrollate ogni 60 secondi, così un record DNS cambiato dopo verso un indirizzo privato (DNS rebinding) viene intercettato.
Un host rifiutato non è un errore del prodotto
DATA_SOURCE_HOST_NOT_ALLOWED significa che il database è in una rete privata o speciale. È esattamente il caso del Gateway: installane uno accanto al database.Consentire l'accesso a Prynt
Un database esposto a Internet dovrebbe accettare connessioni solo da indirizzi noti. Prynt non pubblica ancora un elenco di indirizzi IP fissi in uscita. Finché non lo fa, non puoi limitare un firewall cloud a Prynt solo per indirizzo: contattaci per l'indirizzo in uscita del tuo ambiente, oppure usa il Gateway, che non ha bisogno di alcuna regola in ingresso e funziona con il database che resta privato.
Credenziali
- La password si scrive soltanto: dopo il salvataggio vedi Password salvata con Sostituisci; non viene mai rimandata a un browser né restituita da un'API.
- È cifrata a riposo con envelope encryption: AES-256-GCM con una chiave dati per organizzazione, a sua volta protetta da una master key (o da una chiave in Azure Key Vault). La cifratura è legata all'organizzazione e al segreto, quindi un valore non può essere spostato su un altro record.
- Ogni query gira in sola lettura, con timeout e limiti di righe, ed è tracciata. Usa comunque un utente del database dedicato in sola lettura: Prynt avvisa quando l'utente può scrivere o ha privilegi di amministrazione.
Errori
DATA_SOURCE_HOST_NOT_ALLOWED422- L'host corrisponde a un indirizzo privato, locale o riservato, oppure la porta non è ammessa per il tipo di database. Usa un gateway.
DATA_SOURCE_TLS_REQUIRED422- TLS è disattivato. Scegli verify-full (oppure verify-ca / require).
DATA_SOURCE_NOT_CONFIGURED422- La sorgente dati non ha una connessione per l'ambiente richiesto.
DATA_SOURCE_UNAVAILABLE503- API di generazione: il database ora non è raggiungibile (rete, listener, credenziali rifiutate).