Conexión de aplicaciones Python mediante mTLS
SOLO SE APLICA A: Exadata Cloud@Customer
Puede conectar aplicaciones Python a la instancia de Autonomous AI 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 base de datos de IA autónoma 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 Thin: Ejecute la aplicación Python con el modo Thin oracledb de python (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 AI 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 del cliente de seguridad para conectarse a una instancia de la base de datos de IA autónoma.
Ejecución de la aplicación Python con el modo fino python-oracledb (mTLS)
Por defecto, python-oracledb utiliza el modo Thin para conectarse directamente a su instancia de Autonomous AI 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 las conexiones TLS/SSL a través de un proxy mediante HTTPS_PROXY en el descriptor de conexión o definiendo 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 Referencia de servicios de red de base de datos de Oracle Database 19c u Referencia de servicios de red de base de datos de Oracle Database 26ai 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 las conexiones TLS/SSL a través de un proxy mediante HTTPS_PROXY en el descriptor de conexión o definiendo 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 Referencia de servicios de red de base de datos de Oracle Database 19c u Referencia de servicios de red de base de datos de Oracle Database 26ai 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.