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 Clientsicherheitszugangsdaten abzurufen, mit denen Sie eine Verbindung zu einer Autonomous Database-Instanz herstellen können.

  1. Sie können eine Wallet-Datei von der Autonomous Database-Instanz herunterladen, um eine ZIP-Datei mit den Clientsicherheitszugangsdaten und den Netzwerkkonfigurationseinstellungen für den Zugriff auf eine Autonomous Database-Instanz zu erhalten.

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

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

    • Sonstiger Benutzer (kein Administrator): Beziehen Sie das Oracle Wallet vom Administrator für die Autonomous Database-Instanz.

      Hinweis

      Schützen Sie die Datei wallet.zip und ihren Inhalt, um einen nicht autorisierten Datenbankzugriff zu verhindern.
  2. Dekomprimieren Sie die Clientzugangsdatendatei (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 Treiber godror erfordert Oracle-Clientbibliotheken. Siehe Oracle Client Library zur Verwendung von Godror installieren. 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 in der Datei tnsnames.ora.

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 SQLNet-Konfiguration an.

  • cwallet.sso: Enthält das automatisch offene SSO-Wallet.

So verbinden Sie die Go-Anwendung mit einem Wallet (mTLS) mit einer Autonomous Database-Instanz:

  1. Speichern Sie die Dateien tnsnames.ora, sqlnet.ora und cwallet.sso im optionalen Verzeichnis (opt) Ihres Linux-Systems. Das Verzeichnis /opt wird verwendet, um optionale oder Add-on-Softwarepackages zu installieren, die nicht zum Kernbetriebssystem gehören. Sie können die Dateien an einer beliebigen Stelle in Ihrem Microsoft Windows-Betriebssystem speichern. Beispiel: Unterverzeichnis auf dem C-Laufwerk (C:) Ihres Microsoft Windows-Betriebssystems.

    Sie können die Dateien in ein beliebiges Verzeichnis verschieben, auf das zugegriffen werden kann.

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

    Beispiel: Unter Linux bearbeiten Sie 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 Standardverzeichnis befinden, muss die Go-Anwendung angeben, wo sie sich mit dem Parameter config_dir befinden.

    Hinweis

    Keine dieser Einstellungen ist erforderlich. Wenn Sie alle Konfigurationsdateien im Verzeichnis network/admin speichern, müssen Sie sqlnet.ora nicht bearbeiten.
  2. Legen Sie in der Go-Anwendung die folgenden Verbindungsparameter für die Verbindung mit der Autonomous Database-Instanz fest:
    • 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 speichern. Dies ist erforderlich, wenn die Konfigurationsdateien in einem Verzeichnis außerhalb des Instant Client-Konfigurationsverzeichnisses network/admin abgelegt werden.
    • dsn: Gibt den gewünschten Netzwerkalias aus der Datei tnsnames.ora an.

    Beispiel: So stellen Sie als ADMIN-Benutzer eine Verbindung mit dem Netzwerkservicenamen mydb_high her (wobei 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 der Go-Anwendung verwenden, um eine Verbindungszeichenfolge zu erstellen und eine Verbindung zu Autonomous Database herzustellen.