Connettere le applicazioni Go con un wallet (mTLS)

Puoi connettere le applicazioni Go all'istanza di Autonomous Database con un wallet.

Argomenti

Scarica un file Oracle Wallet

È necessario scaricare un file Oracle Wallet (mTLS) per ottenere le credenziali di sicurezza del client che consentono di connettersi a un'istanza di Autonomous Database.

  1. Scaricare un file wallet dall'istanza di Autonomous Database per ottenere un file zip contenente le credenziali di sicurezza del client e le impostazioni di configurazione di rete necessarie per accedere a un'istanza di Autonomous Database.

    A seconda che l'utente sia un utente amministratore o un utente non amministratore, ottenere le credenziali di sicurezza client (file wallet.zip) come indicato di seguito.

    • Utente ADMIN: nella console di Oracle Cloud Infrastructure, fare clic su Connessione al database. Vedere Download delle credenziali client (wallet).

    • Altro utente (non amministratore): ottenere l'Oracle Wallet dall'amministratore per l'istanza di Autonomous Database.

      Nota

      Proteggere il file wallet.zip e il relativo contenuto per impedire l'accesso non autorizzato al database.
  2. Decomprimere il file delle credenziali client (wallet.zip).

Eseguire Go Applications with a Wallet (mTLS)

Puoi connettere le applicazioni Go all'istanza di Autonomous Database con un wallet. È necessario scaricare un file wallet compresso dall'istanza di Autonomous Database che contiene le credenziali di sicurezza del client.

Il driver godror richiede le librerie client Oracle. Vedere Install Oracle Client Library to use Godror. Le librerie Oracle Client vengono installate dove si esegue l'applicazione Go.

Il file wallet è in formato archivio zip. I nomi dei servizi di database sono disponibili nel file tnsnames.ora nel file zip del wallet. Nell'esempio riportato di seguito, verrà utilizzato il nome del servizio di rete mydb_high presente nel file tnsnames.ora.

Sono necessari i tre file seguenti del file zip del wallet:
  • tnsnames.ora: contiene i nomi di servizio di rete utilizzati per le stringhe di connessione dell'applicazione e mappa le stringhe ai servizi di database.

  • sqlnet.ora: specifica la configurazione del lato client SQLNet.

  • cwallet.sso: contiene il wallet SSO con apertura automatica.

Per connettere l'applicazione Go a un'istanza di Autonomous Database utilizzando un wallet (mTLS), effettuare le operazioni riportate di seguito.

  1. Posizionare i file tnsnames.ora, sqlnet.ora e cwallet.sso nella directory opzionale (opt) del sistema Linux. La directory /opt viene utilizzata per installare pacchetti software opzionali o aggiuntivi che non fanno parte del sistema operativo di base. È possibile posizionare i file in qualsiasi punto del sistema operativo Microsoft Windows. Ad esempio, sottodirectory sull'unità C (C:) del sistema operativo Microsoft Windows.

    È possibile spostare i file in qualsiasi directory accessibile.

    Ad esempio, su Linux spostare i file nella directory /opt/OracleCloud/MYDB e modificare sqlnet.ora per cambiare la directory di posizione del wallet nella directory contenente il file cwallet.sso.

    Ad esempio, in Linux modificare sqlnet.ora come segue:

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

    Quando i file di configurazione non si trovano nella posizione predefinita, l'applicazione Go deve indicare dove si trovano con il parametro config_dir.

    Nota

    Nessuna di queste impostazioni è necessaria e non è necessario modificare sqlnet.ora se si inseriscono tutti i file di configurazione nella directory network/admin.
  2. Nell'applicazione Go impostare i parametri di connessione riportati di seguito per connettersi all'istanza di Autonomous Database.
    • user: specifica l'utente del database cloud.
    • password: specifica la password dell'utente del database cloud.
    • config_dir: specifica la directory di configurazione in cui si collocano i file tnsnames.ora e sqlnet.ora. Questa operazione è necessaria quando i file di configurazione vengono posizionati in una directory esterna alla directory di configurazione del client istantaneo network/admin.
    • dsn: specifica l'alias di rete desiderato nel file tnsnames.ora.

    Ad esempio, per connettersi come utente ADMIN e connettersi al nome del servizio di rete mydb_high (dove il nome del servizio si trova in /opt/OracleCloud/MYDB/tnsnames.ora):

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

    È possibile utilizzare il codice sopra riportato nell'applicazione Go per creare una stringa di connessione e connettersi ad Autonomous Database.