Artículo
· 28 mayo, 2025 Lectura de 4 min

Conectar Cloud SQL con DBeaver usando SSL/TLS

Con el lanzamiento de InterSystems IRIS Cloud SQL, recibimos cada vez más preguntas sobre cómo establecer conexiones seguras mediante JDBC y otras tecnologías de drivers. Aunque contamos con una documentación resumida y detallada sobre las tecnologías de los drivers, nuestra documentación no describe herramientas cliente individuales, como nuestra favorita personal, DBeaver. En este artículo, describiremos los pasos para crear una conexión segura desde DBeaver a vuestra implementación de Cloud SQL.

📺 Si preferís ver un vídeo en lugar de leer, echad un vistazo a este video en el que os guiamos por los pasos que se detallan a continuación.

Paso 0: Crear vuestra implementación

Primero, iniciad sesión en el Portal de Servicios en la Nube y cread una implementación de Cloud SQL. Lo único que debéis tener en cuenta es marcar la casilla para habilitar conexiones externas. Por lo demás, los ajustes por defecto deberían funcionar bien.

Paso 1: Instalar el certificado

Para conectar de forma segura, usaremos certificados que cifran todo lo que se envía a través de la red. Podéis descargar el certificado desde la página de detalles de la implementación, pulsando el botón "Obtener certificado X.509".

Luego, necesitáis almacenar este certificado en un almacén de claves confiable usando la utilidad keytool. Esto es una parte estándar de la infraestructura Java, por lo que no es nada específico de IRIS o DBeaver en este punto. Usad el siguiente comando para importar el certificado. La ubicación del archivo certificateSQLaaS.pem no importa después de ejecutar este comando, así que podéis eliminarlo de la carpeta de descargas una vez hecho. La ubicación del archivo keystore.jkssí importa, así que aseguraos de ejecutar el comando desde una carpeta que tenga sentido y esté protegida de desinstalaciones o actualizaciones, como por ejemplo un directorio cert dentro de vuestra carpeta de usuario. El parámetro -alias es opcional, pero útil si tenéis intención de reutilizar el mismo archivo keystore para almacenar varios certificados.

keytool -importcert -file path-to-cert/cert-file.pem -keystore keystore.jks -alias myDeploymentName

Para más detalles, echad un vistazo a la documentación. 

Paso 2: Crear un archivo SSLConfig.properties

A continuación, necesitáis indicarle al driver JDBC de IRIS cómo encontrar este keystore, lo cual se logra mediante un archivo SSLConfig.properties. Este archivo de texto simple debe colocarse en el directorio de trabajo del programa Java que abrirá la conexión JDBC. En Windows, esto es %LOCALAPPDATA%\DBeaver, que corresponde a C:\Users\<usuario>\AppData\Local\DBeaver. En Mac, suele ser /Applications/DBeaverEE.app/Contents/MacOS. Como alternativa, también podéis crear el archivo en otra ubicación y establecer la ruta completa en una variable de entorno llamada com.intersystems.SSLConfigFile.

En su forma más simple, este archivo solo necesita apuntar al keystore e incluir la contraseña. Tened en cuenta que la ruta a vuestro archivo keystore.jks debe estar correctamente escapada para que Java pueda leerla, por lo que en Windows deberéis usar dobles barras invertidas (\).

trustStore=/path/to/keystore/keystore.jks
trustStorePassword=keystore-password

Hay muchas configuraciones adicionales que podéis ajustar a través de este archivo, descritas en la documentación, incluyendo configuraciones con nombre, pero lo anterior es suficiente.

Paso 3: Crear vuestra conexión en DBeaver

Ahora que habéis instalado el certificado y especificado dónde puede encontrarlo el driver JDBC de IRIS, podéis crear vuestra conexión en DBeaver. Todas las configuraciones para la pestaña "principal" en el diálogo de creación de conexión se encuentran en la pantalla de detalles de la implementación, como se mostró arriba:

Lo único que queda por hacer es indicarle a DBeaver que active el cifrado, lo cual se logra configurando el "nivel de seguridad de la conexión" a 10 en la pestaña "Propiedades del controlador".

¡Eso es todo! Si hacéis clic en "Probar conexión", deberíais obtener un visto bueno o un mensaje de error útil. En este último caso, consultad este documento de solución de problemas si no está claro qué debéis cambiar.

Nota para usuarios de Mac

Si usáis Mac, parece que hay un error en DBeaver por el cual lo anterior puede no ser suficiente. La solución es poco convencional, pero funciona. En el campo Database/Schema, donde normalmente pondríais 'USER', debéis introducir esta cadena completa en su lugar:

USER:sslConnection=true;sslTrustStoreLocation=/pathToTruststore/truststore.jks;sslTrustStorePassword=123456;

Consejos por cortesía de @Rick Guidice 

Comentarios (0)1
Inicie sesión o regístrese para continuar