Preparación para conexiones de Oracle Call Interface, ODBC y JDBC OCI 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 del software del cliente, la descarga de credenciales del 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 descargue de una instancia de Autonomous Database. Consulte Preparación para conexiones de OCI de Oracle Call Interface, ODBC y JDBC mediante autenticación TLS para obtener información sobre los pasos necesarios 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 Oracle Client aún no se ha instalado en la computadora cliente. Si el software de Oracle Client ya se ha instalado y hay copias de sqlnet.ora y tnsnames.ora en funcionamiento, consulte Actualización de una instalación existente de Oracle Client.

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

  1. Instale el software de Oracle Client 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 de Oracle Call Interface.

  2. Descargar las credenciales del cliente y almacenar el archivo en una carpeta segura de la computadora cliente. Consulte Download Client Credentials (Wallets).

  3. Descomprima el archivo de credenciales en una carpeta segura de la computadora cliente.

  4. Editar el archivo sqlnet.ora de la carpeta en la que descomprime el archivo de credenciales, reemplazando "?/network/admin" por el nombre de la carpeta que contiene las credenciales del 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. Crear la variable de entorno TNS_ADMIN y definirla en la ubicación del archivo de credenciales.

    Utilice esta variable de entorno para cambiar la ruta 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 guardado en el paso 2. Defina la variable de entorno TNS_ADMIN en el directorio en el que se encuentran los archivos de credenciales descomprimidos, no en el propio archivo de credenciales.

    Por ejemplo, en UNIX/Linux, defina TNS_ADMIN en la ruta completa del directorio donde haya descomprimido las credenciales del 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á protegido por 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 de 12.2.0.1 o posterior de Oracle Client.

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 nombre de host y el puerto 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, con lo siguiente se 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

La configuración de sqlnet.ora y tnsnames.ora para el proxy HTTP puede no ser suficiente, dependiendo de la configuración de red y las políticas de seguridad de su organización. Por ejemplo, algunas redes necesitan valores username y password para el proxy HTTP. En estos casos, póngase en contacto con el administrador de red para abrir conexiones salientes a hosts en el dominio oraclecloud.com mediante el puerto 1522 sin pasar por un proxy HTTP.

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

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

Actualización de una instalación existente de Oracle Client

Si tiene una instalación de cliente de Oracle existente, ya tiene los 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.