Go-Anwendungen ohne Wallet (TLS) mit TLS verbinden

Sie können Go-Anwendungen ohne Wallet mit TLS mit Ihrer autonomen KI-Datenbankinstanz verbinden.

Das Verbinden einer Go-Anwendung ohne Wallet (TLS) bietet Sicherheit für Authentifizierung und Verschlüsselung, und die Sicherheit wird mit Clientzugangsdaten (durch Angabe eines Benutzernamens und Kennworts) durchgesetzt.

Themen

TLS in autonomen KI-Datenbank aktivieren und Verbindungszeichenfolge abrufen

Um eine Go-Anwendung ohne ein Wallet mit TLS auszuführen, aktivieren Sie die Autonomous AI Database-Instanz für TLS-Verbindungen, und rufen Sie eine Verbindungszeichenfolge ab, um die Datenbank über die Go-Anwendung zu kontaktieren.

  1. Prüfen Sie, ob die Autonomous AI Database-Instanz für TLS-Verbindungen aktiviert ist.

    Wenn die Instanz für TLS-Verbindungen aktiviert ist, zeigt das Feld Mutual TLS-(mTLS-)Authentifizierung in der Konsole im Bereich Netzwerk Folgendes an: Nicht erforderlich:

    Beschreibung von adb_mutual_tls_not_required.png folgt
    Beschreibung der Abbildung adb_mutual_tls_not_required.png

    Wenn für Ihre Instanz eine gegenseitige TLS-Authentifizierung erforderlich ist,zulassen Sie TLS-Verbindungen in der Autonomous AI Database-Instanz. Weitere Einzelheiten finden Sie unter Autonome AI-Datenbankinstanz so aktualisieren, dass sowohl TLS als auch mTLS-Authentifizierung zulässig sind.

  2. Rufen Sie wie folgt eine Verbindungszeichenfolge für den Autonomous AI Database-Service ab, um auf die Datenbank zuzugreifen:
    1. Klicken Sie in der Oracle Cloud Infrastructure-Konsole auf Datenbankverbindung.
    2. Wählen Sie im Dialogfeld "Datenbankverbindung" unter Verbindungszeichenfolgen in der Dropdown-Liste TLS-Authentifizierung die Option TLS aus.
      Hinweis

      Sie müssen in der Dropdown-Liste TLS-Authentifizierung die Option TLS auswählen, um die TLS-Verbindungszeichenfolgen abzurufen, bevor Sie eine Verbindungszeichenfolge kopieren (wenn der Wert Wechsel-TLS lautet, haben die Verbindungszeichenfolgen unterschiedliche Werte und funktionieren nicht mit TLS-Verbindungen).
    3. Kopieren Sie die Verbindungszeichenfolge für den Datenbankservice, den Sie mit der Anwendung verwenden möchten.

Go-Anwendung ohne Wallet mit TLS ausführen

Im folgenden Abschnitt werden die Schritte zum Ausführen einer Go-Anwendung auf einer Autonomous AI Database-Instanz beschrieben.

  1. Rufen Sie die Verbindungszeichenfolge ab, wie unter TLS in autonomer KI-Datenbank aktivieren und Verbindungszeichenfolge abrufen beschrieben.
  2. Legen Sie in der Go-Anwendung die folgenden Parameter fest, um eine Verbindung zu einer autonomen KI-Datenbankinstanz herzustellen:
    • password: Gibt das Kennwort des Datenbankbenutzers an.
    • user: Gibt den Datenbankbenutzer an.
    • libDir: Einzelverzeichnis, in dem Sie das Oracle Instant Client-ZIP-Package dekomprimieren.
    • connectString: Verwenden Sie die Verbindungszeichenfolge, die Sie aus dem vorherigen Schritt abgerufen haben, um eine Verbindung mit dem gewünschten Datenbankservicenamen herzustellen.

    Um eine Go-Anwendung mit dem Treiber godror auszuführen, müssen Sie zuerst das Package godror importieren.

    Im Folgenden finden Sie einen Beispielcode in der Go-Anwendung, mit dem Sie eine Verbindung zu einer autonomen KI-Datenbank herstellen können:

    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)
    }
    

    Dieser Code gibt Datensätze zurück, die aus der autonomen KI-Datenbank abgerufen wurden.