Oracle Call Interface-, ODBC- und JDBC-OCI-Verbindungen mit Wallets (mTLS) vorbereiten

Die Vorbereitung einer beliebigen Oracle Call Interface-(OCI-)Verbindung mit der mTLS-Authentifizierung erfordert die Installation von Clientsoftware, das Herunterladen von Clientzugangsdaten und das Konfigurieren bestimmter Dateien und Umgebungsvariablen.

In diesem Thema werden die Schritte zum Vorbereiten einer Anwendung für die Verbindung mit einer mTLS-Authentifizierung mit einem Wallet beschrieben, das Sie von einer Autonomous Database-Instanz herunterladen. Informationen zu den Schritten zur Vorbereitung auf die TLS-Authentifizierung mit diesen Verbindungstypen finden Sie unter Oracle Call Interface-, ODBC- und JDBC-OCI-Verbindungen mit TLS-Authentifizierung vorbereiten.

Neue Oracle Client-Installation

Bei den folgenden Schritten wird davon ausgegangen, dass die Oracle-Clientsoftware noch nicht auf dem Clientcomputer installiert wurde. Wenn die Oracle-Clientsoftware bereits installiert wurde und Arbeitskopien von sqlnet.ora und tnsnames.ora vorhanden sind, lesen Sie Vorhandene Oracle-Clientinstallation aktualisieren.

Bevor Sie eine Oracle Call Interface-(OCI-) oder JDBC-OCI-Verbindung herstellen, gehen Sie wie folgt vor:

  1. Installieren Sie die Oracle-Clientsoftware auf Ihrem Computer.

    • Oracle Instant Client/Oracle Database Client: 18.19 (oder höher), 19.2 (oder höher) oder 21 (Basisrelease oder höher). Der Instant Client enthält die minimale Software, die zum Herstellen einer Oracle Call Interface-Verbindung erforderlich ist.

  2. Laden Sie die Clientzugangsdaten herunter, und speichern Sie die Datei in einem sicheren Ordner auf Ihrem Clientcomputer. Siehe Clientzugangsdaten (Wallets) herunterladen.

  3. Entpacken/dekomprimieren Sie die Zugangsdatendatei in einen sicheren Ordner auf Ihrem Clientcomputer.

  4. Bearbeiten Sie die Datei sqlnet.ora in dem Ordner, in dem Sie die Zugangsdatendatei dekomprimieren, und ersetzen Sie "?/network/admin" durch den Namen des Ordners, der die Clientzugangsdaten enthält.

    Beispiel: Bearbeiten Sie sqlnet.ora wie folgt:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin")))
    SSL_SERVER_DN_MATCH=yes

    Der geänderte Wert unter UNIX/Linux lautet:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adb_credentials")))
    SSL_SERVER_DN_MATCH=yes
    

    Der geänderte Wert für Windows lautet:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="D:\\myapp\\adb_credentials")))
    SSL_SERVER_DN_MATCH=yes
    
  5. Erstellen Sie die Umgebungsvariable TNS_ADMIN, und legen Sie sie auf den Speicherort der Zugangsdatendatei fest.

    Mit dieser Umgebungsvariablen können Sie den Verzeichnispfad der Oracle Net Services-Konfigurationsdateien vom Standardspeicherort ORACLE_HOME\network\admin in den Speicherort des sicheren Ordners ändern, der die in Schritt 2 gespeicherte Zugangsdatendatei enthält. Legen Sie die Umgebungsvariable TNS_ADMIN auf das Verzeichnis fest, in dem sich die entpackten Zugangsdatendateien befinden, nicht auf die Zugangsdatendatei selbst.

    Beispiel: Setzen Sie unter UNIX/Linux TNS_ADMIN auf den vollständigen Pfad des Verzeichnisses, in dem Sie die Clientzugangsdaten dekomprimiert haben:

    export TNS_ADMIN=/home/adb_credentials

    Beispiel für Windows:

    set TNS_ADMIN=d:\myapp\adb_credentials

Verbindungen mit einem HTTP-Proxy

Wenn sich der Client hinter einer Firewall befindet und Ihre Netzwerkkonfiguration einen HTTP-Proxy für die Verbindung mit dem Internet erfordert, führen Sie die folgenden Schritte aus, um die Dateien sqlnet.ora und tnsnames.ora zu aktualisieren. Verbindungen über einen HTTP-Proxy sind nur mit der Oracle-Client-Softwareversion 12.2.0.1 oder höher verfügbar.

Hinweis

Um manuelle Aktualisierungen in den Dateien sqlnet.ora und tnsnames.ora zu vermeiden, können Sie SQLcl verwenden und den HTTP-Proxy in der Befehlszeile angeben. Weitere Informationen finden Sie unter Oracle SQLcl Cloud mit einem Wallet (mTLS) verbinden.
  1. Fügen Sie der Datei sqlnet.ora die folgende Zeile hinzu, um Verbindungen über einen HTTP-Proxy zu aktivieren:

    SQLNET.USE_HTTPS_PROXY=on
  2. Fügen Sie den HTTP-Proxyhostnamen und -Port zu den Verbindungsdefinitionen in tnsnames.ora hinzu. Sie müssen die Parameter https_proxy und https_proxy_port im Adressabschnitt der Verbindungsdefinitionen hinzufügen. Beispiel: Im Folgenden wird der HTTP-Proxy auf proxyhostname und der HTTP-Proxyport auf 80 gesetzt. Ersetzen Sie diese Werte durch Ihre HTTP-Proxyinformationen:

    ADB1_high =
           (description=
                 (address=
                       (https_proxy=proxyhostname)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adb.example.oraclecloud.com)
                 )
                 (connect_data=(service_name=adb1_high.adb.oraclecloud.com)
                 )
                 (security=(ssl_server_dn_match=yes))
                 )
           )

Hinweis

Je nach Netzwerkkonfiguration und Sicherheits-Policys Ihrer Organisation ist die Konfiguration von sqlnet.ora und tnsnames.ora für den HTTP-Proxy möglicherweise nicht ausreichend. Beispielsweise erfordern einige Netzwerke username und password für den HTTP-Proxy. Wenden Sie sich in solchen Fällen an den Netzwerkadministrator, um ausgehende Verbindungen zu Hosts in der Domain oraclecloud.com über Port 1522 zu öffnen, ohne einen HTTP-Proxy durchlaufen zu müssen.

Weitere Informationen zu SQLNET.USE_HTTPS_PROXY finden Sie in der Net Services-Referenz.

Informationen zu HTTPS_PROXY und HTTPS_PROXY_PORT finden Sie unter Abschnitt "Protokolladresse".

Vorhandene Oracle-Clientinstallation aktualisieren

Wenn bereits eine Oracle-Clientinstallation vorhanden ist, sind bereits die Dateien sqlnet.ora und tnsnames.ora sowie die Umgebungsvariable TNS_ADMIN vorhanden. In diesem Fall gehen Sie folgendermaßen vor:

  1. Aktualisieren Sie die Datei sqlnet.ora, indem Sie Folgendes hinzufügen:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adb_credentials")))
  2. Kopieren Sie die Einträge in der Datei tnsnames.ora, die im Autonomous Database-Wallet bereitgestellt wird, in die vorhandene Datei tnsnames.ora.