Configurare TLS in Azure Cosmos DB per PostgreSQL
SI APPLICA A: Azure Cosmos DB per PostgreSQL (basato sull'estensione del database Citus su PostgreSQL)
Il nodo coordinatore richiede alle applicazioni client di connettersi con Transport Layer Security (TLS). L'applicazione di TLS tra il server di database e le applicazioni client consente di mantenere i dati riservati in transito. Impostazioni di verifica aggiuntive descritte di seguito proteggono anche dagli attacchi "man-in-the-middle".
Applicazione delle connessioni TLS
Le applicazioni usano una "stringa di connessione" per identificare il database di destinazione e le impostazioni per una connessione. I diversi client richiedono impostazioni diverse. Per visualizzare un elenco di stringhe di connessione usate dai client comuni, consultare la sezione Stringhe di connessione per il cluster nel portale di Azure.
I parametri ssl
TLS e sslmode
variano in base alle funzionalità del connettore, ad esempio ssl=true
o sslmode=require
sslmode=required
.
Verificare che l'applicazione o il framework supporti le connessioni TLS
Alcuni framework dell'applicazione non abilitano TLS per impostazione predefinita per le connessioni PostgreSQL. Tuttavia, senza una connessione sicura, un'applicazione non può connettersi al nodo coordinatore. Consultare la documentazione dell'applicazione per informazioni su come abilitare le connessioni TLS.
Applicazioni che richiedono la verifica del certificato per la connettività TLS
In alcuni casi, le applicazioni richiedono un file del certificato locale generato da un file di certificato (.cer) dell'autorità di certificazione (CA) attendibile per connettersi in modo sicuro. Il certificato da connettere a un azure Cosmos DB per PostgreSQL si trova in https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem. Scaricare il file di certificato e salvarlo nel percorso preferito.
Nota
Per verificare l'autenticità del certificato, è possibile verificare la relativa impronta digitale SHA-256 usando lo strumento della riga di comando OpenSSL:
openssl x509 -in DigiCertGlobalRootG2.crt.pem -noout -sha256 -fingerprint
# should output:
# CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F
Connettersi con psql
Nell'esempio seguente viene illustrato come connettersi al nodo coordinatore usando l'utilità da riga di comando psql. Usare l'impostazione stringa di connessione per applicare la sslmode=verify-full
verifica del certificato TLS. Passare il percorso del file di certificato locale al sslrootcert
parametro.
Di seguito è riportato un esempio della stringa di connessione psql:
psql "sslmode=verify-full sslrootcert=DigiCertGlobalRootG2.crt.pem host=c-mydemocluster.12345678901234.postgres.cosmos.azure.com dbname=citus user=citus password=your_pass"
Suggerimento
Verificare che il valore passato a sslrootcert
corrisponda al percorso del file per il certificato salvato.
Passaggi successivi
Aumentare ulteriormente la sicurezza con le regole del firewall in Azure Cosmos DB per PostgreSQL.