Connetti applicazioni Python con mTLS
SI APPLICA A: solo Exadata Cloud@Customer
È possibile connettere le applicazioni Python all'istanza di Autonomous Database utilizzando mTLS.
La "modalità thin" predefinita del driver python-oracledb si connette direttamente a Oracle Database. Il driver può facoltativamente utilizzare le librerie del client Oracle, "Modalità Spessa", per alcune funzionalità aggiuntive. Le librerie Oracle Client possono essere da Oracle Instant Client, dal client Oracle completo o da un'installazione di Oracle Database.
Attenersi alla procedura riportata di seguito per connettere l'applicazione Python a un'istanza di Autonomous Database utilizzando mTLS.
- Installare Python e il driver python-oracledb
- Ottenere le credenziali di sicurezza (Oracle Wallet) e abilitare la connettività di rete
- Eseguire questo passo se si desidera connettersi solo in modalità Thin: Esegui applicazione Python con modalità Thin python-oracledb (mTLS)
- Eseguire questo passo se si desidera connettersi in modalità Spessa: Eseguire l'applicazione Python con la modalità Spessa python-oracledb (mTLS)
Argomenti correlati
Installare Python e il driver python-oracledb
Per connettersi a Autonomous Database dall'applicazione Python, installare Python e il driver python-oracledb.
Ottenere le credenziali di sicurezza (Oracle Wallet) e abilitare la connettività di rete
Ottenere le credenziali di sicurezza client per connettersi a un'istanza di Autonomous Database.
Esegui applicazione Python con modalità thin python-oracledb (mTLS)
Per impostazione predefinita, python-oracledb utilizza la modalità Thin per connettersi direttamente all'istanza di Autonomous Database.
In modalità Thin sono necessari solo due file dal file zip del wallet:
-
tnsnames.ora
: associa i nomi dei servizi di rete utilizzati per le stringhe di connessione dell'applicazione ai servizi di database. -
ewallet.pem
: abilita le connessioni SSL/TLS in modalità Thin.
Per connettersi in modalità sottile:
Se si è protetti da un firewall, è possibile eseguire il tunneling delle connessioni TLS/SSL tramite un proxy utilizzando HTTPS_PROXY nel descrittore di connessione o impostando gli attributi di connessione. La connessione riuscita dipende da configurazioni proxy specifiche. Oracle sconsiglia di utilizzare un proxy in un ambiente di produzione, a causa del possibile impatto sulle prestazioni. Per ulteriori informazioni, consulta HTTPS_PROXY in Oracle Database 19c Database Net Services Reference oppure Oracle Database 23ai Database Net Services Reference.
In modalità Thin è possibile specificare un proxy aggiungendo i parametri https_proxy
e http_proxy_port
.
Ad esempio, su 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)
Ad esempio, in 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)
Eseguire l'applicazione Python con modalità Spessore python-oracledb (mTLS)
Nota
La modalità Spessa richiede che le librerie del client Oracle siano installate in cui si esegue Python. È inoltre necessario chiamareoracledb.init_oracle_client()
nel codice Python.
In modalità Spessa sono necessari i tre file seguenti del file zip del wallet:
-
tnsnames.ora
: contiene i nomi dei servizi di rete utilizzati per le stringhe di connessione dell'applicazione e le mappa ai servizi di database. -
sqlnet.ora
: specifica la configurazione lato client SQL*Net. cwallet.sso
: contiene il wallet SSO con apertura automatica.
Per connettersi in modalità Spessa:
Se si è protetti da un firewall, è possibile eseguire il tunneling delle connessioni TLS/SSL tramite un proxy utilizzando HTTPS_PROXY nel descrittore di connessione o impostando gli attributi di connessione. La connessione riuscita dipende da configurazioni proxy specifiche. Oracle sconsiglia di utilizzare un proxy in un ambiente di produzione, a causa del possibile impatto sulle prestazioni. Per ulteriori informazioni, consulta HTTPS_PROXY in Oracle Database 19c Database Net Services Reference oppure Oracle Database 23ai Database Net Services Reference.
In modalità Spessa è possibile specificare un proxy modificando il file sqlnet.ora
e aggiungendo una riga:
SQLNET.USE_HTTPS_PROXY=on
Inoltre, modificare tnsnames.ora
e aggiungere un nome proxy HTTPS_PROXY
e una porta HTTPS_PROXY_PORT
alla lista di indirizzi del descrittore di connessione di qualsiasi nome di servizio che si prevede di utilizzare.
Ad esempio:
mydb_high=(description=
(address=(https_proxy=myproxy.example.com)
(https_proxy_port=80)
(protocol=tcps)(port=1522)(host=...)
Per informazioni sulla modalità Spessa, vedere Abilitazione della modalità Spessa di python-oracledb.