Conectar Aplicativos Python com uma Wallet (mTLS)
Você pode conectar aplicativos Python à sua instância do Autonomous Database com uma wallet.
O "Modo fino" padrão do driver python-oracledb se conecta diretamente ao Oracle Database. O driver pode, opcionalmente, usar bibliotecas do Oracle Client, "modo Thick", para alguma funcionalidade adicional. As bibliotecas do Cliente Oracle 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 usando uma wallet (mTLS):
- Instalar o Python e o Driver python-oracledb
- Obter Credenciais de Segurança (Oracle Wallet) e Ativar Conectividade de Rede
- Execute esta etapa se quiser apenas estabelecer conexão no modo Thin: Executar Aplicativo Python com o Modo Thin python-oracledb com uma Wallet (mTLS)
- Execute esta etapa se quiser estabelecer conexão no modo Thick: Executar Aplicativo Python com o Modo Thick de python-oracledb com uma Wallet (mTLS)
Tópicos
- Obter Credenciais de Segurança (Oracle Wallet) e Ativar Conectividade de Rede
Obtenha as credenciais para estabelecer conexão com uma instância do Autonomous Database. - Executar o Aplicativo Python com o Modo Thin python-oracledb com uma Wallet (mTLS)
Por padrão, o python-oracledb usa o modo Thin para se conectar diretamente à sua instância do Autonomous Database. - Executar o Aplicativo Python com o Modo Thick python-oracledb com uma Wallet (mTLS)
Por padrão, o python-oracledb é executado no modo Thin, que se conecta diretamente ao Oracle Database. Recursos adicionais do python-oracledb estão disponíveis quando o driver é executado no modo Thick.
Tópico principal: Conecte Aplicativos Python ao Autonomous Database
Obter Credenciais de Segurança (Oracle Wallet) e Ativar Conectividade de Rede
Obtenha credenciais de segurança do cliente para estabelecer conexão com uma instância do Autonomous Database.
Tópico principal: Conectar Aplicativos Python com uma Wallet (mTLS)
Executar o Aplicativo Python com o Modo Thin python-oracledb com uma Wallet (mTLS)
Por padrão, o python-oracledb usa o modo Thin para se conectar diretamente à sua 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 aplicativos para seus serviços de banco de dados. -
ewallet.pem
: Ativa conexões SSL/TLS no modo Thin.
Para se conectar no modo Thin:
Se você estiver protegido por um firewall, poderá encapsular 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.
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)
Tópico principal: Conectar Aplicativos Python com uma Wallet (mTLS)
Executar o Aplicativo Python com o Modo Thick python-oracledb com uma Wallet (mTLS)
O modo Thick requer que as bibliotecas do Oracle Client estejam instaladas onde você executa o Python. Você também deve chamar
oracledb.init_oracle_client()
em seu código Python.
No modo Thick, são necessários os três seguintes arquivos do arquivo zip da wallet:
-
tnsnames.ora
: Contém os nomes de serviço de rede usados para strings de conexão de aplicativos e mapeia as strings para seus 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 conectar no modo Grosso:
Se você estiver protegido por um firewall, poderá encapsular 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.
No modo Thick você pode 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 de python-oracledb para obter informações sobre o modo Thick.
Tópico principal: Conectar Aplicativos Python com uma Wallet (mTLS)