Conectar Aplicativos Python sem uma Wallet (TLS)

Você pode conectar aplicativos Python à sua instância do Autonomous Database sem uma wallet. A conexão de um aplicativo Python sem uma wallet (TLS) fornece segurança para autenticação e criptografia, e a segurança é imposta usando credenciais do cliente (fornecendo um nome de usuário e uma senha).

O "Modo fino" padrão do driver python-oracledb se conecta diretamente ao Oracle Database. Opcionalmente, ele pode usar bibliotecas do Oracle Client, "modo Thick", para algumas funcionalidades adicionais. As bibliotecas do Oracle Client podem ser do Oracle Instant Client, do Oracle Client completo ou de uma instalação do Oracle Database.

Siga estas etapas para conectar seu aplicativo Python a uma instância do Autonomous Database sem uma wallet (TLS):

  1. Instalar o Python e o Driver python-oracledb

  2. Ativar TLS no Autonomous Database e Obter String de Conexão

  3. Executar Aplicativo Python sem uma Wallet

Consulte Ativando o modo Thick de python-oracledb para obter informações sobre o modo Thick.

Tópicos

Ativar TLS no Autonomous Database e Obter String de Conexão

Para executar um aplicativo Python sem uma wallet, ative a instância do Autonomous Database para conexões TLS e obtenha uma string de conexão para entrar em contato com o banco de dados no aplicativo Python.
  1. Determine se sua instância do Autonomous Database está ativada para conexões TLS.

    Se a instância estiver ativada para conexões TLS, na área Rede na Console do Oracle Cloud Infrastructure, o campo Autenticação mTLS (TLS mútuo) mostrará: Não Obrigatório:

    Veja a seguir a descrição da ilustração adb_mutual_tls_not_required.png
    Descrição da ilustração adb_mutual_tls_not_required.png

    Se sua instância exigir autenticação de TLS Mútuo, permita conexões TLS na sua instância do Autonomous Database. Consulte Atualizar a Instância do seu Autonomous Database para Permitir a Autenticação TLS e mTLS para obter detalhes.

  2. Obtenha uma string de conexão do serviço Autonomous Database para acessar o banco de dados da seguinte forma:
    1. Na Console do Oracle Cloud Infrastructure, clique em Conexão do banco de dados.
    2. Selecione TLS na caixa de diálogo Conexão de Banco de Dados, em Strings de Conexão, na lista drop-down Autenticação TLS.
      Observação

      Selecione TLS na lista drop-down Autenticação TLS para obter as strings de conexão TLS antes de copiar uma string de conexão (quando o valor for TLS Mútuo, as strings de conexão terão valores diferentes e não funcionarão com conexões TLS).
    3. Copie a String de Conexão do serviço de banco de dados que você deseja usar com seu aplicativo.

Executar Aplicativo Python sem uma Wallet

Um aplicativo Python pode se conectar à sua instância do Autonomous Database sem uma wallet (TLS) usando as credenciais do banco de dados e um descritor de conexão.

  1. Obtenha a string de conexão, conforme descrito em Ativar TLS no Autonomous Database e Obter String de Conexão.
  2. No seu aplicativo Python, defina os seguintes parâmetros de conexão para estabelecer conexão com uma instância do Autonomous Database:
    • dsn: Use a string de conexão para especificar o nome do serviço de banco de dados desejado.
    • password: Especifica a senha do usuário do banco de dados.
    • user: Especifica o usuário do banco de dados.

    Por exemplo:

    cs='''(description = (retry_count=20)(retry_delay=3)(address=(protocol=tcps)
         (port=1521)(host=xxx.oraclecloud.com))
         (connect_data=(service_name=xxx.adb.oraclecloud.com))
         (security=(ssl_server_dn_match=yes)))'''
    
    connection=oracledb.connect(
         user="admin",
         password=password,
         dsn=cs)
  3. Se você quiser se conectar no modo Thick, inclua oracledb.init_oracle_client() no seu aplicativo Python.

    Por exemplo:

    cs='''(description = (retry_count=20)(retry_delay=3)(address=(protocol=tcps)
         (port=1521)(host=xxx.oraclecloud.com))
         (connect_data=(service_name=xxx.adb.oraclecloud.com))
         (security=(ssl_server_dn_match=yes)))'''
    
    oracledb.init_oracle_client()
    connection=oracledb.connect(
         user="admin",
         password=password,
         dsn=cs)