Sobre a Conexão com uma Instância do Autonomous Database

Após a criação de usuários, aplicativos e ferramentas de banco de dados, estabeleça conexão com os Autonomous Databases usando o Oracle Net Services (também conhecido como SQL*Net). O Oracle Net permite estabelecer uma sessão de rede de um aplicativo cliente com um servidor do Oracle Database.

Quando uma sessão de rede é estabelecida, o Oracle Net Services age como transportador de dados para o aplicativo cliente e o banco de dados. Ele é responsável por estabelecer e manter a conexão entre o aplicativo cliente e o banco de dados, além de promover a troca de mensagens entre eles.

O Oracle Net Services oferece suporte a vários tipos de conexão com uma instância do Autonomous Database, incluindo:

  • JDBC Thin Driver: para aplicativos Java, o Driver JDBC Thin é um driver Java puro. Muitos aplicativos, incluindo o Oracle SQL Developer, suportam conexões do Driver JDBC Thin.

  • JDBC OCI: que é usado por aplicativos de linguagem Java. O OCI JDBC adiciona uma camada sobre o Oracle Call Interface para aplicativos Java. A interface de linha de comando do Oracle SQLcl usa o JDBC OCI.

  • Oracle Call Interface (OCI): usado por muitos aplicativos escritos em linguagem C. Entre os exemplos que usam o Oracle Call Interface estão utilitários Oracle como Oracle SQL*Plus, SQL*Loader e Oracle Data Pump.

  • ODBC Drivers: usados por aplicativos executados no Microsoft Windows, que são colocados em camadas no Oracle Call Interface (OCI).

Produtos de terceiros e aplicativos personalizados podem usar qualquer um desses tipos de conexão.

Tópicos

Conexões Seguras com o Autonomous Database com mTLS ou com TLS

As conexões com o Autonomous Database são feitas pela Internet pública, opcionalmente, com Regras de Controle de Acesso (ACL) definidas ou usando um ponto final privado dentro de uma Rede Virtual na Nuvem (VCN) em sua tenancy.

Quando você especifica uma configuração de ponto final privado, isso só permite o tráfego da rede virtual na nuvem especificada e bloqueia o acesso ao banco de dados de todos os IPs públicos ou VCNs públicos. A configuração de um ponto final privado permite manter todo o tráfego de e para o seu banco de dados fora da internet pública. Com um ponto final privado, quando o acesso público é ativado com Permitir acesso público, a instância tem um ponto final privado e um ponto final público:

  • O nome do host privado, o URL do ponto final e o endereço IP privado permitem que você estabeleça conexão com o banco de dados na VCN em que o banco de dados reside.

  • O nome do host público permite que você se conecte ao banco de dados de endereços IP públicos específicos ou de VCNs específicas se essas VCNs estiverem configuradas para estabelecer conexão privada com o Autonomous Database usando um Gateway de Serviço.

Muitos aplicativos fornecem suporte para mais de um tipo de conexão, mas cada tipo de conexão com o Autonomous Database usa autenticação de certificado e conexão de banco de dados TCPS (TCP Seguro) usando o TLS 1.2 padrão. Isso garante que não haja acesso não autorizado ao Autonomous Database e que as comunicações entre o cliente e o servidor sejam totalmente criptografadas e não possam ser interceptadas ou alteradas.

Por padrão, o Autonomous Database suporta conexões TLS Mútuas (mTLS) (use a porta 1522 para estabelecer conexão com o mTLS). Você tem a opção de configurar uma instância do Autonomous Database para suportar conexões mTLS e TLS (use a porta 1521 ou 1522 para estabelecer conexão com o TLS).

