1 前提条件
次の各項では、Oracle JDBCドライバおよびユニバーサル接続プールを使用してJavaアプリケーションをOracle Autonomous Databaseに接続する前に実行する必要があるタスクについて説明します。
- 前提条件(一方向TLS)
この項では、一方向TLS認証の前提条件を示します。 - 前提条件(相互TLS)
この項では、相互TLS認証の前提条件を示します。 - 変更された接続文字列の追加ステップ
この項では、Autonomous Databaseサーバーレス接続文字列を変更するときに実行する必要がある追加ステップについて説明します。
1.1 前提条件(一方向TLS)
この項では、一方向TLS認証の前提条件を示します。
- Oracle Autonomous Databaseインスタンスのプロビジョニング
この項では、Oracle Autonomous Databaseインスタンスをプロビジョニングしていない場合にプロビジョニングする方法について説明します。 - 相互TLS (mTLS)要件の無効化
この項では、相互TLS (mTLS)要件を無効にし、mTLS接続と一方向TLS接続の両方を有効にするステップを示します。 - JDK 8のインストール
この項では、JDK 8をインストールするステップを示します。 - Githubからのサンプル・プログラムのダウンロード
この項では、Githubからサンプル・プログラムをダウンロードするステップを示します。 - データベース接続に対する最近の変更
この項では、ホスト名ベースの一致をサポートする様々なバージョンのJDBC-thinを示します。
親トピック: 前提条件
1.1.1 Oracle Autonomous Databaseインスタンスのプロビジョニング
この項では、Oracle Autonomous Databaseインスタンスをプロビジョニングしていない場合にプロビジョニングする方法について説明します。
これらのリンクをクリックして、Oracle Autonomous Databaseインスタンスをプロビジョニングするステップを順を追って説明します。
ADMIN
ユーザーのAutonomous Databaseのプロビジョニング中に設定したパスワードを覚えておいてください。 デモンストレーションの目的で、ADMIN
ユーザーを使用しますが、Oracle SQL Developerまたはデータベース・アクションを使用して他のデータベース・ユーザーを作成することをお薦めします。
親トピック: 前提条件(一方向TLS)
1.1.2 相互TLS (mTLS)要件の無効化
この項では、相互TLS (mTLS)要件を無効にし、mTLS接続と一方向TLS接続の両方を有効にするステップを示します。
関連項目:
詳細は、「Oracle Autonomous Databaseサーバーレスの使用」を参照してください。親トピック: 前提条件(一方向TLS)
1.1.3 JDK 8のインストール
この項では、JDK 8をインストールするステップを示します。
ノート:
JDK8u162
以降のバージョンを使用してください。 java -version
を使用して、インストールしたJDKのバージョンを確認します。 JDBCドライバのバージョンを確認するには、java -jar ojdbc8.jar
と入力します。
親トピック: 前提条件(一方向TLS)
1.1.5 データベース接続に対する最近の変更
この項では、ホスト名ベースの一致をサポートする様々なバージョンのJDBC-thinを示します。
DigiCertは、すべてのパブリックTLS/SSL証明書の「組織単位(OU)」フィールドを廃止し、2022年8月現在、「お知らせ」に従って業界標準に準拠しました。 つまり、DigiCertによって発行されたパブリックTLS/SSL証明書にはOUフィールドがなくなります。
関連項目:
MOSノート2911553.1セキュリティを維持しながら、サーバー側の証明書の変更中にOracle Autonomous Databaseサーバーレスに接続するアプリケーションの中断を回避するには、サーバー証明書のホスト名ベース一致(ドメイン名(DN)一致)を使用する必要があります(TLSサーバー認証の場合)。
- 「21.6 (またはそれ以降)または19.15 (またはそれ以降)」。 これらは、TNS接続文字列で
(security=(ssl_server_dn_match=yes))
をサポートする推奨バージョンです。 - ホスト名ベースの一致を明示的にオンにする必要があるその他のバージョンは次のとおりです:
- 21.5 (またはそれ以前)および19.14 (またはそれ以前)
- 18.21.0.0-patched-for-bug-28492769および12.2.0.1-Patched-for-bug-28492769
- 12.1.0.2 バグ28492769および19030178のパッチを含む11.2.0.4 (ホスト名ベース照合およびTLS v1.2サポート用)
- また、次のいずれかのメソッドを使用して、DN一致を明示的にオンにする必要があります:
- プログラムの使用:
prop.setProperty("oracle.net.ssl_server_dn_match", "true")
- Javaシステム・プロパティの設定:
-Doracle.net.ssl_server_dn_match=true
- プログラムの使用:
親トピック: 前提条件(一方向TLS)
1.2 前提条件(相互TLS)
この項では、相互TLS認証の前提条件を示します。
- Oracle Autonomous Databaseインスタンスのプロビジョニング
この項では、Oracle Autonomous Databaseインスタンスをプロビジョニングしていない場合にプロビジョニングする方法について説明します。 - クライアント資格証明の取得
この項では、クライアント資格証明を取得するステップを示します。 - JDK 8のインストール
この項では、JDK 8をインストールするステップを示します。 - Githubからのサンプル・プログラムのダウンロード
この項では、Githubからサンプル・プログラムをダウンロードするステップを示します。
親トピック: 前提条件
1.2.1 Oracle Autonomous Databaseインスタンスのプロビジョニング
この項では、Oracle Autonomous Databaseインスタンスをプロビジョニングしていない場合にプロビジョニングする方法について説明します。
これらのリンクをクリックして、Oracle Autonomous Databaseインスタンスをプロビジョニングするステップを順を追って説明します。
ADMIN
ユーザーのAutonomous Databaseのプロビジョニング中に設定したパスワードを覚えておいてください。 デモンストレーションの目的で、ADMIN
ユーザーを使用しますが、Oracle SQL Developerまたはデータベース・アクションを使用して他のデータベース・ユーザーを作成することをお薦めします。
親トピック: 前提条件(相互TLS)
1.2.2 クライアント資格証明の取得
この項では、クライアント資格証明を取得するステップを示します。
wallet_[dbname].zip
)には、必要なウォレット・ファイルと、mTLS接続を使用して接続できるtnsnames.ora
ファイルが含まれており、認証および暗号化のセキュリティが強化されています。
親トピック: 前提条件(相互TLS)
1.2.3 JDK 8のインストール
この項では、JDK 8をインストールするステップを示します。
ノート:
JDK8u162
以降のバージョンを使用してください。 java -version
を使用して、インストールしたJDKのバージョンを確認します。 JDBCドライバのバージョンを確認するには、java -jar ojdbc8.jar
と入力します。
親トピック: 前提条件(相互TLS)
1.3 変更された接続文字列の追加ステップ
この項では、Autonomous Databaseサーバーレス接続文字列を変更するときに実行する必要がある追加ステップについて説明します。
Autonomous Databaseサーバーレス接続文字列には、リージョンに依存するホスト名...(HOST=xyz)...
が含まれます。 たとえば、シカゴ・リージョンでは、ホスト名はadb.us-chicago-1.oraclecloud.com
になります。 デフォルトのホスト名をIPアドレスまたはカスタム・ホスト名で置き換えた場合、ホスト名ベースのDN一致は失敗します。
解決策は、元のAutonomous Databaseサーバーレス・ドメインサフィクスを使用して、新しいエントリを/etc/hosts
ファイルに追加することです。 接続文字列では、この新しい名前を使用する必要があります。 たとえば、カスタムIPアドレスに解決されるエントリlocaltunnel.adb.us-chicago-1.oraclecloud.com
を追加し、その名前をJDBC接続文字列で使用します。
親トピック: 前提条件