Python-Anwendungen ohne 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 dabei mit Clientzugangsdaten erzwungen ( indem Sie einen Benutzernamen und ein Kennwort angeben).

Der standardmäßige "Thin-Modus" des Treibers python-oracledb stellt eine direkte Verbindung zu Oracle Database her. Optional können Oracle-Client-Librarys, "Thick-Modus", für zusätzliche Funktionen verwendet werden. 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 ohne Wallet (TLS) mit einer Autonomous Database-Instanz:

  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 Modus "Dicke" 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. Rufen Sie eine Verbindungszeichenfolge ab, um die Datenbank von der Python-Anwendung zu kontaktieren.
  1. Prüfen Sie, ob die Autonomous Database-Instanz für TLS-Verbindungen aktiviert ist.

    Wenn die Instanz für TLS-Verbindungen aktiviert ist, wird im Bereich Netzwerk in der Oracle Cloud Infrastructure-Konsole im Feld Gegenseitige TLS-Authentifizierung (mTLS): Nicht erforderlich angezeigt:

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

    Wenn Ihre Instanz eine gegenseitige TLS-Authentifizierung erfordert, lassen Sie TLS-Verbindungen auf Ihrer Autonomous Database-Instanz zu. 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 Gegenseitige TLS lautet, haben die Verbindungszeichenfolgen unterschiedliche Werte und können nicht mit TLS-Verbindungen verwendet werden.)
    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 Verbindungsbeschreibung 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 der Python-Anwendung die folgenden Verbindungsparameter für die Verbindung mit einer Autonomous Database-Instanz fest:
    • dsn: Geben Sie mit der Verbindungszeichenfolge den Namen des gewünschten Datenbankservice an.
    • password: Gibt Sie das Kennwort des Datenbankbenutzers an.
    • user: Gibt den Datenbankbenutzer an.

    Beispiele:

    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 im Thick-Modus eine Verbindung herstellen möchten, fügen Sie oracledb.init_oracle_client() in die Python-Anwendung ein.

    Beispiele:

    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)