Python-Anwendungen mit mTLS verbinden
Gilt nur für: Exadata Cloud@Customer
Sie können Python-Anwendungen mit mTLS mit der Autonomous AI 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.
Führen Sie die folgenden Schritte aus, um Ihre Python-Anwendung mit mTLS mit einer autonomen KI-Datenbankinstanz zu verbinden:
- Python und den python-oracledb-Treiber installieren
- Sicherheitszugangsdaten (Oracle Wallet) abrufen und Netzwerkkonnektivität aktivieren
- Führen Sie diesen Schritt aus, wenn Sie nur eine Verbindung im Thin-Modus herstellen möchten: Python-Anwendung mit python-oracledb Thin Mode (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 aus eine Verbindung zu Autonomous AI Database herzustellen, installieren Sie Python und den python-oracledb-Treiber.
Sicherheitszugangsdaten (Oracle Wallet) abrufen und Netzwerkkonnektivität aktivieren
Rufen Sie Clientsicherheitszugangsdaten auf, um eine Verbindung zu einer autonomen KI-Datenbankinstanz 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 AI 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. Die erfolgreiche Verbindung hängt von bestimmten Proxykonfigurationen ab. Oracle empfiehlt die Verwendung eines Proxys in einer Produktionsumgebung aufgrund möglicher Auswirkungen auf die Performance nicht. Weitere Informationen finden Sie unter HTTPS_PROXY in der Oracle Database 19c Database Net Services-Referenz oder in der Oracle Database 26ai Database Net Services-Referenz.
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. Die erfolgreiche Verbindung hängt von bestimmten Proxykonfigurationen ab. Oracle empfiehlt die Verwendung eines Proxys in einer Produktionsumgebung aufgrund möglicher Auswirkungen auf die Performance nicht. Weitere Informationen finden Sie unter HTTPS_PROXY in der Oracle Database 19c Database Net Services-Referenz oder in der Oracle Database 26ai Database Net Services-Referenz.
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.