Carregamento de Conexão e Gerenciamento de Segurança com o Proxy do Banco de Dados do Oracle Connection Manager

Proteja o acesso aos seus dados de back-end no Oracle Autonomous Database Serverless para proteger os requisitos de confidencialidade e privacidade de seus usuários finais. Oracle Connection Manager no Traffic Director Mode (CMAN-TDM) é uma solução de proxy de banco de dados que permite fornecer acesso seguro à arquitetura de back-end, sem comprometer a segurança dos dados.

Arquitetura

Esta arquitetura mostra como você pode usar o CMAN-TDM para estabelecer conexão com o Oracle Autonomous Database Serverless no Oracle Cloud.

Esta arquitetura descreve uma configuração básica. Há outros modos de conexão avançados de PRCP (Proxy Resident Connection Pooling) e Threaded que aumentam o desempenho do CMAN-TDM. Esses recursos otimizam o uso de recursos de banco de dados por meio do balanceamento de carga dinâmico e do gerenciamento inteligente de pools.

Na arquitetura de amostra a seguir, o Oracle Autonomous Database Serverless está localizado na Oracle Cloud, mas o mesmo princípio se aplica a uma nuvem de terceiros.



oci-cman-tdm-oracle.zip

Essa arquitetura suporta os seguintes componentes:

  • CMAN-TDM

    O Oracle Connection Manager (CMAN) é um servidor proxy que encaminha solicitações de conexão a bancos de dados ou outros servidores proxy. Ele transfere a conexão e os dados entre o banco de dados e o cliente na autenticação . O CMAN opera no nível da sessão e, geralmente, reside em um computador separado do servidor de banco de dados e dos computadores cliente.

    O CMAN fornece o seguinte:
    • Controle de acesso: Para usar a configuração baseada em regras para filtrar solicitações de cliente especificadas pelo usuário e aceitar outras.
    • Multiplexação de sessão: para canalizar várias sessões do cliente por meio de uma conexão de rede com um destino de servidor compartilhado.

    O Traffic Director Mode (TDM) é um recurso de inteligência opcional do CMAN que atua como o proxy do banco de dados do aplicativo. O TDM adiciona as dimensões extras de Alta Disponibilidade (HA) transparente por meio de suporte a interrupções, recursos de segurança aprimorados na nuvem (DoS e proteção contra ataques difusos, isolamento de tenant etc.) e recursos de ajuste de desempenho.

    O CMAN-TDM permite que qualquer aplicativo cliente se conecte ao Oracle Database (local e na nuvem) sem expor os detalhes do banco de dados subjacente ao cliente. É interoperável com diferentes versões do Oracle Database.

  • OCI (Oracle Call Interface)

    O Oracle Call Interface é uma interface de linguagem C nativa abrangente e de alto desempenho para o Oracle Database para aplicativos personalizados ou em pacotes.

    As APIs fornecem uma interface para o Oracle Database para executar tarefas de administração de banco de dados. Eles são a base sobre a qual outras interfaces específicas do idioma são criadas. Por exemplo, Oracle Data Provider para Net-Core (ODP.Net, Unmanaged), Oracle Precompilers (Pro*C), Oracle ODBC, Oracle C++ Call Interface (OCCI) e drivers de linguagem de script para node-oracledb e python-oracledb. O CMAN-TDM também funciona com PHP OCI8, ROracle, Godror, ruby-oci8, rust-oracle etc.

  • Java Database Connectivity (JDBC)

    O driver Java Database Connectivity fornece APIs Java que permitem programas Java. Ele fornece uma maneira padrão de os aplicativos Java se conectarem e manipularem dados em bancos de dados relacionais e outras origens de dados tabulares. O JDBC usa um "driver" para facilitar essa interação, com diferentes tipos de drivers oferecendo diferentes níveis de desempenho e dependência da plataforma.

  • JDBC Thin

    O driver JDBC Thin é um driver Java puro, Tipo IV. O driver oferece alto desempenho, comparável ao desempenho fornecido pelo driver JDBC Oracle Call Interface. O driver JDBC Thin é totalmente escrito em Java, é leve, é independente de plataforma e não requer nenhum software Oracle adicional no lado do cliente.

    O driver JDBC Thin se comunica com o servidor usando o TTC, um protocolo desenvolvido pela Oracle para acessar dados do Oracle Database. Ele pode ser usado para servidores de aplicativos, bem como para applets. O driver permite uma conexão direta com o banco de dados fornecendo uma implementação de TCP/IP que implementa o Oracle Net e o TTC em cima dos soquetes Java. Ambos os protocolos são versões de implementação leves de suas contrapartes no servidor. O protocolo do Oracle Net só é executado em TCP/IP.

    Você pode usar o driver JDBC Thin no lado cliente e no lado servidor. No lado do cliente, os drivers são usados em aplicativos Java ou em applets Java que são executados no cliente ou na camada intermediária de uma configuração de três camadas. No lado do servidor, esse driver é usado para acessar uma instância remota do Oracle Database ou outra sessão no mesmo banco de dados.

  • node-oracledb

    node-oracledb é o driver Node.js para estabelecer conexão com o Oracle Database.

  • python-oracledb

    python-oracledb é o driver Python para conexão com o Oracle Database.

  • Oracle Data Provider for .NET (ODP.NET)

    O Oracle Data Provider for .NET otimizou o acesso a dados ADO.NET para o Oracle Database. O ODP.NET permite que os desenvolvedores aproveitem a funcionalidade avançada do Oracle Database, incluindo o Oracle Real Application Clusters (Oracle RAC), o cache de instruções de autoajuste, o Application Continuity e o Failover de Conexão Rápida.

    Há três tipos de driver:
    • ODP.NET Core: Projetado para aplicativos .NET (Core) multiplataforma
    • ODP.NET, Driver Gerenciado: provedor .NET Framework de código 100% gerenciado. Os desenvolvedores implantam uma única montagem em um pacote de implantação com menos de 10 MB.
    • ODP.NET, Driver Não Gerenciado: Provedor Oracle ADO.NET tradicional que usa o Oracle Database Client.
  • Pool de Conexões Residentes de Proxy (PRCP)

    O Pooling de Conexões Residentes de Proxy é o recurso de pool de CMAN-TDM.

    Ele usa o recurso de pool de sessões do Oracle Call Interface para multiplexar um grande número de conexões de cliente. Ele permite que várias conexões de entrada dos processos do cliente usem um pool de conexões de saída conectadas aos processos do banco de dados. Elas são associadas a sessões na camada CMAN-TDM. O PRCP fornece um funil para conexões de aplicativos sem sobrecarga de banco de dados ou a necessidade de clientes multithread. Instâncias de aplicativo diferentes podem compartilhar sessões.

