Configuración de TLS en Azure Cosmos DB for PostgreSQL
SE APLICA A: Azure Cosmos DB for PostgreSQL (con tecnología de la extensión de base de datos de Citus en PostgreSQL)
El nodo de coordinación requiere que las aplicaciones cliente se conecten con el protocolo Seguridad de la capa de transporte (TLS). La exigencia de TLS entre el servidor de base de datos y las aplicaciones cliente ayuda a mantener la confidencialidad de los datos en tránsito. La configuración de comprobación adicional que se describe a continuación también protege frente a ataques de tipo "man in the middle".
Aplicación de conexiones TLS
Las aplicaciones usan una "cadena de conexión" para identificar la base de datos y la configuración de destino de una conexión. Los distintos clientes requieren una configuración diferente. Para ver una lista de las cadenas de conexión que usan los clientes comunes, consulte la sección Cadenas de conexión para su clúster en Azure Portal.
Los parámetros de TLS ssl
y sslmode
varían en función de las capacidades del conector; por ejemplo: ssl=true
o sslmode=require
o sslmode=required
.
Comprobación de que la aplicación o el marco de trabajo admiten conexiones TLS
Algunos marcos de trabajo de la aplicación no habilitan TLS de forma predeterminada para las conexiones de PostgreSQL. Sin embargo, sin una conexión segura, una aplicación no se puede conectar al nodo de coordinación. Consulte la documentación de la aplicación para aprender a habilitar las conexiones TLS.
Aplicaciones que requieren la verificación del certificado para la conectividad TLS
En algunos casos, las aplicaciones requieren un archivo de certificado local generado a partir de un archivo de certificado (.cer) de una entidad de certificación (CA) de confianza para conectarse de forma segura. El certificado para conectarse a una instancia de Azure Cosmos DB for PostgreSQL se encuentra en https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem. Descargue el archivo de certificado y guárdelo en la ubicación que prefiera.
Nota
Para comprobar la autenticidad del certificado, puede verificar su huella digital SHA-256 mediante la herramienta de línea de comandos 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
Conexión mediante psql
En el ejemplo siguiente se muestra cómo conectarse a su nodo de coordinación mediante la utilidad de línea de comandos psql. Use la configuración de la cadena de conexión sslmode=verify-full
para aplicar la comprobación del certificado TLS. Pase la ruta de acceso al archivo del certificado local al parámetro sslrootcert
.
Luego aparece un ejemplo de la cadena de conexión psql:
psql "sslmode=verify-full sslrootcert=DigiCertGlobalRootG2.crt.pem host=c-mydemocluster.12345678901234.postgres.cosmos.azure.com dbname=citus user=citus password=your_pass"
Sugerencia
Confirme que el valor pasado a sslrootcert
coincide con la ruta de acceso al archivo del certificado que guardó.
Nota:
Para la contraseña, use la contraseña de conexión o el token de id. de Microsoft Entra. Para obtener más información, consulte opciones de autenticación.
Pasos siguientes
Aumente aún más la seguridad con las reglas de firewall en Azure Cosmos DB for PostgreSQL.