Connexion d'applications Python sans portefeuille (TLS)

Vous pouvez connecter des applications Python à votre instance Autonomous Database sans portefeuille. La connexion d'une application Python sans portefeuille (TLS) assure la sécurité de l'authentification et du cryptage, et la sécurité est appliquée à l'aide des informations d'identification client (en fournissant un nom utilisateur et un mot de passe).

Le "mode léger" par défaut du pilote python-oracledb se connecte directement à Oracle Database. Il peut éventuellement utiliser les bibliothèques client Oracle, "Mode épais", pour d'autres fonctionnalités. Les bibliothèques Oracle Client 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 sans portefeuille (TLS), procédez comme suit :

  1. Installation de Python et du pilote python-oracledb

  2. Activation de TLS sur Autonomous Database et obtention d'une chaîne de connexion

  3. Exécution d'une application Python sans portefeuille

Pour plus d'informations sur le mode épais, reportez-vous à la section Enabling python-oracledb Thick mode.

Sujets

Activation de TLS sur Autonomous Database et obtention d'une chaîne de connexion

Pour exécuter une application Python sans portefeuille, activez l'instance Autonomous Database pour les connexions TLS et obtenez une chaîne de connexion pour contacter la base de données à partir de l'application Python.
  1. Déterminez si votre instance Autonomous Database est activée pour les connexions TLS.

    Si l'instance est activée pour les connexions TLS, dans la zone Réseau de la console Oracle Cloud Infrastructure, le champ Authentification TLS mutuelle (mTLS) indique : Non requis :

    Description de l'image adb_mutual_tls_not_required.png
    Description de l'illustration adb_mutual_tls_not_required.png

    Si votre instance nécessite une authentification TLS mutuelle, autorisez les connexions TLS sur votre instance Autonomous Database. Pour plus de détails, reportez-vous à Mise à jour de l'instance Autonomous Database pour autoriser l'authentification TLS et TMS mutuelle.

  2. Obtenez une chaîne de connexion au service Autonomous Database pour accéder à la base de données comme suit :
    1. Dans la console Oracle Cloud Infrastructure, cliquez sur Connexion à la base de données.
    2. Sélectionnez TLS dans la boîte de dialogue Connexion à la base de données, sous Chaînes de connexion, dans la liste déroulante Authentification TLS.
      Remarque

      Vous devez sélectionner TLS dans la liste déroulante Authentification TLS pour obtenir les chaînes de connexion TLS avant de copier une chaîne de connexion (lorsque la valeur est TLS mutuel, les chaînes de connexion ont des valeurs différentes et ne fonctionnent pas avec les connexions TLS).
    3. Copiez la chaîne de connexion du service de base de données à utiliser avec l'application.

Exécution d'une application Python sans portefeuille

Une application Python peut se connecter à votre instance Autonomous Database sans portefeuille (TLS) à l'aide des informations d'identification de base de données et d'un descripteur de connexion.

  1. Obtenez la chaîne de connexion, comme décrit dans Activation de TLS sur Autonomous Database et obtention de la chaîne de connexion.
  2. Dans votre application Python, définissez les paramètres de connexion suivants pour la connexion à une instance Autonomous Database :
    • dsn : utilisez la chaîne de connexion pour indiquer le nom de service de base de données souhaité.
    • password : indique le mot de passe de l'utilisateur de base de données.
    • user : indique l'utilisateur de base de données.

    Par exemple :

    cs='''(description = (retry_count=20)(retry_delay=3)(address=(protocol=tcps)
         (port=1521)(host=xxx.oraclecloud.com))
         (connect_data=(service_name=xxx.adb.oraclecloud.com))
         (security=(ssl_server_dn_match=yes)))'''
    
    connection=oracledb.connect(
         user="admin",
         password=password,
         dsn=cs)
  3. Si vous voulez vous connecter en mode Épais, incluez oracledb.init_oracle_client() dans votre application Python.

    Par exemple :

    cs='''(description = (retry_count=20)(retry_delay=3)(address=(protocol=tcps)
         (port=1521)(host=xxx.oraclecloud.com))
         (connect_data=(service_name=xxx.adb.oraclecloud.com))
         (security=(ssl_server_dn_match=yes)))'''
    
    oracledb.init_oracle_client()
    connection=oracledb.connect(
         user="admin",
         password=password,
         dsn=cs)