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

Zur Vorbereitung eines beliebigen Oracle Call Interface-(OCI-)Verbindungstyps mit mTLS-Authentifizierung ist die Installation der Clientsoftware, das Herunterladen von Clientzugangsdaten und das Konfigurieren bestimmter Dateien und Umgebungsvariablen erforderlich.

In diesem Thema wird beschrieben, wie Sie eine Anwendung mit der MTLS-Authentifizierung mit einem Wallet vorbereiten, das Sie aus einer Autonomous Database-Instanz herunterladen. Unter Oracle Call Interface-, ODBC- und JDBC-OCI-Verbindungen mit TLS-Authentifizierung vorbereiten finden Sie Informationen zu den Schritten zur Vorbereitung der TLS-Authentifizierung mit diesen Verbindungstypen.

Neue Oracle-Clientinstallation

Die folgenden Schritte gehen davon aus, dass die Oracle-Clientsoftware noch nicht auf dem Clientrechner installiert wurde. Wenn die Oracle-Clientsoftware bereits installiert wurde und Arbeitskopien von sqlnet.ora und tnsnames.ora vorhanden sind, finden Sie entsprechende Informationen unter Vorhandene Oracle-Clientinstallation aktualisieren.

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

  1. Installieren Sie die Oracle-Client-Software auf Ihrem Rechner.

    • 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 Software, die mindestens erforderlich ist, um eine Oracle Call Interface-Verbindung herzustellen.

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

  3. Dekomprimieren Sie die Zugangsdatendatei in einem sicheren Ordner auf Ihrem Clientrechner.

  4. Bearbeiten Sie die Datei sqlnet.ora in dem Ordner, in dem Sie die Zugangsdatendatei entpacken, 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 unter 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 setzen Sie sie auf den Speicherort der Zugangsdatei.

    Ändern Sie mit dieser Umgebungsvariable den Verzeichnispfad der Oracle Net Services-Konfigurationsdateien vom Standardspeicherort ORACLE_HOME\network\admin in den Speicherort des sicheren Ordners, der die Zugangsdatendatei enthält, die Sie in Schritt 2 gespeichert haben. Setzen Sie die Umgebungsvariable TNS_ADMIN auf das Verzeichnis, in dem sich die dekomprimierten Zugangsdaten befinden, nicht auf die Zugangsdaten-Datei selbst.

    Beispiel: Setzen Sie unter UNIX/Linux TNS_ADMIN auf den vollständigen Pfad des Verzeichnisses, in dem Sie die Clientzugangsdaten entpackt 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 zum 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-Clientsoftwareversion 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 die folgende Zeile zur Datei sqlnet.ora hinzu, um Verbindungen über einen HTTP-Proxy zu ermöglichen:

    SQLNET.USE_HTTPS_PROXY=on
  2. Fügen Sie den Verbindungsdefinitionen in tnsnames.ora den HTTP-Proxyhostnamen und -port hinzu. Sie müssen die Parameter https_proxy und https_proxy_port im Adressabschnitt der Verbindungsdefinitionen hinzufügen. Im folgenden Beispiel 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

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

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

Informationen zu HTTPS_PROXY und HTTPS_PROXY_PORT finden Sie im Protokolladressabschnitt.

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 aus dem Autonomous Database Wallet in die vorhandene Datei tnsnames.ora.