Connettere le applicazioni Python con un wallet (mTLS)
Puoi connettere le applicazioni Python all'istanza di Autonomous Database con un wallet.
La "modalità sottile" predefinita del driver python-oracledb si connette direttamente a Oracle Database. Il driver può facoltativamente utilizzare le librerie Oracle Client, la "modalità Spessa", per alcune funzionalità aggiuntive. Le librerie Oracle Client possono provenire da Oracle Instant Client, dall'intero client Oracle o da un'installazione di Oracle Database.
Per connettere l'applicazione Python a un'istanza di Autonomous Database utilizzando un wallet (mTLS), effettuare le operazioni riportate di seguito.
- 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à sottile: Esegui applicazione Python con modalità sottile python-oracledb con wallet (mTLS)
- Eseguire questo passo se si desidera eseguire la connessione in modalità Spessa: Esegui applicazione Python con modalità Spessa python-oracledb con wallet (mTLS)
Argomenti
- Ottenere le credenziali di sicurezza (Oracle Wallet) e abilitare la connettività di rete
Ottenere le credenziali di sicurezza del client per connettersi a un'istanza di Autonomous Database. - Esegui applicazione Python con modalità Thin python-oracledb con wallet (mTLS)
Per impostazione predefinita, python-oracledb utilizza la modalità Thin per connettersi direttamente all'istanza di Autonomous Database. - Esegui applicazione Python con modalità Thick python-oracledb con wallet (mTLS)
Per impostazione predefinita, python-oracledb viene eseguito in modalità Thin che si connette direttamente a Oracle Database. Ulteriori funzionalità di python-oracledb sono disponibili quando il driver viene eseguito in modalità Spessa.
Argomento padre: Connettere le applicazioni Python ad Autonomous Database
Ottenere le credenziali di sicurezza (Oracle Wallet) e abilitare la connettività di rete
Ottenere le credenziali di sicurezza del client per connettersi a un'istanza di Autonomous Database.
Argomento padre: Connettere le applicazioni Python a un wallet (mTLS)
Esegui applicazione Python con modalità Thin python-oracledb con wallet (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
: consente di mappare 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 specifiche configurazioni proxy. Oracle sconsiglia l'utilizzo di un proxy in un ambiente di produzione a causa del possibile impatto sulle prestazioni.
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)
Argomento padre: Connettere le applicazioni Python a un wallet (mTLS)
Esegui applicazione Python con modalità Thick python-oracledb con wallet (mTLS)
La modalità Spessa richiede che le librerie del client Oracle siano installate dove si esegue Python. È inoltre necessario chiamare
oracledb.init_oracle_client()
nel codice Python.
In modalità Spessore sono necessari i tre file seguenti del file zip del wallet:
-
tnsnames.ora
: contiene i nomi di servizio di rete utilizzati per le stringhe di connessione dell'applicazione e mappa le stringhe 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 specifiche configurazioni proxy. Oracle sconsiglia l'utilizzo di un proxy in un ambiente di produzione a causa del possibile impatto sulle prestazioni.
In modalità Spessore è 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 Enabling python-oracledb Thick mode.
Argomento padre: Connettere le applicazioni Python a un wallet (mTLS)