T3.2: Connects to InterSystems IRIS

Knowledge Review - InterSystems IRIS Development Professional

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

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:

  1. Estructura de URL de Conexión JDBC: Comprender el formato jdbc:IRIS://host:port/namespace y parámetros opcionales
  2. IRISDataSource vs DriverManager: Saber cuándo usar IRISDataSource (preferido) versus DriverManager
  3. Niveles de Seguridad de Conexión: Memorizar los valores numéricos (0=Contraseña, 1-3=variantes Kerberos, 10=TLS)
  4. Tipos de DSN ODBC: Distinguir entre Registry DSN, File DSN, y conexiones sin DSN
  5. Requisitos de Configuración TLS: Comprender las tres configuraciones requeridas (Authentication Method=2, Security Level=10, SSL Server Name)
  6. Diferencias de Plataforma: Saber que Windows usa Registry/GUI Administrator, UNIX usa odbc.ini/odbcinst
  7. 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)

Report an Issue