Python-Anwendungen mit mTLS verbinden
Gilt nur für: Exadata Cloud@Customer
Sie können Python-Anwendungen mit mTLS mit Ihrer Autonomous Database-Instanz verbinden.
Der standardmäßige "Thin-Modus" des Treibers python-oracledb stellt eine direkte Verbindung zu Oracle Database her. Der Treiber kann optional Oracle-Client-Librarys im "Thick-Modus" für zusätzliche Funktionen verwenden. Die Oracle-Client-Librarys können von Oracle Instant Client, dem vollständigen Oracle-Client oder von einer Oracle Database-Installation stammen.
So verbinden Sie Ihre Python-Anwendung mit mTLS mit einer Autonomous Database-Instanz:
- Python und den python-oracledb-Treiber installieren
- Sicherheitszugangsdaten (Oracle Wallet) abrufen und Netzwerkkonnektivität aktivieren
- Führen Sie diesen Schritt aus, wenn Sie nur im Thin-Modus eine Verbindung herstellen möchten: Python-Anwendung mit python-oracledb-Thin-Modus (mTLS) ausführen
- Führen Sie diesen Schritt aus, wenn Sie die Verbindung im Thick-Modus herstellen möchten: Python-Anwendung mit python-oracledb-Thick-Modus (mTLS) ausführen
Verwandte Themen
Python und den python-oracledb-Treiber installieren
Um von Ihrer Python-Anwendung eine Verbindung zu Autonomous Database herzustellen, installieren Sie Python und den python-oracledb-Treiber.
Sicherheitszugangsdaten (Oracle Wallet) abrufen und Netzwerkkonnektivität aktivieren
Rufen Sie die Clientsicherheitszugangsdaten ab, um eine Verbindung zu einer Autonomous Database-Instanz herzustellen.
Python-Anwendung mit python-oracledb-Thin-Modus (mTLS) ausführen
Standardmäßig verwendet python-oracledb den Thin-Modus, um eine direkte Verbindung zur Autonomous Database-Instanz herzustellen.
Im Thin-Modus werden nur zwei Dateien aus der Wallet-ZIP-Datei benötigt:
-
tnsnames.ora
: Ordnet den Datenbankservices Netzwerkservicenamen, die für Anwendungsverbindungszeichenfolgen verwendet werden, zu. -
ewallet.pem
: Ermöglicht SSL-/TLS-Verbindungen im Thin-Modus.
So melden Sie sich im Thin-Modus an:
Wenn Sie sich hinter einer Firewall befinden, können Sie TLS-/SSL-Verbindungen über einen Proxy tunneln, indem Sie HTTPS_PROXY im Verbindungsdeskriptor verwenden oder Verbindungsattribute festlegen. Erfolgreiche Verbindung hängt von bestimmten Proxykonfigurationen ab. Oracle empfiehlt die Verwendung eines Proxys in einer Produktionsumgebung aufgrund der möglichen Auswirkung auf die Performance nicht. Weitere Informationen finden Sie unter HTTPS_PROXY in der Oracle Database 19c Database Net Services Reference oder in der Oracle Database 23ai Database Net Services Reference.
Im Thin-Modus können Sie einen Proxy angeben, indem Sie die Parameter https_proxy
und http_proxy_port
hinzufügen.
Beispiel unter 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)
Beispiel für 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)
Python-Anwendung mit python-oracledb-Thick-Modus (mTLS) ausführen
Hinweis:
Der Thick-Modus erfordert, dass die Oracle-Client-Librarys dort installiert sind, wo Sie Python ausführen. Außerdem müssen Sieoracledb.init_oracle_client()
in Ihrem Python-Code aufrufen.
Im Thick-Modus sind die folgenden drei Dateien aus der Wallet-ZIP-Datei erforderlich:
-
tnsnames.ora
: Enthält die Netzwerkservicenamen, die für Anwendungsverbindungszeichenfolgen verwendet werden, und ordnet die Zeichenfolgen den Datenbankservices zu. -
sqlnet.ora
: Gibt die clientseitige SQL*Net-Konfiguration an. cwallet.sso
: Enthält das automatisch geöffnete SSO-Wallet.
So melden Sie sich im Thick-Modus an:
Wenn Sie sich hinter einer Firewall befinden, können Sie TLS-/SSL-Verbindungen über einen Proxy tunneln, indem Sie HTTPS_PROXY im Verbindungsdeskriptor verwenden oder Verbindungsattribute festlegen. Erfolgreiche Verbindung hängt von bestimmten Proxykonfigurationen ab. Oracle empfiehlt die Verwendung eines Proxys in einer Produktionsumgebung aufgrund der möglichen Auswirkung auf die Performance nicht. Weitere Informationen finden Sie unter HTTPS_PROXY in der Oracle Database 19c Database Net Services Reference oder in der Oracle Database 23ai Database Net Services Reference.
Im Thick-Modus können Sie einen Proxy angeben, indem Sie die Datei sqlnet.ora
bearbeiten und eine Zeile hinzufügen:
SQLNET.USE_HTTPS_PROXY=on
Bearbeiten Sie außerdem tnsnames.ora
, und fügen Sie für jeden Servicenamen, den Sie verwenden möchten, einen HTTPS_PROXY
-Proxynamen und einen HTTPS_PROXY_PORT
-Port zur Adressliste des Verbindungsdeskriptors hinzu.
Beispiel:
mydb_high=(description=
(address=(https_proxy=myproxy.example.com)
(https_proxy_port=80)
(protocol=tcps)(port=1522)(host=...)
Informationen zum Thick-Modus finden Sie unter Enabling python-oracledb Thick mode.