Go-Anwendungen mit einem Wallet (mTLS) verbinden

Sie können Go-Anwendungen mit einem Wallet mit Ihrer Autonomous Database-Instanz verbinden.

Themen

Oracle Wallet-Datei herunterladen

Sie müssen eine Oracle Wallet-(mTLS-)Datei herunterladen, um die Clientsicherheitszugangsdaten abzurufen, mit denen Sie eine Verbindung zu einer Autonomous Database-Instanz herstellen können.

  1. Laden Sie eine Wallet-Datei aus der Autonomous Database-Instanz herunter, um eine ZIP-Datei mit den Clientsicherheitszugangsdaten und den Netzwerkkonfigurationseinstellungen abzurufen, die für den Zugriff auf eine Autonomous Database-Instanz erforderlich sind.

    Je nachdem, ob Sie ein Admin-Benutzer oder ein Nicht-Admin-Benutzer sind, rufen Sie die Clientsicherheitszugangsdaten (wallet.zip-Datei) wie folgt ab:

    • ADMIN-Benutzer: Klicken Sie in der Oracle Cloud Infrastructure-Konsole auf Datenbankverbindung. Siehe Clientzugangsdaten (Wallets) herunterladen.

    • Anderer Benutzer (ohne Administrator): Rufen Sie das Oracle Wallet vom Administrator für Ihre Autonomous Database-Instanz ab.

      Hinweis

      Schützen Sie die Datei wallet.zip und ihren Inhalt, um einen nicht autorisierten Datenbankzugriff zu verhindern.
  2. Dekomprimieren Sie die Clientzugangsdaten-Datei (wallet.zip).

Go-Anwendungen mit einem Wallet (mTLS) ausführen

Sie können Go-Anwendungen mit einem Wallet mit Ihrer Autonomous Database-Instanz verbinden. Sie müssen eine komprimierte Wallet-Datei aus der Autonomous Database-Instanz herunterladen, die die Clientsicherheitszugangsdaten enthält.

Der godror-Treiber erfordert Oracle-Clientbibliotheken. Siehe Oracle Client Library installieren, um Godror zu verwenden. Die Oracle-Client-Librarys werden dort installiert, wo Sie die Go-Anwendung ausführen.

Die Wallet-Datei hat ein ZIP-Archivformat. Die Datenbankservicenamen finden Sie in der Datei tnsnames.ora in der Wallet-ZIP-Datei. Im folgenden Beispiel verwenden Sie den Netzwerkservicenamen mydb_high, der in der Datei tnsnames.ora zu finden ist.

Die folgenden drei Dateien aus der Wallet-ZIP-Datei sind 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 Konfiguration SQLNet an.

  • cwallet.sso: Enthält das automatisch geöffnete SSO-Wallet.

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

  1. Speichern Sie die Dateien tnsnames.ora, sqlnet.ora und cwallet.sso im optionalen Verzeichnis (opt) Ihres Linux-Systems. Das Verzeichnis /opt dient zur Installation optionaler oder Add-on-Softwarepakete, die nicht Teil des Core-Betriebssystems sind. Sie können die Dateien überall auf Ihrem Microsoft Windows-Betriebssystem platzieren. Beispiel: Unterverzeichnis auf dem Laufwerk C (C:) Ihres Microsoft Windows-Betriebssystems.

    Sie können die Dateien in ein beliebiges zugängliches Verzeichnis verschieben.

    Beispiel: Verschieben Sie die Dateien unter Linux in das Verzeichnis /opt/OracleCloud/MYDB, und bearbeiten Sie sqlnet.ora, um das Wallet-Speicherortverzeichnis in das Verzeichnis zu ändern, das die Datei cwallet.sso enthält.

    Beispiel: Bearbeiten Sie unter Linux sqlnet.ora wie folgt:

    WALLET_LOCATION = (SOURCE = (METHOD=file) (METHOD_DATA = (DIRECTORY="/opt/OracleCloud/MYDB")))
    SSL_SERVER_DN_MATCH=yes

    Wenn sich die Konfigurationsdateien nicht im Standardspeicherort befinden, muss die Go-Anwendung mit dem Parameter config_dir angeben, wo sie sich befinden.

    Hinweis

    Keine dieser Einstellungen ist erforderlich. Sie müssen sqlnet.ora nicht bearbeiten, wenn Sie alle Konfigurationsdateien im Verzeichnis network/admin ablegen.
  2. Legen Sie in der Go-Anwendung die folgenden Verbindungsparameter fest, um eine Verbindung zur Autonomous Database-Instanz herzustellen:
    • user: Gibt den Cloud-Datenbankbenutzer an.
    • password: Gibt das Kennwort des Cloud-Datenbankbenutzers an.
    • config_dir: Gibt das Konfigurationsverzeichnis an, in dem Sie die Dateien tnsnames.ora und sqlnet.ora ablegen. Dies ist erforderlich, wenn die Konfigurationsdateien in einem Verzeichnis außerhalb des Instant Client Configuration Directory network/admin abgelegt werden.
    • dsn: Gibt den gewünschten Netzwerkalias aus der Datei tnsnames.ora an.

    Beispiel: So stellen Sie eine Verbindung als ADMIN-Benutzer her und stellen eine Verbindung zum Netzwerkservicenamen mydb_high her (wo der Servicename in /opt/OracleCloud/MYDB/tnsnames.ora enthalten ist):

    
    dsn := `user="admin"       
          password="password"       
          connectString="mydb_high"             
          configDir="/opt/OracleCloud/MYDB"` 
    db, _ := sql.Open("godror", dsn)
         

    Sie können den oben genannten Code in Ihrer Go-Anwendung verwenden, um eine Verbindungszeichenfolge zu erstellen und eine Verbindung zu Autonomous Database herzustellen.