Conexión de aplicaciones Go con una cartera (mTLS)

Puede conectar aplicaciones de Go a la instancia de Autonomous Database con una cartera.

Siga estos temas para conectar la aplicación Go a una instancia de Autonomous Database mediante una cartera (mTLS):

Temas

Descarga de un Archivo de Oracle Wallet

Debe descargar un archivo de Oracle Wallet (mTLS) para obtener credenciales de seguridad de cliente que le permitan conectarse a una instancia de Autonomous Database.

  1. Descargue un archivo de cartera de la instancia de Autonomous Database para obtener un archivo zip que contiene los valores de configuración de red y las credenciales de seguridad del cliente necesarios para acceder a una instancia de Autonomous Database.

    En función de si es un usuario administrador o no, obtenga las credenciales de seguridad del cliente (archivo wallet.zip) de la siguiente manera:

    • Usuario ADMIN: en la consola de Oracle Cloud Infrastructure, haga clic en Conexión a base de datos. Consulte Download Client Credentials (Wallets).

    • Otros usuarios (no administradores): obtenga Oracle Wallet del administrador para su instancia de Autonomous Database.

      Nota

      Proteja el archivo wallet.zip y su contenido para evitar el acceso no autorizado a la base de datos.
  2. Deszip el archivo de credenciales del cliente (wallet.zip).

Ejecución de aplicaciones Go con una cartera (mTLS)

Puede conectar aplicaciones de Go a la instancia de Autonomous Database con una cartera. Debe descargar un archivo de cartera comprimido de la instancia de Autonomous Database que contenga las credenciales de seguridad del cliente.

El controlador godror necesita bibliotecas de cliente de Oracle. Consulte Install Oracle Client Library to use Godror. Las bibliotecas de cliente de Oracle se instalan donde se ejecuta la aplicación Go.

El archivo de cartera está en un formato de archivo zip. Los nombres de servicio de base de datos se pueden encontrar en el archivo tnsnames.ora del archivo zip de cartera. En el ejemplo que se proporciona a continuación, utilizará el nombre del servicio de red mydb_high que se encuentra en el archivo tnsnames.ora.

Se necesitan los tres archivos siguientes del archivo zip de cartera:
  • tnsnames.ora: contiene los nombres de servicio de red utilizados para las cadenas de conexión de aplicaciones y asigna las cadenas a los servicios de base de datos.

  • sqlnet.ora: especifica la configuración del cliente SQLNet.

  • cwallet.sso: contiene la cartera de SSO de apertura automática.

Siga estos pasos para conectar la aplicación Go a una instancia de Autonomous Database mediante una cartera (mTLS):

  1. Ponga los archivos tnsnames.ora, sqlnet.ora y cwallet.sso en el directorio opcional (opt) del sistema Linux. El directorio /opt se utiliza para instalar paquetes de software opcionales o complementarios que no forman parte del sistema operativo principal. Puede colocar los archivos en cualquier lugar del sistema operativo Microsoft Windows. Por ejemplo, el subdirectorio de la unidad C (C:) del sistema operativo Microsoft Windows.

    Puede mover los archivos a cualquier directorio accesible.

    Por ejemplo, en Linux, mueva los archivos al directorio /opt/OracleCloud/MYDB y edite sqlnet.ora para cambiar el directorio de ubicación de cartera al directorio que contiene el archivo cwallet.sso.

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

    WALLET_LOCATION = (SOURCE = (METHOD=file) (METHOD_DATA = (DIRECTORY="/opt/OracleCloud/MYDB")))
    SSL_SERVER_DN_MATCH=yes

    Cuando los archivos de configuración no están en la ubicación por defecto, la aplicación Go debe indicar dónde están con el parámetro config_dir.

    Nota

    Ninguno de estos valores es necesario y no necesita editar sqlnet.ora si coloca todos los archivos de configuración en el directorio network/admin.
  2. En la aplicación Go, defina los siguientes parámetros de conexión para conectarse a la instancia de Autonomous Database:
    • user: especifica el usuario de base de datos en la nube.
    • password: especifica la contraseña del usuario de la base de datos en la nube.
    • config_dir: especifica el directorio de configuración en el que se colocan los archivos tnsnames.ora y sqlnet.ora. Esto es necesario cuando los archivos de configuración se colocan en un directorio fuera del directorio de configuración del cliente instantáneo network/admin.
    • dsn: especifica el alias de red deseado del archivo tnsnames.ora.

    Por ejemplo, para conectarse como usuario ADMIN y el nombre de servicio de red mydb_high (donde el nombre de servicio se encuentra en tnsnames.ora):

    
    dsn := `user="admin"       
          password="password"       
          connectString="mydb_high"             
          configDir="/opt/OracleCloud/MYDB"` 
    db, _ := sql.Open("godror", dsn)
         

    Puede utilizar el código anterior en la aplicación Go para crear una cadena de conexión y conectarse a Autonomous Database.