Connettere le applicazioni Python senza wallet (TLS)

Puoi connettere le applicazioni Python all'istanza di Autonomous Database senza un wallet. La connessione di un'applicazione Python senza un wallet (TLS) fornisce 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à sottile" predefinita del driver python-oracledb si connette direttamente a Oracle Database. Facoltativamente, può utilizzare le librerie client Oracle, "Modalità avanzata", per alcune funzionalità aggiuntive. Le librerie Oracle Client possono provenire da Oracle Instant Client, da Oracle Client completo o da un'installazione di Oracle Database.

Per connettere l'applicazione Python a un'istanza di Autonomous Database senza wallet (TLS), effettuare le operazioni riportate di seguito.

  1. Installare Python e il driver python-oracledb

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

  3. Esegui applicazione Python senza wallet

Per informazioni sulla modalità Spessa, vedere Enabling python-oracledb Thick mode.

Argomenti

Abilita TLS in 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 Mutual TLS (mTLS) authentication mostra quanto segue: 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, consentire le connessioni TLS nell'istanza di Autonomous Database. Per informazioni dettagliate, vedere Aggiorna l'istanza di Autonomous Database per consentire sia l'autenticazione TLS che 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 su Connessione al database.
    2. Selezionare TLS nella finestra di dialogo Connessione al database, in 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 reciproca, 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 stringa di connessione.
  2. Nell'applicazione Python impostare i parametri di connessione riportati di seguito 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)