Connetti applicazioni Go senza wallet (TLS) mediante TLS

È possibile connettere le applicazioni Go all'istanza di Autonomous Database senza un wallet utilizzando TLS.

La connessione di un'applicazione Go senza wallet (TLS) garantisce la sicurezza per l'autenticazione e la cifratura e la sicurezza viene applicata utilizzando le credenziali client (fornendo un nome utente e una password).

Temi

Abilita TLS su Autonomous Database e ottieni stringa di connessione

Per eseguire un'applicazione Go senza un wallet utilizzando TLS, abilitare l'istanza di Autonomous Database per le connessioni TLS e ottenere una stringa di connessione per contattare il database dall'applicazione Go.

  1. Determinare se l'istanza di Autonomous Database è abilitata per le connessioni TLS.

    Se l'istanza è abilitata per le connessioni TLS, nell'area Network della console il campo Autenticazione TLS reciproca (mTLS) mostra: Not Required:

    Segue la descrizione di adb_mutual_tls_not_required.png
    Descrizione dell'immagine adb_mutual_tls_not_required.png

    Se l'istanza richiede l'autenticazione TLS reciproca, consenti connessioni TLS nell'istanza di Autonomous Database. Per i dettagli, consulta la sezione relativa all'aggiornamento dell'istanza di Autonomous Database per consentire l'autenticazione TLS e mTLS.

  2. Ottenere una stringa di connessione al servizio Autonomous Database per accedere al database come indicato di seguito.
    1. Nella console di Oracle Cloud Infrastructure, fare clic sulla connessione al database.
    2. Selezionare TLS nella finestra di dialogo Connessione al database, nella sezione Stringhe di connessione, nell'elenco a discesa Autenticazione TLS.
      Nota

      È necessario selezionare TLS nell'elenco a discesa Autenticazione TLS per ottenere le stringhe di connessione TLS prima di copiare una stringa di connessione (se il valore è TLS reciproco, le stringhe di connessione hanno valori diversi e non funzionano con le connessioni TLS).
    3. Copiare la stringa di connessione per il servizio di database che si desidera utilizzare con l'applicazione.

Esegui applicazione Go senza wallet con TLS

Nella sezione seguente vengono descritti i passi per eseguire un'applicazione Go su un'istanza di Autonomous Database.

  1. Ottenere la stringa di connessione, come descritto in Abilita TLS su Autonomous Database e ottieni la stringa di connessione.
  2. Nell'applicazione Go, impostare i parametri riportati di seguito per connettersi a un'istanza di Autonomous Database.
    • password: specifica la password utente del database.
    • user: specifica l'utente del database.
    • libDir: directory singola in cui decomprimere il package zip di Oracle Instant Client.
    • connectString: utilizzare la stringa di connessione ottenuta dal passo precedente per connettersi utilizzando il nome del servizio di database desiderato.

    Per eseguire un'applicazione Go utilizzando il driver godror, è innanzitutto necessario importare il package godror.

    Di seguito è riportato un codice di esempio nell'applicazione Go che consente di connettersi a un Autonomous Database.

    package main
    
    import (
        "database/sql"
        "fmt"
    
        _ "github.com/godror/godror"
    )
    
    func main() {
        connectToADb()
    }
    
    func connectToADb() {
        fmt.Println("Connecting to Oracle Autonomous 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)
    }
    

    Questo codice restituirà i record recuperati da Autonomous Database.