Connexion d'applications Go sans portefeuille (TLS) à l'aide de TLS

Vous pouvez connecter des applications Go à votre instance Autonomous Database sans portefeuille à l'aide de TLS.

La connexion d'une application Go sans portefeuille (TLS) fournit la sécurité nécessaire pour l'authentification et le cryptage. La sécurité est assurée à l'aide des informations d'identification client (en indiquant un nom utilisateur et un mot de passe).

Rubriques

Activation de TLS sur Autonomous Database et obtention de la chaîne de connexion

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

  1. Déterminez si les connexions TLS sont activées pour l'instance Autonomous Database.

    Si les connexions TLS sont activées pour l'instance, dans la zone Network de la console, le champ Mutual TLS (mTLS) authentication affiche Not Required :

    Description de adb_mutual_tls_not_required.png
    Description de l'image adb_mutual_tls_not_required.png

    Si vous avez besoin de l'authentification TLS mutuelle, autorisez les connexions TLS sur l'instance Autonomous Database. Reportez-vous à Mise à jour de l'instance Autonomous Database pour autoriser l'authentification TLS et TLS mutuelle pour plus de détails.

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

      Vous devez sélectionner TLS dans la liste déroulante TLS Authentication pour obtenir les chaînes de connexion TLS avant de copier une chaîne de connexion (lorsque la valeur est Mutual TLS, 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 l'application.

Exécuter une 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 Database.

  1. Obtenez la chaîne de connexion, comme décrit dans Activation de TLS sur Autonomous Database et obtention de la chaîne de connexion.
  2. Dans votre application Go, définissez les paramètres suivants pour la connexion à une instance Autonomous Database :
    • password : indique le mot de passe de l'utilisateur de base de données.
    • user : indique l'utilisateur de base de données.
    • libDir : répertoire unique dans lequel vous décompressez le package 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 le package godror.

    Voici un exemple de code dans l'application Go qui vous permet de vous connecter à une instance 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)
    }
    

    Ce code renvoie les enregistrements extraits de l'instance Autonomous Database.