Conectar Aplicativos Go com uma Wallet (mTLS)

Você pode conectar os aplicativos Go à 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 de wallet na 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 de você ser um usuário Admin ou um usuário 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 a Oracle Wallet junto ao administrador da 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 os aplicativos Go à 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 do Oracle Client para usar 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 arquivos a seguir 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 aplicativo e mapeia as strings para os 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 o 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 do 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 local da wallet para o diretório que contém o arquivo cwallet.sso.

    Por exemplo, no Linux, edite o arquivo 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 estão com o parâmetro config_dir.

    Observação

    Nenhuma dessas definições é necessária e você não precisará editar sqlnet.ora se colocar todos os arquivos de configuração no diretório network/admin.
  2. No seu aplicativo Go, defina os seguintes parâmetros de conexão para conexão com a instância do Autonomous Database:
    • user: Especifica o usuário do Cloud Database.
    • password: Especifica a senha do usuário do Cloud Database.
    • config_dir: Especifica o diretório de configuração no qual você está colocando os arquivos tnsnames.ora e sqlnet.ora. Isso é 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 conectar-se como usuário ADMIN e conectar-se com o nome de 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 no seu aplicativo Go para criar uma string de conexão e estabelecer conexão com o Autonomous Database.