Connecter des applications Go sans portefeuille (TLS) à l'aide de TLS

Vous pouvez connecter des applications Go à votre instance Autonomous AI Database sans portefeuille utilisant TLS.

La connexion d'une application Go sans portefeuille (TLS) assure la sécurité pour l'authentification et le chiffrement, et la sécurité est appliquée à l'aide des données d'identification du client (en fournissant un nom d'utilisateur et un mot de passe).

Rubriques

Activer TLS dans Autonomous AI Database et obtenir la chaîne de connexion

Pour exécuter une application Go sans portefeuille à l'aide de TLS, activez l'instance Autonomous AI Database pour les connexions TLS et obtenez une chaîne de connexion pour communiquer avec la base de données à partir de l'application Go.

  1. Déterminez si votre instance de base de données d'intelligence artificielle autonome est activée pour les connexions TLS.

    Si l'instance est activée pour les connexions TLS, dans la zone Réseau de la console, le champ Authentification TLS mutuelle (mTLS) affiche : Non requise :

    Description de adb_mutual_tls_not_required.png :
    Description de l'illustration adb_mutual_tls_not_required.png

    Si votre instance nécessite une authentification TLS mutuelle, autorisez les connexions TLS sur votre instance Base de données d'IA autonome. Voir Mettre à jour votre instance de base de données d'intelligence artificielle autonome pour autoriser l'authentification TLS et mTLS pour plus de détails.

  2. Obtenez une chaîne de connexion au service Autonomous AI Database pour accéder à la base de données comme suit :
    1. Dans la console Oracle Cloud Infrastructure, cliquez sur Connexion à la base de données.
    2. Sélectionnez TLS dans la boîte de dialogue Connexion à la base de données, sous Chaînes de connexion, dans la liste déroulante Authentification TLS.
      Note

      Vous devez sélectionner TLS dans la liste déroulante Authentification TLS pour obtenir les chaînes de connexion TLS avant de copier une chaîne de connexion (lorsque la valeur est TLS mutuel, les chaînes de connexion ont des valeurs différentes et ne fonctionnent pas avec les connexions TLS).
    3. Copiez la chaîne de connexion du service de base de données à utiliser avec votre application.

Exécuter l'application Go sans portefeuille à l'aide de TLS

La section suivante décrit les étapes d'exécution d'une application Go sur une instance Autonomous AI Database.

  1. Obtenez la chaîne de connexion, comme décrit dans Activer TLS sur la base de données IA autonome et obtenir la chaîne de connexion.
  2. Dans votre application Go, définissez les paramètres suivants pour vous connecter à une instance Autonomous AI Database :
    • password : Spécifie le mot de passe de l'utilisateur de base de données.
    • user : Spécifie l'utilisateur de base de données.
    • libDir : Répertoire unique dans lequel vous décompressez l'ensemble zip Oracle Instant Client.
    • connectString : Utilisez la chaîne de connexion obtenue à l'étape précédente pour vous connecter à l'aide du nom de service de base de données souhaité.

    Pour exécuter une application Go à l'aide du pilote godror, vous devez d'abord importer l'ensemble godror.

    Voici un exemple de code dans l'application Go qui vous permet de vous connecter à une base de données d'intelligence artificielle autonome :

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

    Ce code retourne les enregistrements extraits de la base de données d'intelligence artificielle autonome.