Conexión de aplicaciones Python con una cartera (mTLS)
Puede conectar aplicaciones de Python a su instancia de Autonomous Database con una cartera.
El "modo fino" predeterminado del controlador python-oracledb se conecta directamente a Oracle Database. De manera opcional, el controlador puede utilizar las bibliotecas del cliente de Oracle, "Thick mode", para algunas funciones adicionales. Las bibliotecas de clientes de Oracle pueden ser de Oracle Instant Client, de Oracle Client completo o de una instalación de Oracle Database.
Siga estos pasos para conectar la aplicación Python a una instancia de Autonomous Database mediante una cartera (mTLS):
- Instalación de Python y el controlador python-oracledb
- Obtención de credenciales de seguridad (Oracle Wallet) y activación de la conectividad de red
- Realice este paso si solo desea conectarse en modo Thin: Ejecute la aplicación Python con el modo Thin de python-oracledb con una cartera (mTLS)
- Realice este paso si desea conectarse en modo grueso: Ejecute la aplicación Python con el modo grueso de python-oracledb con una cartera (mTLS)
Temas
- Obtención de credenciales para la seguridad (Oracle Wallet) y activación de la conectividad de red
Obtenga credenciales para la seguridad del cliente para conectarse a una instancia de Autonomous Database. - Ejecución de la aplicación Python con el modo Thin oracledb de python con una cartera (mTLS)
Por defecto, python-oracledb utiliza el modo Thin para conectarse directamente a la instancia de Autonomous Database. - Ejecución de la aplicación Python con el modo grueso oracledb de python con una cartera (mTLS)
Por defecto, python-oracledb se ejecuta en modo delgado que se conecta directamente a Oracle Database. Las funciones adicionales de python-oracledb están disponibles cuando el controlador se ejecuta en modo grueso.
Tema principal: Conexión de aplicaciones Python a Autonomous Database
Obtención de credenciales de seguridad (Oracle Wallet) y activación de la conectividad de red
Obtenga credenciales de seguridad de cliente para conectarse a una instancia de Autonomous Database.
Tema principal: Conexión de aplicaciones Python con una cartera (mTLS)
Ejecución de la aplicación Python con el modo delgado python-oracledb con una cartera (mTLS)
Por defecto, python-oracledb utiliza el modo Thin para conectarse directamente a la instancia de Autonomous Database.
En el modo Thin solo se necesitan dos archivos del zip de cartera:
-
tnsnames.ora
: asigna los nombres de servicio de red utilizados para las cadenas de conexión de aplicación a los servicios de base de datos. -
ewallet.pem
: activa las conexiones SSL/TLS en modo Thin.
Para conectarse en modo Thin:
Si está detrás de un firewall, puede establecer un túnel de las conexiones TLS/SSL mediante un proxy mediante HTTPS_PROXY en el descriptor de conexión o mediante la definición de atributos de conexión. La conexión correcta depende de configuraciones de proxy específicas. Oracle no recomienda utilizar un proxy en un entorno de producción, debido al posible impacto en el rendimiento.
En el modo Thin puede especificar un proxy agregando los parámetros https_proxy
y http_proxy_port
.
Por ejemplo, en 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 ejemplo, en 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)
Tema principal: Conexión de aplicaciones Python con una cartera (mTLS)
Ejecución de la aplicación Python con el modo grueso python-oracledb con una cartera (mTLS)
El modo grueso requiere que las bibliotecas del cliente de Oracle se instalen donde se ejecuta Python. También debe llamar a
oracledb.init_oracle_client()
en el código Python.
En el modo Thick se necesitan los tres archivos siguientes del archivo zip de cartera:
-
tnsnames.ora
: contiene los nombres de servicio de red utilizados para las cadenas de conexión de la aplicación y asigna las cadenas a los servicios de base de datos. -
sqlnet.ora
: especifica la configuración del cliente de SQL*Net. cwallet.sso
: contiene la cartera de SSO de apertura automática.
Para conectarse en modo grueso:
Si está detrás de un firewall, puede establecer un túnel de las conexiones TLS/SSL mediante un proxy mediante HTTPS_PROXY en el descriptor de conexión o mediante la definición de atributos de conexión. La conexión correcta depende de configuraciones de proxy específicas. Oracle no recomienda utilizar un proxy en un entorno de producción, debido al posible impacto en el rendimiento.
En el modo Thick puede especificar un proxy editando el archivo sqlnet.ora
y agregando una línea:
SQLNET.USE_HTTPS_PROXY=on
Además, edite tnsnames.ora
y agregue un nombre de proxy HTTPS_PROXY
y un puerto HTTPS_PROXY_PORT
a la lista de direcciones de descriptor de conexión de cualquier nombre de servicio que desee utilizar.
Por ejemplo:
mydb_high=(description=
(address=(https_proxy=myproxy.example.com)
(https_proxy_port=80)
(protocol=tcps)(port=1522)(host=...)
Consulte Enabling python-oracledb Thick mode para obtener información sobre el modo Thick.
Tema principal: Conexión de aplicaciones Python con una cartera (mTLS)