Conectar Aplicativos Go com uma Wallet (mTLS)

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

Tópicos

Fazer Download de um Arquivo do Oracle Wallet

Faça download de um arquivo mTLS (Oracle Wallet) para obter credenciais de segurança do cliente que permitam estabelecer conexão com uma instância do Autonomous Database.

  1. Faça download de um arquivo da wallet da instância do Autonomous Database para obter um arquivo zip que contenha as credenciais de segurança do cliente e as definições de configuração de rede necessárias para acessar uma instância do Autonomous Database.

    Dependendo se você é um usuário Admin ou não Admin, obtenha as credenciais de segurança do cliente (arquivo wallet.zip) da seguinte forma:

    • Usuário ADMIN: Na Console do Oracle Cloud Infrastructure, clique em Conexão do banco de dados. Consulte Fazer Download das Credenciais do Cliente (Wallets).

    • Outro usuário (não administrador): Obtenha o Oracle Wallet do administrador da sua instância do Autonomous Database.

      Observação

      Proteja o arquivo wallet.zip e seu conteúdo para impedir o acesso não autorizado ao banco de dados.
  2. Descompacte o arquivo de credenciais do cliente (wallet.zip).

Executar Aplicativos Go com uma Wallet (mTLS)

Você pode conectar aplicativos Go à sua instância do Autonomous Database com uma wallet. Faça download de um arquivo de wallet compactado da instância do Autonomous Database que contenha as credenciais de segurança do cliente.

O driver godror requer Bibliotecas de Clientes Oracle. Consulte Instalar a Biblioteca de Clientes da Oracle para usar o Godror. As bibliotecas do Oracle Client são instaladas onde você executa o Aplicativo Go.

O arquivo da wallet está em um formato de arquivo zip. Os nomes do serviço de banco de dados podem ser encontrados no arquivo tnsnames.ora no arquivo zip da wallet. No exemplo fornecido abaixo, você usará o nome do serviço de rede mydb_high encontrado no arquivo tnsnames.ora.

Os três seguintes arquivos do arquivo zip da wallet são obrigatórios:
  • tnsnames.ora: Contém os nomes de serviço de rede usados para strings de conexão de aplicativos e mapeia as strings para seus serviços de banco de dados.

  • sqlnet.ora: Especifica a configuração do cliente SQLNet.

  • cwallet.sso: Contém a wallet de SSO aberta automaticamente.

Siga estas etapas para conectar seu aplicativo Go a uma instância do Autonomous Database usando uma wallet (mTLS):

  1. Coloque os arquivos tnsnames.ora, sqlnet.ora e cwallet.sso no diretório opcional (opt) do sistema Linux. O diretório /opt é usado para instalar pacotes de software opcionais ou complementares que não fazem parte do sistema operacional principal. Você pode colocar os arquivos em qualquer lugar no seu sistema operacional Microsoft Windows. Por exemplo, subdiretório na unidade C (C:) do seu sistema operacional Microsoft Windows.

    Você pode mover os arquivos para qualquer diretório acessível.

    Por exemplo, no Linux, mova os arquivos para o diretório /opt/OracleCloud/MYDB e edite sqlnet.ora para alterar o diretório de localização da wallet para o diretório que contém o arquivo cwallet.sso.

    Por exemplo, no Linux, edite sqlnet.ora da seguinte forma:

    WALLET_LOCATION = (SOURCE = (METHOD=file) (METHOD_DATA = (DIRECTORY="/opt/OracleCloud/MYDB")))
    SSL_SERVER_DN_MATCH=yes

    Quando os arquivos de configuração não estão no local padrão, seu aplicativo Go precisa indicar onde eles estão com o parâmetro config_dir.

    Observação

    Nenhuma dessas definições é necessária e não será necessário editar sqlnet.ora se você colocar todos os arquivos de configuração no diretório network/admin.
  2. Em seu aplicativo Go, defina os seguintes parâmetros de conexão para estabelecer conexão com a instância do Autonomous Database:
    • user: Especifica o usuário do Banco de Dados na Nuvem.
    • password: Especifica a senha do usuário do Banco de Dados na Nuvem.
    • config_dir: Especifica o diretório de configuração no qual você está colocando os arquivos tnsnames.ora e sqlnet.ora. Isto é necessário quando os arquivos de configuração são colocados em um diretório fora do diretório de configuração do cliente instantâneo network/admin.
    • dsn: Especifica o alias de rede desejado do arquivo tnsnames.ora.

    Por exemplo, para estabelecer conexão como o usuário ADMIN e estabelecer conexão com o nome do serviço de rede mydb_high (em que o nome do serviço é encontrado em /opt/OracleCloud/MYDB/tnsnames.ora):

    
    dsn := `user="admin"       
          password="password"       
          connectString="mydb_high"             
          configDir="/opt/OracleCloud/MYDB"` 
    db, _ := sql.Open("godror", dsn)
         

    Você pode usar o código acima em seu aplicativo Go para criar uma string de conexão e estabelecer conexão com o Autonomous Database.