Conexión de aplicaciones Go sin una cartera (TLS) mediante TLS

Puede conectar las aplicaciones Go a su instancia de Autonomous AI Database sin una cartera mediante TLS.

La conexión de una aplicación Go sin cartera (TLS) proporciona seguridad para la autenticación y el cifrado, y la seguridad se aplica mediante credenciales de cliente (al proporcionar un nombre de usuario y una contraseña).

Temas

Activación de TLS en Autonomous AI Database y obtención de cadena de conexión

Para ejecutar una aplicación Go sin una cartera mediante TLS, active la instancia de base de datos de IA autónoma para conexiones TLS y obtenga una cadena de conexión para ponerse en contacto con la base de datos desde la aplicación Go.

  1. Determine si la instancia de Autonomous AI Database está activada para las conexiones TLS.

    Si la instancia está activada para conexiones TLS, en el área Red de la consola, el campo Autenticación TLS mutua (mTLS) muestra: No necesario:

    Descripción de adb_mutual_tls_not_required.png a continuación
    Descripción de la ilustración adb_mutual_tls_not_required.png

    Si la instancia requiere autenticación TLS mutua, permita conexiones TLS en la instancia de Autonomous AI Database. Consulte Actualización de su instancia de base de datos de IA autónoma para permitir tanto autenticación TLS y mTLS para obtener más información.

  2. Obtenga una cadena de conexión de Autonomous AI Database Service para acceder a la base de datos de la siguiente manera:
    1. En la consola de Oracle Cloud Infrastructure, haga clic en Conexión de base de datos.
    2. Seleccione TLS en el cuadro de diálogo Conexión a base de datos, en Cadenas de conexión, en la lista desplegable Autenticación TLS.
      Nota

      Debe seleccionar TLS en la lista desplegable Autenticación TLS para obtener las cadenas de conexión TLS antes de copiar una cadena de conexión (cuando el valor es TLS mutua, las cadenas de conexión tienen valores diferentes y no funcionan con conexiones TLS).
    3. Copie la cadena de conexión para el servicio de base de datos que desea utilizar con la aplicación.

Ejecución de la aplicación Go sin una cartera mediante TLS

En la siguiente sección se describen los pasos para ejecutar una aplicación Go en una instancia de Autonomous AI Database.

  1. Obtenga la cadena de conexión, como se describe en Activar TLS en la base de datos de IA autónoma y obtener la cadena de conexión.
  2. En la aplicación Go, defina los siguientes parámetros para conectarse a una instancia de Autonomous AI Database:
    • password: especifica la contraseña de usuario de la base de datos.
    • user: especifica el usuario de la base de datos.
    • libDir: directorio único en el que descomprimir el paquete zip de Oracle Instant Client.
    • connectString: utilice la cadena de conexión que ha obtenido del paso anterior para conectarse mediante el nombre de servicio de base de datos deseado.

    Para ejecutar una aplicación Go mediante el controlador godror, primero debe importar el paquete godror.

    A continuación se muestra un código de ejemplo en la aplicación Go que permite conectarse a una base de datos de IA autónoma:

    package main
    
    import (
        "database/sql"
        "fmt"
    
        _ "github.com/godror/godror"
    )
    
    func main() {
        connectToADb()
    }
    
    func connectToADb() {
        fmt.Println("Connecting to Oracle Autonomous AI Database !!!")
        db, err := sql.Open("godror", `user="admin" password="password" 
        connectString="tcps://adb.ap-mumbai-1.oraclecloud.com:1522/abcd_xxxx_medium.adb.oraclecloud.com?wallet_location=/Users/user/tool/wallet_DB/"
        libDir="/home/user/tool/instantclient_19_8/"`)
        if err != nil {
            fmt.Println(err)
            return
        }
        defer db.Close()
    
        rows, err := db.Query("select 'hello' from dual")
        if err != nil {
            fmt.Println("Error running query")
            fmt.Println(err)
            return
        }
        defer rows.Close()
    
        var resData string
        for rows.Next() {
    
            rows.Scan(&resData)
        }
        fmt.Printf("The response is: %s\n", resData)
    }
    

    Este código devolverá registros recuperados de la base de datos de IA autónoma.