Preparación para conexiones OCI de Oracle Call Interface, ODBC y JDBC con carteras (mTLS)

La preparación para cualquier tipo de conexión de Oracle Call Interface (OCI) con autenticación mTLS requiere la instalación de software de cliente, la descarga de credenciales de cliente y la configuración de determinados archivos y variables de entorno.

En este tema se tratan los pasos para preparar una aplicación para conectarse mediante la autenticación mTLS con una cartera que se descarga desde una instancia de Autonomous Database. Consulte Preparación para conexiones OCI de Oracle Call Interface, ODBC y JDBC mediante autenticación TLS para obtener información sobre los pasos para preparar la autenticación TLS con estos tipos de conexión.

Nueva instalación de Oracle Client

En los siguientes pasos, se asume que el software de cliente de Oracle no se ha instalado aún en la computadora cliente. Si el software de cliente de Oracle ya se ha instalado y hay copias de trabajo de sqlnet.ora y tnsnames.ora, consulte Updating an Existing Oracle Client Installation.

Antes de realizar una conexión de Oracle Call Interface (OCI), ODBC o JDBC OCI, realice lo siguiente:

  1. Instale el software del cliente de Oracle en la computadora.

    • Oracle Instant Client/Oracle Database Client: 18.19 (o posterior), 19.2 (o posterior) o 21 (versión base o posterior). Instant Client contiene el software mínimo necesario para realizar una conexión a Oracle Call Interface.

  2. Descargue las credenciales del cliente y almacene el archivo en una carpeta segura en su equipo cliente. Consulte Descarga de credenciales de cliente (carteras).

  3. Descomprima/descomprima el archivo de credenciales en una carpeta segura en su equipo cliente.

  4. Edite el archivo sqlnet.ora en la carpeta donde descomprima el archivo de credenciales y sustituya "?/network/admin" por el nombre de la carpeta que contiene las credenciales de cliente.

    Por ejemplo, edite sqlnet.ora de la siguiente manera:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin")))
    SSL_SERVER_DN_MATCH=yes

    El valor cambiado en UNIX/Linux es:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adb_credentials")))
    SSL_SERVER_DN_MATCH=yes
    

    El valor cambiado para Windows es:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="D:\\myapp\\adb_credentials")))
    SSL_SERVER_DN_MATCH=yes
    
  5. Cree la variable de entorno TNS_ADMIN y defínala en la ubicación del archivo de credenciales.

    Utilice esta variable de entorno para cambiar la ruta de acceso del directorio de los archivos de configuración de Oracle Net Services de la ubicación por defecto de ORACLE_HOME\network\admin a la ubicación de la carpeta segura que contiene el archivo de credenciales que ha guardado en el paso 2. Defina la variable de entorno TNS_ADMIN en el directorio donde se encuentran los archivos de credenciales descomprimidas, no en el propio archivo de credenciales.

    Por ejemplo, en UNIX/Linux, defina TNS_ADMIN en la ruta de acceso completa del directorio donde descomprimió las credenciales de cliente:

    export TNS_ADMIN=/home/adb_credentials

    Por ejemplo en Windows:

    set TNS_ADMIN=d:\myapp\adb_credentials

Conexiones con un proxy HTTP

Si el cliente está detrás de un firewall y la configuración de red requiere un proxy HTTP para conectarse a Internet, realice los siguientes pasos para actualizar los archivos sqlnet.ora y tnsnames.ora. Las conexiones mediante un proxy HTTP solo están disponibles con la versión de software del cliente de Oracle 12.2.0.1 o posterior.

Nota

Para evitar actualizaciones manuales en los archivos sqlnet.ora y tnsnames.ora, puede utilizar SQLcl y especificar el proxy HTTP en la línea de comandos. Consulte Conexión de Oracle SQLcl Cloud con una cartera (mTLS) para obtener más información.
  1. Agregue la siguiente línea al archivo sqlnet.ora para activar las conexiones mediante un proxy HTTP:

    SQLNET.USE_HTTPS_PROXY=on
  2. Agregue el puerto y el nombre de host del proxy HTTP a las definiciones de conexión en tnsnames.ora. Debe agregar los parámetros https_proxy y https_proxy_port en la sección de direcciones de las definiciones de conexión. Por ejemplo, lo siguiente define el proxy HTTP en proxyhostname y el puerto de proxy HTTP en 80; sustituya estos valores por la información de proxy HTTP:

    ADB1_high =
           (description=
                 (address=
                       (https_proxy=proxyhostname)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adb.example.oraclecloud.com)
                 )
                 (connect_data=(service_name=adb1_high.adb.oraclecloud.com)
                 )
                 (security=(ssl_server_dn_match=yes))
                 )
           )

Nota

Puede que la configuración de sqlnet.ora y tnsnames.ora para el proxy HTTP no sea suficiente, dependiendo de la configuración de red y la política de seguridad. Por ejemplo, algunas redes necesitan un username y un password para el proxy HTTP. En estos casos, Póngase en contacto con la administración de red para abrir conexiones salientes a hosts en el dominio oraclecloud.com utilizando el puerto 1522 sin pasar por un proxy HTTP.

Para obtener más información sobre SQLNET.USE_HTTPS_PROXY, consulte Referencia de servicios netos.

Para obtener información sobre HTTPS_PROXY y HTTPS_PROXY_PORT, consulte Sección de dirección de protocolo.

Actualización de una Instalación de Cliente de Oracle Existente

Si ya tiene una instalación de cliente de Oracle, ya tiene archivos sqlnet.ora y tnsnames.ora y la variable de entorno TNS_ADMIN. En este caso, haga lo siguiente:

  1. Actualice el archivo sqlnet.ora agregando lo siguiente:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adb_credentials")))
  2. Copie las entradas del archivo tnsnames.ora proporcionado en la cartera de Autonomous Database en el archivo tnsnames.ora existente.