1. Configura conexiones JDBC seguras
Puntos Clave
- Formato de URL de conexión: jdbc:IRIS://host:port/namespace con parámetros de seguridad opcionales
- Método IRISDataSource: Enfoque preferido usando com.intersystems.jdbc.IRISDataSource
- Niveles de seguridad de conexión: 0=Contraseña, 1=Kerberos, 2=Kerberos+Integridad, 3=Kerberos+Encriptación, 10=TLS
- Configuración TLS: Establecer ssl=true en URL o connectionSecurityLevel=10 en DataSource
- Opciones de autenticación: Nombre de usuario/contraseña, Kerberos, o tokens de acceso OAuth
Notas Detalladas
Resumen
InterSystems IRIS proporciona conectividad JDBC robusta a través del driver JDBC InterSystems, que soporta métodos de conexión tanto estándar como seguros. La URL de conexión JDBC básica sigue el formato jdbc:IRIS://host:port/namespace, donde host es la dirección IP o FQDN, port es el puerto SuperServer (predeterminado 1972), y namespace es el namespace IRIS destino.
Método IRISDataSource (Preferido)
- Clase: com.intersystems.jdbc.IRISDataSource proporciona control completo sobre parámetros de conexión
- Métodos Clave: setServerName(), setPortNumber(), setDatabaseName(), setUser(), setPassword()
- Nivel de Seguridad: setConnectionSecurityLevel() acepta valores de 0 a 10
Niveles de Seguridad de Conexión
- Nivel 0: Autenticación básica de contraseña
- Niveles 1-3: Modos de autenticación Kerberos (autenticación solo, con integridad de paquete, o con encriptación)
- Nivel 10: Encriptación TLS/SSL para la conexión entera
Configuración TLS
- Parámetro URL: Incluir ssl=true en la URL de conexión
- Método DataSource: Llamar setConnectionSecurityLevel(10)
- Requisitos de Certificado: Aplicación cliente debe tener acceso a archivos de certificado apropiados y trust stores
- Keystores Java: El driver JDBC soporta configuraciones de keystore y truststore Java estándar a través de propiedades de sistema o parámetros de conexión
- Control de Validación: Usar propiedad sslServerName para controlar comportamiento de validación de certificado
Métodos de Conexión Alternativos
- DriverManager: Usar con un objeto Properties conteniendo parámetros de conexión
- Formato URL: jdbc:IRIS://host:port/namespace/logfile:eventclass:nodelay:ssl para especificar opciones de seguridad directamente
Mejores Prácticas
- Credenciales: Nunca codificar credenciales en código fuente
- Connection Pooling: Usar IRISConnectionPoolDataSource para conexiones agrupadas
- Statement Pooling: Habilitar para rendimiento
- Manejo de Excepción: Implementar manejo apropiado para fallos de conexión
- Nivel de Seguridad: Siempre usar el nivel de seguridad apropiado más alto
- Validación de Certificado: Validar certificados de servidor en producción
- Rotación de Credenciales: Implementar políticas de rotación
Referencias de Documentación
2. Configura conexiones ODBC seguras
Puntos Clave
- Configuración DSN: Usar ODBC Data Source Administrator (Windows) o archivos odbc.ini (UNIX)
- Métodos de conexión: Registry DSN, File DSN, o cadenas de conexión sin DSN
- Niveles de seguridad: Contraseña, Contraseña con SSL/TLS, o autenticación Kerberos
- Configuración TLS: Requiere Authentication Method=2, Security Level=10, y archivo de configuración SSL
- Diferencias de plataforma: Windows usa Registry, UNIX usa archivos de inicialización y utilidad odbcinst
Notas Detalladas
Resumen
Conectividad ODBC de InterSystems IRIS soporta estándares ODBC 3.5 y proporciona opciones de configuración flexibles para plataformas Windows y UNIX. Conexiones ODBC requieren configurar un Data Source Name (DSN) que contiene detalles de conexión incluyendo la ubicación del servidor, puerto, namespace, y credenciales de autenticación.
Configuración Específica de Plataforma
- Windows: DSNs almacenados en Windows Registry bajo HKLM\SOFTWARE\ODBC, creados usando utilidad ODBC Data Source Administrator
- UNIX: DSNs definidos en archivos de inicialización (comúnmente odbc.ini), registrados usando utilidad de línea de comando odbcinst
- Gestores de Driver: InterSystems soporta tanto iODBC como unixODBC en plataformas UNIX
Arquitectura de Conexión ODBC
- Aplicación Cliente: Hace llamadas API ODBC
- ODBC Driver Manager: Enruta llamadas al driver apropiado
- InterSystems ODBC Client Driver: Comunica con el servidor IRIS
- Base de Datos IRIS: Procesa las solicitudes
Métodos de Conexión
- DSN Estándar: Almacenado en registro o archivo de inicialización
- File DSN: Almacenado como archivo de texto con extensión .dsn
- Sin DSN: Cadena de conexión embebiendo todos los parámetros directamente en llamadas SQLDriverConnect
Opciones de Autenticación
- Contraseña: Autenticación básica de nombre de usuario/contraseña
- Contraseña con SSL/TLS: Conexión encriptada
- Kerberos: Opciones de autenticación solo, integridad de paquete, o encriptación completa
Requisitos de Configuración TLS
Para conexiones habilitadas con TLS, tres parámetros críticos deben configurarse:
- Authentication Method: Debe establecerse a 2
- Security Level: Debe establecerse a 10
- SSL Server Name: Debe referenciar una configuración nombrada en el archivo de configuración TLS
Archivos de Configuración TLS UNIX
- odbc.ini: Entrada DSN especificando parámetros TLS
- odbcssl.ini: Define configuración TLS actual (ruta especificada en variable de entorno ISC_SSLconfigurations)
Configuraciones TLS Clave
- CAFile: Certificados de autoridad certificadora para verificación de servidor
- CertFile: Certificado de cliente
- KeyFile: Clave privada de cliente
- Protocols: Versiones TLS soportadas
- VerifyPeer: Habilitar/deshabilitar verificación de certificado
Consideraciones de Seguridad
- Almacenamiento de Contraseña: Nunca almacenar contraseñas en texto plano en configuraciones DSN
- Validación de Certificado: Usar validación de certificado apropiada
- Kerberos: Implementar cuando autenticación de dominio está disponible
- Versiones TLS: Asegurar que versiones de protocolo cumplan políticas de seguridad organizacionales
- Alternativa OAuth: Cadenas de conexión pueden incluir parámetro ACCESSTOKEN en lugar de nombre de usuario/contraseña
Resumen de Preparación para el Examen
Conceptos Críticos a Dominar:
- Estructura de URL de Conexión JDBC: Comprender el formato jdbc:IRIS://host:port/namespace y parámetros opcionales
- IRISDataSource vs DriverManager: Saber cuándo usar IRISDataSource (preferido) versus DriverManager
- Niveles de Seguridad de Conexión: Memorizar los valores numéricos (0=Contraseña, 1-3=variantes Kerberos, 10=TLS)
- Tipos de DSN ODBC: Distinguir entre Registry DSN, File DSN, y conexiones sin DSN
- Requisitos de Configuración TLS: Comprender las tres configuraciones requeridas (Authentication Method=2, Security Level=10, SSL Server Name)
- Diferencias de Plataforma: Saber que Windows usa Registry/GUI Administrator, UNIX usa odbc.ini/odbcinst
- Mejores Prácticas de Seguridad: Nunca almacenar contraseñas en texto plano, usar validación de certificado apropiada
Escenarios Comunes de Examen:
- Configurar una conexión JDBC segura usando IRISDataSource con TLS
- Crear un DSN ODBC en Windows usando el Data Source Administrator
- Configurar conexiones ODBC habilitadas con TLS en UNIX con configuración odbcssl.ini
- Solucionar problemas de fallo de conexión relacionados con configuraciones incorrectas de nivel de seguridad
- Convertir entre enfoques de conexión ODBC con DSN y sin DSN
- Implementar autenticación Kerberos para entornos empresariales
- Usar tokens de acceso OAuth en cadenas de conexión ODBC
Recomendaciones de Práctica Práctica:
- Crear conexiones JDBC usando métodos IRISDataSource y DriverManager
- Configurar DSNs ODBC en plataformas Windows y UNIX
- Configurar conexiones habilitadas con TLS para JDBC y ODBC
- Practicar escribir cadenas de conexión para conexiones ODBC sin DSN
- Probar diferentes niveles de seguridad de conexión y observar comportamiento de autenticación
- Configurar autenticación Kerberos con Service Principal Names
- Implementar connection pooling con IRISConnectionPoolDataSource
- Revisar archivos de certificado y parámetros de configuración TLS
- Usar botones Test Connection en ODBC Administrator para validar configuraciones
- Practicar lectura de mensajes de error de conexión JDBC y ODBC para solución de problemas
Diferencias Clave Entre JDBC y ODBC:
- Configuración: JDBC usa configuración programática o parámetros URL; ODBC usa archivos DSN/registro
- Configuración de Seguridad: JDBC establece propiedad connectionSecurityLevel; ODBC usa campos Authentication Method + Security Level
- Herramientas de Plataforma: JDBC es específico de Java con herramientas consistentes; ODBC tiene herramientas específicas de plataforma (Administrator vs odbcinst)
- Archivos TLS: JDBC usa keystores Java; ODBC usa configuración odbcssl.ini con archivos de certificado separados
- Connection Pooling: JDBC usa IRISConnectionPoolDataSource; pooling de conexión ODBC gestionado por driver manager
Referencia Rápida de Nivel de Seguridad de Conexión:
Parámetros de Conexión Esenciales:
- host/ServerName: Dirección IP o FQDN
- port/PortNumber: Puerto SuperServer (predeterminado 1972)
- namespace/DatabaseName: Namespace destino
- user/User: Nombre de usuario (predeterminado _SYSTEM)
- password/Password: Contraseña de usuario
- connectionSecurityLevel: Modo de seguridad (0-10)
- Host IP Address: Ubicación de servidor
- Host Port Number: Puerto SuperServer
- Namespace: Namespace destino
- User Name: Nombre de usuario
- Password: Contraseña de usuario
- Authentication Method: Tipo de seguridad
- Security Level: Nivel de encriptación
- SSL Server Name: Referencia de configuración TLS (para modo TLS)