Connexion d'applications Python à l'aide de l'authentification mTLS
S'APPLIQUE À : Exadata Cloud@Customer uniquement
Vous pouvez connecter des applications Python à votre instance Autonomous Database à l'aide de mTLS.
Le mode léger par défaut du pilote python-oracledb se connecte directement à Oracle Database. Le pilote peut éventuellement utiliser les bibliothèques client Oracle, en mode Lourd, pour des fonctionnalités supplémentaires. Les bibliothèques client Oracle peuvent provenir d'Oracle Instant Client, du client Oracle complet ou d'une installation Oracle Database.
Pour connecter votre application Python à une instance Autonomous Database à l'aide de mTLS, procédez comme suit :
- Installation de Python et du pilote python-oracledb
- Obtention des informations d'identification de sécurité (portefeuille Oracle) et activation de la connectivité réseau
- Effectuez cette étape uniquement si vous voulez vous connecter en mode Léger : Exécution d'une application Python à l'aide du mode Léger de python-oracledb
- Pour vous connecter en mode Lourd, procédez comme suit : Exécution d'une application Python à l'aide du mode Lourd de python-oracledb
Rubriques connexes
Installation de Python et du pilote python-oracledb
Pour vous connecter à Autonomous Database à partir de votre application Python, installez Python et le pilote python-oracledb.
Obtention des informations d'identification de sécurité (portefeuille Oracle) et activation de la connectivité réseau
Obtenez les informations d'identification de sécurité client pour vous connecter à une instance Autonomous Database.
Exécution d'une application Python à l'aide du mode léger de python-oracledb (mTLS)
Par défaut, python-oracledb utilise le mode Léger pour se connecter directement à l'instance Autonomous Database.
En mode Léger, seuls deux fichiers du fichier ZIP de portefeuille sont nécessaires :
-
tnsnames.ora
: met en correspondance les noms de service réseau utilisés pour les chaînes de connexion d'application avec vos services de base de données. -
ewallet.pem
: active les connexions SSL/TLS en mode Léger.
Pour vous connecter en mode Léger :
Si vous êtes derrière un pare-feu, vous pouvez mettre en tunnel les connexions TLS/SSL via un proxy à l'aide de HTTPS_PROXY dans le descripteur de connexion ou en définissant des attributs de connexion. La connexion réussie dépend de configurations de proxy spécifiques. Oracle ne recommande pas l'utilisation d'un proxy dans un environnement de production, en raison de l'impact possible sur les performances. Pour plus d'informations, reportez-vous à HTTPS_PROXY dans Référence des services Database Net d'Oracle Database 19c ou Référence des services Database Net d'Oracle Database 23ai.
En mode Léger, vous pouvez indiquer un proxy en ajoutant les paramètres https_proxy
et http_proxy_port
.
Par exemple, sur Linux :
connection=oracledb.connect(
config_dir="/opt/OracleCloud/MYDB",
user="admin",
password=password,
dsn="db2024_low",
wallet_location="/opt/OracleCloud/MYDB",
wallet_password=wallet_pw,
https_proxy='myproxy.example.com',
https_proxy_port=80)
Par exemple, sous Windows :
connection=oracledb.connect(
config_dir=r"C:\opt\OracleCloud\MYDB",
user="admin",
password=password,
dsn="db2024_low",
wallet_location=r"C:\opt\OracleCloud\MYDB",
wallet_password=wallet_pw,
https_proxy='myproxy.example.com',
https_proxy_port=80)
Exécution d'une application Python à l'aide du mode Lourd de python-oracledb (mTLS)
Remarques :
Le mode Lourd nécessite que les bibliothèques client Oracle soient installées là où vous exécutez Python. Vous devez également appeleroracledb.init_oracle_client()
dans votre code Python.
En mode Lick, les trois fichiers suivants du fichier ZIP de portefeuille sont requis :
-
tnsnames.ora
: contient les noms de service réseau utilisés pour les chaînes de connexion d'application et met en correspondance les chaînes avec vos services de base de données. -
sqlnet.ora
: indique la configuration côté client SQL*Net. cwallet.sso
: contient le portefeuille SSO ouvert automatiquement.
Pour vous connecter en mode Lourd :
Si vous êtes derrière un pare-feu, vous pouvez mettre en tunnel les connexions TLS/SSL via un proxy à l'aide de HTTPS_PROXY dans le descripteur de connexion ou en définissant des attributs de connexion. La connexion réussie dépend de configurations de proxy spécifiques. Oracle ne recommande pas l'utilisation d'un proxy dans un environnement de production, en raison de l'impact possible sur les performances. Pour plus d'informations, reportez-vous à HTTPS_PROXY dans Référence des services Database Net d'Oracle Database 19c ou Référence des services Database Net d'Oracle Database 23ai.
En mode Lourd, vous pouvez indiquer un proxy en modifiant le fichier sqlnet.ora
et en ajoutant la ligne suivante :
SQLNET.USE_HTTPS_PROXY=on
En outre, modifiez tnsnames.ora
et ajoutez un nom de proxy HTTPS_PROXY
et un port HTTPS_PROXY_PORT
à la liste d'adresses de descripteur de connexion de tout nom de service que vous prévoyez d'utiliser.
Exemple :
mydb_high=(description=
(address=(https_proxy=myproxy.example.com)
(https_proxy_port=80)
(protocol=tcps)(port=1522)(host=...)
Pour plus d'informations sur le mode Lourd, reportez-vous à Activation du mode Lourd de python-oracledb.