Preparar Conexões do Oracle Call Interface, ODBC e JDBC OCI com Wallets (mTLS)

A preparação para qualquer tipo de conexão do Oracle Call Interface (OCI) com autenticação mTLS exige a instalação do software cliente, o download das credenciais do cliente e a configuração de determinados arquivos e variáveis de ambiente.

Este tópico abrange as etapas para preparar um aplicativo para conexão usando a autenticação mTLS com uma wallet que você baixou de uma instância do Autonomous Database. Consulte Preparar Conexões do Oracle Call Interface, ODBC e JDBC OCI Usando Autenticação TLS para obter informações sobre as etapas para preparar a autenticação TLS com esses tipos de conexão.

Instalação Nova do Oracle Client

As etapas a seguir presumem que o software cliente Oracle ainda não foi instalado no computador cliente. Se o software cliente Oracle já tiver sido instalado e houver cópias de trabalho dos sqlnet.ora e tnsnames.ora, consulte Atualizando uma Instalação Existente do Oracle Client.

Antes de estabelecer uma conexão do Oracle Call Interface (OCI), ODBC ou JDBC OCI, faça o seguinte:

  1. Instale o software Oracle Client em seu computador.

    • Oracle Instant Client/Oracle Database Client: 18.19 (ou mais recente), 19.2 (ou mais recente) ou 21 (versão base ou mais recente). O Instant Client contém o software mínimo necessário para estabelecer uma conexão do Oracle Call Interface.

  2. Faça download das credenciais do cliente e armazene o arquivo em uma pasta segura no computador cliente. Consulte Fazer Download das Credenciais do Cliente (Wallets).

  3. Deszipar/descomprimir o arquivo de credenciais em uma pasta segura no computador cliente.

  4. Edite o arquivo sqlnet.ora na pasta em que você descompacta o arquivo de credenciais, substituindo "?/network/admin" pelo nome da pasta que contém as credenciais do cliente.

    Por exemplo, edite o arquivo sqlnet.ora da seguinte forma:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin")))
    SSL_SERVER_DN_MATCH=yes

    O valor alterado em UNIX/Linux é:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adb_credentials")))
    SSL_SERVER_DN_MATCH=yes
    

    O valor alterado no Windows é:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="D:\\myapp\\adb_credentials")))
    SSL_SERVER_DN_MATCH=yes
    
  5. Crie a variável de ambiente TNS_ADMIN e defina-a como local do arquivo de credenciais.

    Use essa variável de ambiente para alterar o caminho do diretório dos arquivos de configuração do Oracle Net Services do local padrão de ORACLE_HOME\network\admin para o local da pasta segura que contém o arquivo de credenciais salvo na Etapa 2. Defina a variável de ambiente TNS_ADMIN como diretório no qual estão os arquivos de credenciais descompactados, não como arquivo de credenciais propriamente.

    Por exemplo, no UNIX/Linux, defina TNS_ADMIN como caminho completo do diretório no qual você removeu as credenciais do cliente:

    export TNS_ADMIN=/home/adb_credentials

    Por exemplo, no Windows:

    set TNS_ADMIN=d:\myapp\adb_credentials

Conexões com um Proxy HTTP

Se o cliente estiver protegido por firewall e sua configuração de rede exigir um proxy HTTP para conexão com a internet, execute as etapas a seguir para atualizar os arquivos sqlnet.ora e tnsnames.ora. As conexões por meio de um proxy HTTP só estão disponíveis com a versão 12.2.0.1 ou mais recente do software Oracle Client.

Observação

Para evitar atualizações manuais nos arquivos sqlnet.ora e tnsnames.ora, você pode usar SQLcl e especificar o proxy HTTP na linha de comando. Consulte Connect Oracle SQLcl Cloud com uma Wallet (mTLS) para obter mais informações.
  1. Adicione a seguinte linha ao arquivo sqlnet.ora para ativar conexões por meio de um proxy HTTP:

    SQLNET.USE_HTTPS_PROXY=on
  2. Adicione o nome do host e a porta do proxy HTTP às definições de conexão em tnsnames.ora. Adicione os parâmetros https_proxy e https_proxy_port na seção de endereço das definições de conexão. Por exemplo, a seguinte amostra define o proxy HTTP como proxyhostname e a porta do proxy HTTP como 80; substitua esses valores pelas informações do proxy HTTP:

    ADB1_high =
           (description=
                 (address=
                       (https_proxy=proxyhostname)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adb.example.oraclecloud.com)
                 )
                 (connect_data=(service_name=adb1_high.adb.oraclecloud.com)
                 )
                 (security=(ssl_server_dn_match=yes))
                 )
           )

Observação

A configuração de sqlnet.ora e tnsnames.ora para o proxy HTTP pode não ser suficiente, dependendo das políticas de segurança e configuração de rede da sua organização. Por exemplo, algumas redes exigem username e password para o proxy HTTP. Nesses casos, entre em contato com o administrador de rede para abrir conexões de saída com hosts no domínio oraclecloud.com usando a porta 1522 sem passar por um proxy HTTP.

Para obter informações sobre SQLNET.USE_HTTPS_PROXY, consulte Referência de Serviços de Rede.

Para obter informações sobre HTTPS_PROXY e HTTPS_PROXY_PORT, consulte Seção Endereço de Protocolo.

Atualizando uma Instalação Existente do Oracle Client

Se você tiver uma instalação existente do Oracle Client, já terá arquivos sqlnet.ora e tnsnames.ora e a variável de ambiente TNS_ADMIN. Nesse caso, faça o seguinte:

  1. Atualize seu arquivo sqlnet.ora adicionando o seguinte item:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adb_credentials")))
  2. Copie as entradas no arquivo tnsnames.ora fornecido na wallet do Autonomous Database para o arquivo tnsnames.ora existente.