Conectar Aplicativos Go sem uma Wallet (TLS) Usando TLS

Você pode conectar aplicativos Go à sua instância do Autonomous Database sem uma wallet usando TLS.

A conexão de um aplicativo Go sem uma wallet (TLS) fornece segurança para autenticação e criptografia, e a segurança é aplicada usando credenciais do cliente (fornecendo um nome de usuário e uma senha).

Tópicos

Ativar TLS no Autonomous Database e Obter String de Conexão

Para executar um aplicativo Go sem uma wallet usando TLS, ative a instância do Autonomous Database para conexões TLS e obtenha uma string de conexão para entrar em contato com o banco de dados no aplicativo Go.

  1. Determine se sua instância do Autonomous Database está ativada para conexões TLS.

    Se a instância estiver ativada para conexões TLS, na área Rede da Console, o campo Autenticação MTLS (Mutual TLS) mostrará: Não Obrigatório:

    Veja a seguir a descrição da ilustração adb_mutual_tls_not_required.png
    Descrição da ilustração adb_mutual_tls_not_required.png

    Se sua instância exigir autenticação de TLS Mútuo, permita conexões TLS na sua instância do Autonomous Database. Consulte Atualizar a Instância do seu Autonomous Database para Permitir a Autenticação TLS e mTLS para obter detalhes.

  2. Obtenha uma string de conexão do serviço Autonomous Database para acessar o banco de dados da seguinte forma:
    1. Na Console do Oracle Cloud Infrastructure, clique em Conexão do banco de dados.
    2. Selecione TLS na caixa de diálogo Conexão de Banco de Dados, em Strings de Conexão, na lista drop-down Autenticação TLS.
      Observação

      Selecione TLS na lista drop-down Autenticação TLS para obter as strings de conexão TLS antes de copiar uma string de conexão (quando o valor for TLS Mútuo, as strings de conexão terão valores diferentes e não funcionarão com conexões TLS).
    3. Copie a string de conexão do serviço de banco de dados que você deseja usar com seu aplicativo.

Executar Aplicativo Go sem uma Wallet Usando TLS

A seção a seguir descreve as etapas para executar um aplicativo Go em uma instância do Autonomous Database.

  1. Obtenha a string de conexão, conforme descrito em Ativar TLS no Autonomous Database e Obter String de Conexão.
  2. Em seu aplicativo Go, defina os seguintes parâmetros para estabelecer conexão com uma instância do Autonomous Database:
    • password: Especifica a senha do usuário do banco de dados.
    • user: Especifica o usuário do banco de dados.
    • libDir: Diretório único no qual você descompacta o pacote zip do Oracle Instant Client.
    • connectString: Use a string de conexão obtida na etapa anterior para estabelecer conexão usando o nome do serviço de banco de dados desejado.

    Para executar um aplicativo Go usando o driver godror, primeiro importe o pacote godror.

    Veja a seguir um exemplo de código no Aplicativo Go que permite estabelecer conexão com um 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)
    }
    

    Este código retornará registros recuperados do Autonomous Database.