Préparer les connexions avec l'interface d'appel Oracle, ODBC et l'interface d'appel Oracle JDBC à l'aide de portefeuilles (mTLS)
La préparation de tout type de connexion Oracle Call Interface (OCI) avec l'authentification mTLS nécessite l'installation du logiciel client, le téléchargement des données d'identification du client et la configuration de certains fichiers et variables d'environnement.
Cette rubrique décrit les étapes pour préparer une application à se connecter à l'aide de l'authentification mTLS avec un portefeuille que vous téléchargez à partir d'une instance de base de données du service d'intelligence artificielle autonome. Voir Préparer les connexions OCI Oracle Call Interface, ODBC et JDBC à l'aide de l'authentification TLS pour plus d'informations sur les étapes de préparation à l'authentification TLS avec ces types de connexion.
Installation d'un nouveau client Oracle
Les étapes suivantes supposent que le logiciel client Oracle n'a pas déjà été installé sur l'ordinateur client. Si le logiciel client Oracle a déjà été installé et qu'il existe des copies de travail de sqlnet.ora et tnsnames.ora, voir Mise à jour d'une installation client Oracle existante.
Avant d'établir une connexion Oracle Call Interface (OCI), ODBC ou JDBC OCI, procédez comme suit :
-
Installez le logiciel client Oracle sur votre ordinateur.
-
Oracle Instant Client/Oracle Database Client : 18.19 (ou version ultérieure), 19.2 (ou version ultérieure) ou 21 (version de base ou version ultérieure). Le client instantané contient le logiciel minimal nécessaire pour établir une connexion à Oracle Call Interface.
-
-
Téléchargez les données d'identification du client et stockez le fichier dans un dossier sécurisé sur votre ordinateur client. Voir Télécharger des données d'identification de client (portefeuilles).
-
Décompressez/décompressez le fichier de données d'identification dans un dossier sécurisé sur votre ordinateur client.
-
Modifiez le fichier
sqlnet.oradans le dossier où vous décompressez le fichier de données d'identification, en remplaçant"?/network/admin"par le nom du dossier contenant les données d'identification du client.Par exemple, modifiez
sqlnet.oracomme suit :WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin"))) SSL_SERVER_DN_MATCH=yesLa valeur modifiée sur UNIX/Linux est :
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adb_credentials"))) SSL_SERVER_DN_MATCH=yesLa valeur modifiée pour Windows est :
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="D:\\myapp\\adb_credentials"))) SSL_SERVER_DN_MATCH=yes -
Créez la variable d'environnement
TNS_ADMINet réglez-la à l'emplacement du fichier de données d'identification.Utilisez cette variable d'environnement pour modifier le chemin d'accès au répertoire des fichiers de configuration Oracle Net Services de l'emplacement par défaut de
ORACLE_HOME\network\adminà l'emplacement du dossier sécurisé contenant le fichier de données d'identification que vous avez enregistré à l'étape 2. Réglez la variable d'environnementTNS_ADMINau répertoire où se trouvent les fichiers de données d'identification décompressés, et non au fichier de données d'identification lui-même.Par exemple, sous UNIX/Linux, réglez
TNS_ADMINau chemin complet du répertoire où vous avez décompressé les données d'identification du client :export TNS_ADMIN=/home/adb_credentialsPar exemple, sous Windows :
set TNS_ADMIN=d:\myapp\adb_credentials
Connexions avec un mandataire HTTP
Si le client est derrière un pare-feu et que votre configuration réseau nécessite un mandataire HTTP pour se connecter à Internet, effectuez les étapes suivantes pour mettre à jour les fichiers sqlnet.ora et tnsnames.ora. Les connexions au moyen d'un mandataire HTTP ne sont disponibles qu'avec le logiciel client Oracle version 12.2.0.1 ou ultérieure.
Pour éviter les mises à jour manuelles dans les fichiers
sqlnet.ora et tnsnames.ora, vous pouvez utiliser SQLcl et spécifier le mandataire HTTP sur la ligne de commande. Pour plus d'informations, voir Connecter Oracle SQLcl Cloud avec un portefeuille (mTLS).
-
Ajoutez la ligne suivante au fichier
sqlnet.orapour activer les connexions au moyen d'un mandataire HTTP :SQLNET.USE_HTTPS_PROXY=on -
Ajoutez le nom d'hôte et le port du mandataire HTTP aux définitions de connexion dans
tnsnames.ora. Vous devez ajouter les paramètreshttps_proxyethttps_proxy_portdans la section d'adresse des définitions de connexion. Par exemple, ce qui suit règle le mandataire HTTP àproxyhostnameet le port mandataire HTTP à80; remplacez ces valeurs par vos informations de mandataire HTTP :ADB1_high = (description= (address= (https_proxy=proxyhostname)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adb.example.oraclecloud.com) ) (connect_data=(service_name=adb1_high.adb.oraclecloud.com) ) (security=(ssl_server_dn_match=yes)) ) )
La configuration de
sqlnet.ora et tnsnames.ora pour le mandataire HTTP peut ne pas être suffisante en fonction de la configuration du réseau et des politiques de sécurité de votre organisation. Par exemple, certains réseaux nécessitent username et password pour le mandataire HTTP. Dans ce cas, communiquez avec l'administrateur de réseau pour ouvrir des connexions sortantes vers les hôtes du domaine oraclecloud.com à l'aide du port 1522 sans passer par un mandataire HTTP.
Pour plus d'informations sur SQLNET.USE_HTTPS_PROXY, consultez Informations de référence sur les services NetSuite.
Pour plus d'informations sur HTTPS_PROXY et HTTPS_PROXY_PORT, voir Section Adresse du protocole.
Mise à jour d'une installation client Oracle existante
Si vous disposez d'une installation de client Oracle, vous disposez déjà des fichiers sqlnet.ora et tnsnames.ora et de la variable d'environnement TNS_ADMIN. Dans ce cas, procédez comme suit :
-
Mettez à jour votre fichier
sqlnet.oraen ajoutant les éléments suivants :WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adb_credentials"))) -
Copiez les entrées du fichier
tnsnames.orafourni dans le portefeuille de la base de données du service d'intelligence artificielle autonome dans votre fichiertnsnames.oraexistant.