Conexión de aplicaciones Python mediante mTLS
SOLO SE APLICA A: Exadata Cloud@Customer
Puede conectar aplicaciones de Python a la instancia de Autonomous Database mediante mTLS.
El "modo fino" por defecto del controlador python-oracledb se conecta directamente a Oracle Database. De manera opcional, el controlador puede utilizar bibliotecas de Oracle Client, "modo grueso", para algunas funciones adicionales. Las bibliotecas de Oracle Client pueden ser de Oracle Instant Client, el cliente de Oracle 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 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 fino: Ejecución de la aplicación Python con el modo fino python-oracledb (mTLS)
- Realice este paso si desea conectarse en modo grueso: Ejecución de la aplicación Python con el modo grueso python-oracledb (mTLS)
Temas relacionados
Instalación de Python y el controlador python-oracledb
Para conectarse a Autonomous Database desde la aplicación Python, instale Python y el controlador python-oracledb.
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.
Ejecución de la aplicación Python con el modo fino python-oracledb (mTLS)
Por defecto, python-oracledb utiliza el modo fino para conectarse directamente a la instancia de Autonomous Database.
En el modo grueso solo se necesitan dos archivos del zip de cartera:
-
tnsnames.ora
: asigna nombres de servicio de red utilizados para cadenas de conexión de aplicaciones a los servicios de base de datos. -
ewallet.pem
: activa las conexiones SSL/TLS en modo fino.
Para conectarse en modo fino:
Si está detrás de un firewall, puede establecer un túnel de conexiones TLS/SSL mediante un proxy mediante HTTPS_PROXY en el descriptor de conexión o mediante la configuració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. Consulte HTTPS_PROXY en Oracle Database 19c Database Net Services Reference u Oracle Database 23ai Database Net Services Reference para obtener más información.
En el modo fino, 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)
Ejecución de la aplicación Python con modo grueso python-oracledb (mTLS)
Note:
El modo grueso requiere que las bibliotecas de Oracle Client estén instaladas donde se ejecuta Python. También debe llamar aoracledb.init_oracle_client()
en el código de Python.
En el modo grueso, se necesitan los siguientes tres archivos del archivo zip de cartera:
-
tnsnames.ora
: contiene los nombres de servicio de red utilizados para las cadenas de conexión de aplicaciones 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 automática.
Para conectarse en modo grueso:
Si está detrás de un firewall, puede establecer un túnel de conexiones TLS/SSL mediante un proxy mediante HTTPS_PROXY en el descriptor de conexión o mediante la configuració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. Consulte HTTPS_PROXY en Oracle Database 19c Database Net Services Reference u Oracle Database 23ai Database Net Services Reference para obtener más información.
En el modo Grueso, 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 del descriptor de conexión de cualquier nombre de servicio que tenga previsto utilizar.
Por ejemplo:
mydb_high=(description=
(address=(https_proxy=myproxy.example.com)
(https_proxy_port=80)
(protocol=tcps)(port=1522)(host=...)
Consulte Activación del modo grueso de python-oracledb para obtener información sobre el modo Grueso.