Python-Anwendungen mit einem Wallet (mTLS) verbinden
Sie können Python-Anwendungen mit einem Wallet mit Ihrer Autonomous Database-Instanz verbinden.
Der Standard-Thin-Modus des python-oracledb-Treibers stellt eine direkte Verbindung zu Oracle Database her. Der Treiber kann optional die Oracle-Client-Librarys "Thick mode" für einige 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 einem Wallet (mTLS) mit einer Autonomous Database-Instanz 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-Modus mit einem Wallet (mTLS) ausführen
- Führen Sie diesen Schritt aus, wenn Sie eine Verbindung im Thick-Modus herstellen möchten: Python-Anwendung mit python-oracledb Thick Mode with a Wallet (mTLS) ausführen
Themen
- Sicherheitszugangsdaten abrufen (Oracle Wallet) und Netzwerkkonnektivität aktivieren
Rufen Sie Clientsicherheitszugangsdaten für die Verbindung zu einer Autonomous Database-Instanz ab. - Python-Anwendung mit python-oracledb Thin-Modus mit einem Wallet (mTLS) ausführen
Standardmäßig verwendet python-oracledb den Thin-Modus, um eine direkte Verbindung zur Autonomous Database-Instanz herzustellen. - Python-Anwendung mit python-oracledb Thick Mode mit einem Wallet (mTLS) ausführen
Standardmäßig wird python-oracledb im Thin-Modus ausgeführt, der sich direkt mit Oracle Database verbindet. Zusätzliche python-oracledb-Funktionen sind verfügbar, wenn der Treiber im Thick-Modus ausgeführt wird.
Übergeordnetes Thema: Python-Anwendungen mit Autonomous Database verbinden
Sicherheitszugangsdaten (Oracle Wallet) abrufen und Netzwerkkonnektivität aktivieren
Rufen Sie die Clientsicherheitszugangsdaten ab, um eine Verbindung zu einer Autonomous Database-Instanz herzustellen.
Übergeordnetes Thema: Python-Anwendungen mit einem Wallet (mTLS) verbinden
Python-Anwendung mit python-oracledb Thin-Modus mit einem Wallet (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 dem Wallet-ZIP benötigt:
-
tnsnames.ora
: Ordnet den Datenbankservices Net Service-Namen zu, die für Anwendungsverbindungszeichenfolgen verwendet werden. -
ewallet.pem
: Aktiviert SSL-/TLS-Verbindungen im Thin-Modus.
So stellen Sie Verbindungen im Thin-Modus her:
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.
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)
Übergeordnetes Thema: Python-Anwendungen mit einem Wallet (mTLS) verbinden
Python-Anwendung mit python-oracledb Thick Mode mit einem Wallet (mTLS) ausführen
Im Thick-Modus müssen die Oracle-Client-Librarys dort installiert sein, wo Sie Python ausführen. Sie müssen auch
oracledb.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 Net Service-Namen, 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 stellen Sie Verbindungen im Thick-Modus her:
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.
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 einen HTTPS_PROXY
-Proxynamen und einen HTTPS_PROXY_PORT
-Port zur Verbindungsdeskriptor-Adressliste eines beliebigen Servicenamens hinzu, den Sie verwenden möchten.
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.
Übergeordnetes Thema: Python-Anwendungen mit einem Wallet (mTLS) verbinden