Connetti applicazioni Go con un wallet (mTLS)

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

Temi

Scaricare un file di Oracle Wallet

È necessario scaricare un file Oracle Wallet (mTLS) per ottenere le credenziali di sicurezza 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 che contiene 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 si sia un utente Admin o un utente non Admin, 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 Scarica credenziali client (wallet).

    • Altro utente (non amministratore): ottenere 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. Estrarre il file delle credenziali client (wallet.zip).

Esegui applicazioni Go con un wallet (mTLS)

È possibile connettere le applicazioni Go all'istanza di Autonomous Database con un wallet. È necessario scaricare un file wallet compresso dall'istanza di Autonomous Database contenente 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 in cui viene eseguita l'applicazione Go.

Il file wallet è in un formato di 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 trovato nel file tnsnames.ora.

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

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

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

Attenersi alla procedura riportata di seguito per connettere l'applicazione Go a un'istanza di Autonomous Database utilizzando un wallet (mTLS).

  1. Posizionare i file tnsnames.ora, sqlnet.ora e cwallet.sso nella directory facoltativa (opt) del sistema Linux. La directory /opt consente di installare pacchetti software opzionali o aggiuntivi che non fanno parte del sistema operativo principale. È 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, in Linux spostare i file nella directory /opt/OracleCloud/MYDB e modificare sqlnet.ora per modificare 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 seguenti parametri di connessione 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 desidera collocare i file tnsnames.ora e sqlnet.ora. Ciò è necessario 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 dal file tnsnames.ora.

    Ad esempio, per connettersi come utente ADMIN e connettersi con il 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 riportato sopra nell'applicazione Go per creare una stringa di connessione e connettersi ad Autonomous Database.