Connettere Node.js e altri linguaggi di scripting (mTLS)
È possibile utilizzare programmi in diversi linguaggi, tra cui Python, Node.js, PHP, Ruby, R, Go e Perl per connettersi a un'istanza di Autonomous Database utilizzando mTLS (con wallet). La sicurezza viene applicata utilizzando le credenziali client.
Questi linguaggi di scripting dispongono di API o driver di accesso al database che utilizzano le librerie di Oracle Call Interface.
I client Oracle Call Interface (OCI) supportano l'autenticazione mTLS con un wallet se si sta eseguendo la connessione utilizzando le versioni client riportate di seguito.
-
Oracle Instant Client/Oracle Database Client: 18.19 (o versione successiva), 19.2 (o versione successiva) o 21 (versione di base o versione successiva).
Per informazioni dettagliate sulla connessione di Node.js o di altri linguaggi di scripting senza wallet, vedere Connetti Node.js e altri linguaggi di scripting senza wallet.
Per ulteriori dettagli, vedere il seguente video:
Installazione del driver lingua e delle librerie client
Per connettersi ad Autonomous Database dal linguaggio di scripting, installare prima il driver della lingua e le librerie client come indicato di seguito.
-
Installare Oracle Instant Client/Oracle Database Client: 18.19 (o versione successiva), 19.2 (o versione successiva) o 21 (release di base o versione successiva).
Instant Client funziona bene per la maggior parte delle applicazioni. Per installare Instant Client, effettuare le operazioni riportate di seguito.
-
Selezionare l'architettura desiderata dalla pagina Download di Instant Client e scaricare un package di base (disponibile nella pagina di download): Download di Oracle Instant Client.
In alternativa, scaricare il Basic Light Package dalla pagina di download per l'architettura desiderata se le limitazioni della globalizzazione Basic Light si adattano all'uso.
-
Se si sta creando un'API o un driver della lingua dal codice sorgente, potrebbe essere necessario anche scaricare l'SDK Instant Client: Oracle Instant Client
-
Decomprimere il package base selezionato. Ad esempio, decomprimere in
C:\instantclient_12_2
o/home/myuser/instantclient_18_5.
Se si scarica anche l'SDK, decomprimerlo nella stessa directory. -
In Windows, aggiungere il percorso alla variabile
PATH
nella sezione "Variabili di sistema" del riquadro Variabili di ambiente (ad esempio aggiungereC:\instantclient_12_2
). In Windows 8 accedere all'area di impostazione delle variabiliPATH
passando a Pannello di controllo>Sistema>Impostazioni di sistema avanzate>Variabili d'ambiente. Se sono installate più versioni delle librerie Oracle, assicurarsi che la nuova directory si verifichi prima nel percorso. -
Nelle piattaforme non Windows, creare un collegamento simbolico se non esiste. Ad esempio:
cd /home/myuser/instantclient_18_5 ln -s libclntsh.so.18.1 libclntsh.so
Se non vi sono altri software Oracle sul sistema che saranno interessati, aggiungere Instant Client al percorso del collegamento runtime. Ad esempio:
sudo sh -c "echo /home/myuser/instantclient_18_5 > /etc/ld.so.conf.d/oic.conf" sudo ldconfig
In alternativa, impostare il percorso della libreria in ogni shell che esegue l'applicazione. Ad esempio:
export LD_LIBRARY_PATH=/home/myuser/instantclient_18_5:$LD_LIBRARY_PATH
Nota
I file di download di Linux Instant Client sono disponibili come file.zip
o file.rpm
. È possibile utilizzare una delle due versioni.
-
-
Installare il driver della lingua pertinente per Oracle Database:
-
Node.js: per installare node-oracledb per Node.js, utilizzare le istruzioni disponibili nella pagina seguente: Installazione di node-oracledb.
-
ROracle: per installare ROracle per R, utilizzare le istruzioni disponibili nella pagina seguente: ROracle
-
PHP: per installare PHP OCI8 per PHP, utilizzare le istruzioni riportate nella pagina seguente: Configurazione di PHP con OCI8.
Le DLL di Windows sono disponibili su http://php.net/downloads.php e sono disponibili anche su PECL oci8.
-
PHP PDO_OCI: per installare PHP PDO_OCI per PHP, utilizzare le istruzioni nella pagina seguente: Oracle Functions (PDO_OCI).
Le DLL di Windows sono disponibili su http://php.net/downloads.php incluse in PHP.
-
Ruby: per installare ruby-oci8 per Ruby, utilizzare le istruzioni nella pagina seguente: Installa per Oracle Instant Client
-
DBD per Perl: per installare DBD::Oracle for Perl, impostare
ORACLE_HOME
e il percorso di ricerca della libreria, ad esempioLD_LIBRARY_PATH
oPATH
, nella directory Instant Client e utilizzare le istruzioni nella pagina seguente: Installazione di DBD-Oracle. -
Python: per istruzioni sulla connessione delle applicazioni Python, vedere Connect Python Applications with a Wallet (mTLS)
-
Abilitare la connettività di Oracle Network e ottenere le credenziali di sicurezza (Oracle Wallet)
-
Ottenere le credenziali di sicurezza del client per connettersi ad Autonomous Database. Si ottiene un file zip contenente le credenziali di sicurezza client e le impostazioni di configurazione di rete necessarie per accedere al database. È necessario proteggere questo file e il relativo contenuto per impedire l'accesso non autorizzato al database. Ottenere il file delle credenziali di sicurezza del client come indicato di seguito.
-
Utente ADMIN: fare clic su Connessione al database. Vedere Download delle credenziali client (wallet).
-
Altro utente (non amministratore): ottenere l'Oracle Wallet dall'amministratore per Autonomous Database.
-
-
Estrarre i file delle credenziali client (wallet):
-
Decomprimere il file zip delle credenziali client.
-
Se si utilizza Instant Client, creare una gerarchia di sottodirectory
network/admin
nella directory Instant Client, se necessario. Quindi spostare i file in questa sottodirectory. Ad esempio, a seconda dell'architettura o del sistema client e della posizione in cui è stato installato Instant Client, i file devono trovarsi nella directory:C:\instantclient_12_2\network\admin
o
/home/myuser/instantclient_18_5/network/admin
o
/usr/lib/oracle/18.5/client64/lib/network/admin
-
Se si utilizza un client Oracle completo, spostare il file in
$ORACLE_HOME/network/admin
.
-
-
In alternativa, inserire i file wallet decompressi in una directory sicura e impostare la variabile di ambiente
TNS_ADMIN
sul nome della directory.
Nota
Dal file zip sono necessari solo i file seguenti:tnsnames.ora
,sqlnet.ora
,cwallet.sso
eewallet.p12
. -
-
Se si è dietro un proxy, attenersi alla procedura descritta in "Connessioni con un proxy HTTP", in Preparazione per le connessioni OCI Oracle Call Interface, ODBC e JDBC con wallet (mTLS).
Esegui applicazione
-
Aggiornare l'applicazione per connettersi utilizzando il nome utente del database, la password e il nome di connessione di Oracle Net specificato nel file
tnsnames.ora
non compresso. Ad esempio, utente,adb_user
, password edb2022adb_low
come stringa di connessione. -
In alternativa, modificare la stringa di connessione in
tnsnames.ora
in modo che corrisponda alla stringa utilizzata dall'applicazione. -
Eseguire l'applicazione.