Há vantagens para os clientes usando a autenticação TLS com o Autonomous Database, incluindo as seguintes:

  • As conexões TLS não exigem que você faça download de uma wallet. Para conexões TLS que usam o Driver JDBC Thin com JDK8 ou mais recente, não é necessária uma wallet. Isso inclui conexões provenientes dos clientes, como SQL Developer e SQL Command Line (SQLcl).

  • Os clientes que estabelecem conexão com TLS não precisam se preocupar com a rotação da wallet. A rotação da wallet é um procedimento comum para conexões mTLS.

  • As conexões TLS podem ser mais rápidas (fornecendo menos latência de conexão). A autenticação TLS pode fornecer latência de conexão reduzida em comparação com mTLS.

  • As conexões TLS e mTLS não são mutuamente exclusivas. A autenticação mTLS (TLS mútuo) está ativada por padrão e sempre disponível. Quando você ativa a autenticação TLS, pode usar a autenticação mTLS ou TLS.

  • O uso da autenticação TLS não compromete a comunicação entre um cliente e o Autonomous Database totalmente criptografada.

Consulte Exibir Nomes TNS e Strings de Conexão de uma Instância do Autonomous Database para obter detalhes sobre como obter as strings de conexão mTLS da sua Instância do Autonomous Database.

Sobre a Autenticação mTLS (TLS mútuo)

Usando a autenticação Mutual Transport Layer Security (mTLS), os clientes se conectam por meio de uma conexão de banco de dados TCPS (Secure TCP) usando o TLS 1.2 padrão com um certificado de autoridade de certificação (CA) cliente confiável.

Com autenticação mútua, o aplicativo cliente e o Autonomous Database se autenticam. O Autonomous Database usa a autenticação mTLS por padrão. Use a porta 1522 para estabelecer conexão com uma instância do Autonomous Database com mTLS (a designação de porta 1522 não pode ser alterada).

A autenticação TLS mútuo exige que o cliente faça download ou obtenha um certificado de CA cliente confiável para conexão com uma instância do Autonomous Database. O Autonomous Database então usa o certificado para autenticar o cliente. Isso fornece maior segurança e especifica os clientes que podem se comunicar com uma instância do Autonomous Database.

A autenticação por certificação com TLS mútuo usa uma chave criptografada armazenada em uma carteira no cliente (no qual o aplicativo está em execução) e no servidor (no qual o serviço de banco de dados do Autonomous Database está em execução). A chave do cliente deve corresponder à chave do servidor para estabelecer uma conexão. Uma wallet contém um conjunto de arquivos incluindo a chave e outras informações necessárias para estabelecer conexão com a instância do Autonomous Database. Toda a comunicação entre o cliente e o servidor é criptografada.

Para proteger a conexão com a instância do Autonomous Database, um administrador de serviços faz download das credenciais de cliente ( arquivos de wallet) do Autonomous Database. Se você não for administrador de serviços do Autonomous Database, seu administrador fornecerá a você as credenciais de cliente. Consulte Fazer Download das Credenciais do Cliente (Wallets) para obter mais informações.

A figura a seguir mostra conexões seguras de cliente com o Oracle Autonomous Database pela Internet pública usando conexões TLS Mútuas. Se você configurar o seu banco de dados para usar pontos finais privados, a internet pública não será usada e a conexão usará um ponto final privado dentro de uma Rede Virtual na Nuvem (VCN) em sua tenancy.

Descrição da autônoma-database.eps a seguir
Descrição da ilustração autônoma-database.eps

Consulte Exibir Nomes TNS e Strings de Conexão de uma Instância do Autonomous Database para obter detalhes sobre como obter as strings de conexão mTLS da sua Instância do Autonomous Database.

Sobre a Autenticação TLS

Usando TLS (Transport Layer Security), os clientes se conectam por meio de uma conexão de banco de dados TCPS (Secure TCP) usando o TLS 1.2 padrão. Um cliente usa sua lista de Autoridades de Certificação (CAs) confiáveis para validar o certificado raiz da CA do servidor. Se a autoridade de certificação emissora for confiável, o cliente verificará se o certificado é autêntico.

Isso permite que o cliente e o Autonomous Database estabeleçam a conexão criptografada antes de trocar qualquer mensagem. Use a porta 1521 ou 1522 para estabelecer conexão com uma instância do Autonomous Database com TLS (essas designações de porta não podem ser alteradas).