Sobre Produtos e Funções Obrigatórios

Esta solução requer os seguintes produtos e funções:

  • Oracle Cloud Infrastructure
  • Oracle Autonomous Database

  • Oracle Database Client 21c ou posterior no Oracle Linux
  • CMAN-TDM, versão 21.3.0.0.0 ou posterior

  • Aplicativo cliente SQL*Plus: Release 21.3 ou mais recente

Essas são as funções necessárias para cada produto ou serviço.

Nome do Serviço: Função Obrigatório para...
Oracle Autonomous Database: root crie os diretórios usuário, base e home do oracle para executar o CMAN. Instale as bibliotecas de pré-instalação da versão mais recente do Oracle Database para configurar o usuário oracle no Linux.

Também é necessário abrir a porta e adicionar o endereço CMAN-TDM para o servidor CMAN-TDM no arquivo $TNS_ADMIN/tnsnames.ora.

Oracle Autonomous Database: admin verifique a conexão do banco de dados com o CMAN, crie o usuário proxy do banco de dados, crie a wallet do usuário proxy do banco de dados, crie um usuário do aplicativo CMAN-TDM para acesso geral ao aplicativo, adicione os privilégios tdm do usuário proxy do banco de dados a todos os usuários do aplicativo que precisam de acesso ao Oracle Autonomous Database por meio do CMAN-TDM.
Oracle Autonomous Database: oracle definir a variável de ambiente TNS_ADMIN, configurar o CMAN-TDM para estabelecer conexão com o Oracle Autonomous Database
Oracle Cloud Infrastructure: Conta do Oracle Cloud conectar-se ao Oracle Cloud e criar serviços, incluindo o Oracle Autonomous Database.
CMAN: usuário app conecte-se ao banco de dados por meio do serviço CMAN-TDM. O usuário do app deve ser registrado no Oracle Autonomous Database.

Consulte Produtos, Soluções e Serviços Oracle para obter o que você precisa.