Connetti le applicazioni Python senza un wallet (TLS)

Puoi connettere le applicazioni Python alla tua istanza di Autonomous Database senza un wallet. La connessione di un'applicazione Python senza un wallet (TLS) garantisce sicurezza per l'autenticazione e la cifratura e la sicurezza viene applicata utilizzando le credenziali client (fornendo un nome utente e una password).

La "modalità thin" predefinita del driver python-oracledb si connette direttamente a Oracle Database. Facoltativamente, può utilizzare le librerie client Oracle, "modalità Spessa", per alcune funzionalità aggiuntive. Le librerie Oracle Client possono essere Oracle Instant Client, l'installazione completa di Oracle Client o Oracle Database.

Attenersi alla procedura riportata di seguito per connettere l'applicazione Python a un'istanza di Autonomous Database senza un wallet (TLS).

  1. Installare Python e il driver python-oracledb

  2. Abilita TLS su Autonomous Database e ottieni stringa di connessione

  3. Esegui applicazione Python senza wallet

Per informazioni sulla modalità Spessa, vedere Abilitazione della modalità Spessa di python-oracledb.

Temi

Abilita TLS su Autonomous Database e ottieni stringa di connessione

Per eseguire un'applicazione Python senza un wallet, abilitare l'istanza di Autonomous Database per le connessioni TLS e ottenere una stringa di connessione per contattare il database dall'applicazione Python.
  1. Determinare se l'istanza di Autonomous Database è abilitata per le connessioni TLS.

    Se l'istanza è abilitata per le connessioni TLS, nell'area Network della console di Oracle Cloud Infrastructure il campo Autenticazione Mutual TLS (mTLS) mostra: Not Required:

    Segue la descrizione di adb_mutual_tls_not_required.png
    Descrizione dell'immagine adb_mutual_tls_not_required.png

    Se l'istanza richiede l'autenticazione TLS reciproca, consenti connessioni TLS nell'istanza di Autonomous Database. Per i dettagli, consulta la sezione relativa all'aggiornamento dell'istanza di Autonomous Database per consentire l'autenticazione TLS e mTLS.

  2. Ottenere una stringa di connessione al servizio Autonomous Database per accedere al database come indicato di seguito.
    1. Nella console di Oracle Cloud Infrastructure, fare clic sulla connessione al database.
    2. Selezionare TLS nella finestra di dialogo Connessione al database, nella sezione Stringhe di connessione, nell'elenco a discesa Autenticazione TLS.
      Nota

      È necessario selezionare TLS nell'elenco a discesa Autenticazione TLS per ottenere le stringhe di connessione TLS prima di copiare una stringa di connessione (se il valore è TLS reciproco, le stringhe di connessione hanno valori diversi e non funzionano con le connessioni TLS).
    3. Copiare la stringa di connessione per il servizio di database che si desidera utilizzare con l'applicazione.

Esegui applicazione Python senza wallet

Un'applicazione Python può connettersi all'istanza di Autonomous Database senza un wallet (TLS) utilizzando le credenziali del database e un descrittore di connessione.

  1. Ottenere la stringa di connessione, come descritto in Abilita TLS su Autonomous Database e ottieni la stringa di connessione.
  2. Nell'applicazione Python impostare i seguenti parametri di connessione per connettersi a un'istanza di Autonomous Database:
    • dsn: utilizzare la stringa di connessione per specificare il nome del servizio di database desiderato.
    • password: specifica la password utente del database.
    • user: specifica l'utente del database.

    Ad esempio:

    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. Se si desidera connettersi in modalità Spessa, includere oracledb.init_oracle_client() nell'applicazione Python.

    Ad esempio:

    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)