Estabelecer Conexão com Aplicativos Python sem uma Wallet (TLS)

Você pode conectar aplicativos Python à 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 as credenciais do cliente ( fornecendo um nome de usuário e uma senha).

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

Siga estas etapas para conectar o 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 python-oracledb para obter informações.

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 pelo aplicativo Python.
  1. Determine se a instância do Autonomous Database está ativada para conexões TLS.

    Se a instância estiver ativada para conexões TLS, na área Rede da 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 a instância exigir autenticação TLS Mútuo, permita conexões TLS na instância do Autonomous Database. Consulte Atualizar a Instância do Autonomous Database para Permitir Autenticação TLS e mTLS para obter detalhes.

  2. Obtenha uma string de conexão de serviço do 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 suspensa Autenticação TLS.
      Observação

      Selecione TLS no 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 estabelecer conexão com a instância do Autonomous Database sem uma wallet (TLS) usando as credenciais de 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 conectar-se a 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 de 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 estabelecer conexão no modo Thick, inclua oracledb.init_oracle_client() no 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)