Ao estabelecer conexão com autenticação TLS usando clientes do Driver JDBC Thin Driver, incluindo o Oracle SQL Developer e o Oracle SQLcl, você não precisa fazer download de uma wallet para proteger a conexão com a instância do Autonomous Database. A autenticação TLS permite que o cliente verifique a identidade do serviço do Autonomous Database para fornecer comunicação segura.

Dependendo do tipo de cliente, uma conexão TLS tem o seguinte suporte com o Autonomous Database:

  • Para conexões com o Driver JDBC Thin usando JDK8u162 ou superior, incluindo conexões com o Oracle SQL Developer e o Oracle SQLcl, não é necessária uma wallet.

  • Os clientes do OCI (Oracle Call Interface) suportam autenticação TLS sem uma wallet quando você usa as seguintes versões do cliente:

    • Oracle Instant Client/Oracle Database Client 19.13 - somente no Linux x64

    • Oracle Instant Client/Oracle Database Client 19.14 (ou mais recente) e 21.5 (ou mais recente) - somente no Linux x64 e no Windows

  • Se o cliente estiver estabelecendo conexão com ODP.NET ou ODP.NET Core versões 19.13 ou 21.4 (ou mais recente) gerenciadas usando a autenticação TLS, ele poderá se conectar sem fornecer uma wallet.

Há pré-requisitos de acesso à rede para conexões TLS. Consulte Pré-requisitos de Acesso à Rede para Conexões TLS para obter mais informações.

Consulte Exibir Nomes TNS e Strings de Conexão de uma Instância do Autonomous Database para obter detalhes sobre como obter as strings de conexão TLS da sua Instância do Autonomous Database.

Conectar-se ao Autonomous Database por meio de um Firewall

A maioria das organizações protege redes e dispositivos em uma rede usando um firewall. Um firewall controla o tráfego de rede de entrada e saída usando regras que permitem o uso de determinadas portas e o acesso a determinados computadores (ou, mais especificamente, endereços IP ou nomes de host). Uma função importante de um firewall é fornecer separação entre redes internas e a internet pública.

Quando o Autonomous Database estiver configurado para acesso usando a internet pública, configure o firewall para permitir o acesso aos servidores do Autonomous Database.

Para acessar o Autonomous Database protegido por um firewall, o firewall deve permitir o uso da porta especificada na conexão do banco de dados ao se conectar aos servidores na conexão. Use a porta 1522 para conexões mTLS do Autonomous Database (você pode ver o número da porta na string de conexão do arquivo tnsnames.ora no arquivo credentials ZIP). Por exemplo, consulte o valor port no seguinte arquivo tnsnames.ora:

db2022adb_high = (description = ( 
                address=(protocol=tcps)
                (port=1522)
                (host=adb.example.oraclecloud.com))
                (connect_data=(service_name=example_high.adb.oraclecloud.com))
                (security=(ssl_server_dn_match=yes)))

Seu firewall deve permitir o acesso aos servidores no domínio .oraclecloud.com usando a porta 1522. Para estabelecer conexão com o Autonomous Database, dependendo da configuração de rede da sua organização, talvez seja necessário usar um servidor proxy para acessar essa porta ou solicitar que o administrador de rede abra essa porta.

Consulte Intervalos de Endereços IP para obter informações sobre os intervalos de endereços IP públicos no Oracle Cloud Infrastructure. Você deve permitir o tráfego para esses blocos CIDR para garantir o acesso a uma instância do Autonomous Database em um ponto final público.

Usando o Continuidade de Aplicativos

O AC (Application Continuity) oculta paralisações de usuários finais e aplicativos, recuperando o trabalho em andamento para sessões de banco de dados impactadas após paralisações. O Continuidade de Aplicativos executa essa recuperação abaixo do aplicativo para que a interrupção apareça para o aplicativo como uma execução um pouco atrasada.

Observação

Por padrão, o Continuidade de Aplicativos está desativado.

Consulte Usar o Continuidade de Aplicativos no Autonomous Database para obter mais informações sobre o Application Continuity.