Estabelecer Conexão com Aplicativos Python Usando mTLS
APLICA-SE A: Somente Exadata Cloud@Customer
Você pode conectar aplicativos Python à instância do Autonomous Database usando mTLS.
O "modo Thin" padrão do driver python-oracledb se conecta diretamente ao Oracle Database. O driver tem a opção de usar as bibliotecas do Oracle Client, "Modo Thick", para funcionalidade adicional. As bibliotecas do Oracle Client podem ser do Oracle Instant Client, do Cliente Oracle completo ou de uma instalação do Oracle Database.
Siga estas etapas para conectar seu aplicativo Python a uma instância do Autonomous Database usando o comando mTLS:
- Instalar o Python e o Driver python-oracledb
- Obter Credenciais de Segurança (Oracle Wallet) e Ativar a Conectividade de Rede
- Execute esta etapa se quiser se conectar apenas no modo Thin: Executar Aplicativo Python com o Modo Thin python-oracledb (mTLS)
- Execute esta etapa se quiser estabelecer conexão no modo Thick: Executar Aplicativo Python com o Modo Thick python-oracledb (mTLS)
Tópicos Relacionados
Instalar o Python e o Driver python-oracledb
Para estabelecer conexão com o Autonomous Database do seu aplicativo Python, instale o driver Python e o driver python-oracledb.
Obter Credenciais de Segurança (Oracle Wallet) e Ativar a Conectividade de Rede
Obtenha credenciais de segurança do cliente para estabelecer conexão com uma instância do Autonomous Database.
Executar Aplicativo Python com o Modo Thin python-oracledb (mTLS)
Por padrão, o python-oracledb usa o modo Thin para estabelecer conexão diretamente com a instância do Autonomous Database.
No modo Thin, são necessários apenas dois arquivos do zip da wallet:
-
tnsnames.ora
: Mapeia nomes de serviço de rede usados para strings de conexão de aplicativo para seus serviços de banco de dados. -
ewallet.pem
: Ativa conexões SSL/TLS no modo Thin.
Para estabelecer conexão no modo Thin:
Se você estiver protegido por um firewall, poderá tunelar conexões TLS/SSL por meio de um proxy usando HTTPS_PROXY no descritor de conexão ou definindo atributos de conexão. A conexão bem-sucedida depende de configurações de proxy específicas. A Oracle não recomenda o uso de um proxy em um ambiente de produção, devido ao possível impacto no desempenho. Consulte HTTPS_PROXY em Oracle Database 19c Database Net Services Reference ou Oracle Database 23ai Database Net Services Reference para obter mais informações.
No modo Thin, você pode especificar um proxy adicionando os parâmetros https_proxy
e http_proxy_port
.
Por exemplo, no Linux:
connection=oracledb.connect(
config_dir="/opt/OracleCloud/MYDB",
user="admin",
password=password,
dsn="db2024_low",
wallet_location="/opt/OracleCloud/MYDB",
wallet_password=wallet_pw,
https_proxy='myproxy.example.com',
https_proxy_port=80)
Por exemplo, no Windows:
connection=oracledb.connect(
config_dir=r"C:\opt\OracleCloud\MYDB",
user="admin",
password=password,
dsn="db2024_low",
wallet_location=r"C:\opt\OracleCloud\MYDB",
wallet_password=wallet_pw,
https_proxy='myproxy.example.com',
https_proxy_port=80)
Executar Aplicativo Python com o Modo Thick python-oracledb (mTLS)
Observação:
O modo Thick exige que as bibliotecas do Oracle Client sejam instaladas onde você executa o Python. Você também deve chamaroracledb.init_oracle_client()
em seu código Python.
No modo Thick, os três arquivos a seguir do arquivo zip da wallet são necessários:
-
tnsnames.ora
: Contém os nomes de serviço de rede usados para strings de conexão de aplicativo e mapeia as strings para os serviços de banco de dados. -
sqlnet.ora
: Especifica a configuração do cliente SQL*Net. cwallet.sso
: Contém a wallet de SSO aberta automaticamente.
Para estabelecer conexão no modo Thick:
Se você estiver protegido por um firewall, poderá tunelar conexões TLS/SSL por meio de um proxy usando HTTPS_PROXY no descritor de conexão ou definindo atributos de conexão. A conexão bem-sucedida depende de configurações de proxy específicas. A Oracle não recomenda o uso de um proxy em um ambiente de produção, devido ao possível impacto no desempenho. Consulte HTTPS_PROXY em Oracle Database 19c Database Net Services Reference ou Oracle Database 23ai Database Net Services Reference para obter mais informações.
No modo Thick, é possível especificar um proxy editando o arquivo sqlnet.ora
e adicionando uma linha:
SQLNET.USE_HTTPS_PROXY=on
Além disso, edite tnsnames.ora
e adicione um nome de proxy HTTPS_PROXY
e uma porta HTTPS_PROXY_PORT
à lista de endereços do descritor de conexão de qualquer nome de serviço que você planeja usar.
Por exemplo:
mydb_high=(description=
(address=(https_proxy=myproxy.example.com)
(https_proxy_port=80)
(protocol=tcps)(port=1522)(host=...)
Consulte Ativando o modo Thick python-oracledb para obter informações no modo Thick.