機械翻訳について

Wallet (TLS)を使用しないPythonアプリケーションの接続

PythonアプリケーションをAutonomous Databaseインスタンス「財布なし」に接続できます。 Pythonアプリケーション「ウォレットなし(TLS)」を接続すると、認証および暗号化のセキュリティが提供され、(ユーザー名とパスワードを指定して)クライアント資格証明を使用してセキュリティが強制されます。

python-oracledbドライバのデフォルトの「Thin mode」はOracle Databaseに直接接続します。 オプションで、いくつかの追加機能のためにOracle Clientライブラリを使用できます。 Oracle Clientライブラリは、Oracle Instant Clientから、完全なOracle Clientから、またはOracle Databaseからインストールできます。

PythonアプリケーションをAutonomous Databaseインスタンスウォレットなし(TLS)に接続するには、次のステップに従います:

  1. Pythonおよびpython-oracledbドライバのインストール

  2. Autonomous DatabaseでのTLSの有効化および接続文字列の取得

  3. WalletなしでPythonアプリケーションを実行

厚みモードの詳細は、「python-oracledb Thickモードの有効化」を参照してください。

トピック

Autonomous DatabaseでのTLSの有効化および接続文字列の取得

Pythonアプリケーション「財布なし」を実行するには、TLS接続のAutonomous Databaseインスタンスを有効にし、Pythonアプリケーションからデータベースに接続するための接続文字列を取得します。
  1. Autonomous DatabaseインスタンスがTLS接続に対して有効になっているかどうかを確認します。

    インスタンスがTLS接続に対して有効になっている場合、Oracle Cloud Infrastructureコンソールのネットワーク領域に相互TLS (mTLS)認証フィールドが表示されます : 不要 :

    adb_mutual_tls_not_required.pngの説明は以下のとおりです
    「図adb_mutual_tls_not_required.pngの説明」

    インスタンスで相互TLS認証が必要な場合は、Autonomous DatabaseインスタンスでTLS接続を許可します。 詳細は「TLSおよびmTLS認証の両方を許可するようにAutonomous Databaseインスタンスを更新」を参照してください。

  2. 次のように、データベースにアクセスするためのAutonomous Databaseサービス接続文字列を取得します:
    1. Oracle Cloud Infrastructureコンソールで、「データベース接続」をクリックします。
    2. 「TLS認証」ドロップダウン・リストで、「データベース接続」ダイアログ・ボックスの「接続文字列」TLSを選択します。

      ノート:

      接続文字列をコピーする前に、「TLS認証」ドロップダウンでTLSを選択してTLS接続文字列を取得する必要があります(値が「相互TLS」の場合、接続文字列の値は異なり、TLS接続では機能しません)。
    3. アプリケーションで使用するデータベース・サービスの接続文字列をコピーします。

Walletを使用しないPythonアプリケーションの実行

Pythonアプリケーションは、データベース資格証明および接続記述子を使用してAutonomous Databaseインスタンス「ウォレットなし(TLS)」に接続できます。

  1. Autonomous DatabaseでのTLSの有効化および接続文字列の取得の説明に従って、接続文字列を取得します。
  2. Pythonアプリケーションで、次の接続パラメータを設定してAutonomous Databaseインスタンスに接続します:
    • dsn: 接続文字列を使用して、必要なデータベース・サービス名を指定します。
    • password: データベース・ユーザー・パスワードを指定します。
    • user: データベース・ユーザーを指定します。

    たとえば:

    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. 厚みモードで接続する場合は、Pythonアプリケーションにoracledb.init_oracle_client()を含めます。

    たとえば:

    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)