Python-Anwendungen mit Wallet (TLS) verbinden

Sie können Python-Anwendungen ohne Wallet mit Ihrer Autonomous Database-Instanz verbinden. Die Verbindung einer Python-Anwendung ohne Wallet (TLS) bietet Sicherheit für Authentifizierung und Verschlüsselung. Die Sicherheit wird mit Clientzugangsdaten (durch Angabe eines Benutzernamens und Kennworts) erzwungen.

Der Standard-Thin-Modus des python-oracledb-Treibers stellt eine direkte Verbindung zu Oracle Database her. Optional kann die Oracle-Client-Librarys "Thick mode" für einige zusätzliche Funktionen verwendet werden. Die Oracle Client-Librarys können von Oracle Instant Client, dem vollständigen Oracle Client oder einer Oracle Database-Installation stammen.

Führen Sie die folgenden Schritte aus, um Ihre Python-Anwendung mit einer Autonomous Database-Instanz ohne Wallet (TLS) zu verbinden:

  1. Python und den python-oracledb-Treiber installieren

  2. TLS in Autonomous Database aktivieren und Verbindungszeichenfolge abrufen

  3. Python-Anwendung ohne Wallet ausführen

Informationen zum Thick-Modus finden Sie unter Enabling python-oracledb Thick mode.

Themen

TLS in Autonomous Database aktivieren und Verbindungszeichenfolge abrufen

Um eine Python-Anwendung ohne Wallet auszuführen, aktivieren Sie die Autonomous Database-Instanz für TLS-Verbindungen, und rufen Sie eine Verbindungszeichenfolge ab, um die Datenbank von der Python-Anwendung zu kontaktieren.
  1. Prüfen Sie, ob Ihre Autonomous Database-Instanz für TLS-Verbindungen aktiviert ist.

    Wenn die Instanz für TLS-Verbindungen aktiviert ist, zeigt das Feld Mutual TLS-(mTLS-)Authentifizierung in der Oracle Cloud Infrastructure-Konsole im Bereich Netzwerk Folgendes an: Nicht erforderlich:

    Beschreibung von adb_mutual_tls_not_required.png folgt
    Beschreibung der Abbildung adb_mutual_tls_not_required.png

    Wenn für Ihre Instanz eine gegenseitige TLS-Authentifizierung erforderlich ist,zulassen Sie TLS-Verbindungen in der Autonomous Database-Instanz. Weitere Einzelheiten finden Sie unter Autonomous Database-Instanz so aktualisieren, dass sowohl TLS-als auch mTLS-Authentifizierung zulässig sind.

  2. Rufen Sie wie folgt eine Verbindungszeichenfolge für den Autonomous Database-Service ab, um auf die Datenbank zuzugreifen:
    1. Klicken Sie in der Oracle Cloud Infrastructure-Konsole auf Datenbankverbindung.
    2. Wählen Sie im Dialogfeld "Datenbankverbindung" unter Verbindungszeichenfolgen in der Dropdown-Liste TLS-Authentifizierung die Option TLS aus.
      Hinweis

      Sie müssen in der Dropdown-Liste TLS-Authentifizierung die Option TLS auswählen, um die TLS-Verbindungszeichenfolgen abzurufen, bevor Sie eine Verbindungszeichenfolge kopieren (wenn der Wert Wechsel-TLS lautet, haben die Verbindungszeichenfolgen unterschiedliche Werte und funktionieren nicht mit TLS-Verbindungen).
    3. Kopieren Sie die Verbindungszeichenfolge für den Datenbankservice, den Sie mit der Anwendung verwenden möchten.

Python-Anwendung ohne Wallet ausführen

Eine Python-Anwendung kann mit den Datenbankzugangsdaten und einem Verbindungsdeskriptor eine Verbindung zu Ihrer Autonomous Database-Instanz ohne Wallet (TLS) herstellen.

  1. Rufen Sie die Verbindungszeichenfolge ab, wie unter TLS in Autonomous Database aktivieren und Verbindungszeichenfolge abrufen beschrieben.
  2. Legen Sie in Ihrer Python-Anwendung die folgenden Verbindungsparameter fest, um eine Verbindung zu einer Autonomous Database-Instanz herzustellen:
    • dsn: Verwenden Sie die Verbindungszeichenfolge, um den gewünschten Datenbankservicenamen anzugeben.
    • password: Gibt das Kennwort des Datenbankbenutzers an.
    • user: Gibt den Datenbankbenutzer an.

    Beispiel:

    cs='''(description = (retry_count=20)(retry_delay=3)(address=(protocol=tcps)
         (port=1521)(host=xxx.oraclecloud.com))
         (connect_data=(service_name=xxx.adb.oraclecloud.com))
         (security=(ssl_server_dn_match=yes)))'''
    
    connection=oracledb.connect(
         user="admin",
         password=password,
         dsn=cs)
  3. Wenn Sie eine Verbindung im Thick-Modus herstellen möchten, nehmen Sie oracledb.init_oracle_client() in Ihre Python-Anwendung auf.

    Beispiel:

    cs='''(description = (retry_count=20)(retry_delay=3)(address=(protocol=tcps)
         (port=1521)(host=xxx.oraclecloud.com))
         (connect_data=(service_name=xxx.adb.oraclecloud.com))
         (security=(ssl_server_dn_match=yes)))'''
    
    oracledb.init_oracle_client()
    connection=oracledb.connect(
         user="admin",
         password=password,
         dsn=cs)