OCIデータベース管理用のクラウド・データベースのTCPSサポート (2025/05/24)
OCIデータベース管理用のクラウド・データベースのTCPSサポート (2025/05/24)
投稿者: Vignesh Ram Shankaran | Consulting Member of Technical Staff
Derik Harlow | Senior Product Manager
Oracle Cloud Infrastructure (OCI)で外部データベースを接続および登録するためのTCPSサポートのリリース後、Oracle Cloud Infrastructure Database Managementサービス(DBMS)では、TCPSプロトコルを使用したクラウド・データベース(Exadata Cloud Service、OCI VM/BM)へのセキュアな接続もサポートすることを発表しました。
クラウド・データベースのTCPSサポートの主なユースケース
- TCPおよびTCPSプロトコルを使用して外部およびクラウド・データベースに接続するオプション
- 選択したデータベース・ウォレットを介したTransport Layer Security (TLS)認証のサポート: Javaキーストアまたは公開キー暗号化標準(PKCS) #12
- OCI Vaultサービスと統合されたシークレットとしてのデータベース・ウォレットのサポート
TCPS管理サポート詳細
クラウド・データベースのTCPSサポートは、「管理対象データベース」/「データベース管理の有効化」ペインの「管理」ページで使用できるようになりました。データベース管理を有効にする場合、クラウド・データベースへの接続プロトコルとしてTCPまたはTCPSを選択できます。デフォルトでは、TCPプロトコルが選択されています。TCPSでデータベース管理を使用するには、前提条件として、クラウド・データベースにTCPSリスナーを追加する必要があります。この新しいリスナーは、セキュアなチャネルを介してデータベースと通信するために使用できます。
新しいデータベース・ウォレットを作成するためのTCPS設定
TCPSの設定は、データベースへのウォレットのプロビジョニングから始まります。このウォレットは、パスワードによって保護される暗号化されたファイルであり、データベースとデータベース管理の間のセキュアなチャネルの確立に役立つ証明書が含まれています。TLS接続と同様に、データベース管理がクライアントであり、データベースがサーバーである2つのエンティティが関与します。
ウォレットの設定には、次のステップが含まれます。
- データベースにウォレットを作成する(サーバー・ウォレットなど)
- データベース管理用のウォレット(クライアント・ウォレット)の作成
- 相互TLSを確立するためにウォレット間で証明書を交換します
- TLS接続のパラメータを使用してサーバーsqlnet.oraを更新します
- リスナーを更新してTLSポートを追加
サーバー・ウォレットとクライアント・ウォレットは、即時利用可能なorapkiコマンドライン・ユーティリティを使用して作成できます。
ここでは、ウォレットの設定方法について詳しく説明します。ウォレットおよびリスナーをすでに構成している場合は、これらのステップをスキップして次のセクションに移動します
サーバー・ウォレットの作成
データベース上に作成されたサーバー・ウォレットには、セキュア・ポートを介してデータベースをコールするクライアントを検証するために必要なすべてのユーザー証明書と信頼できる証明書が含まれます。
- /u01/app/oracleの下にtcps_walletsフォルダを作成します。
- 次のコマンドを実行して、tcps_walletフォルダにサーバー・ウォレットを作成します。
orapki WALLET create -WALLET "/u01/app/oracle/tcps_wallet/serverwallet" -pwd <WALLET PASSWORD> -auto_loginを使用して、tcps_walletフォルダの下にserverwalletを作成します。
3. 次のコマンドを使用して、自己署名ユーザー証明書をウォレットに追加します。
orapki WALLET add -WALLET "/u01/app/oracle/tcps_wallet/serverwallet" -pwd <ウォレットパスワード> -dn "CN=DB-CA、O=MYORG、C=MYOFFICE" -keysize 2048 -self_signed -validity 3650
キー・サイズは、512|1024|2048ビットのいずれかです。Federal Information Processing Standards (FIPS)では、キー・サイズは2048ビットである必要があります。
これでサーバー・ウォレットが作成され、次のコマンドを実行して、ウォレットに追加された証明書を表示/リストできます: orapki wallet display -wallet "/u01/app/oracle/tcps_wallet/serverwallet"。ウォレットは次のようになります。
クライアント・ウォレットの作成
クライアント・ウォレットには、証明書交換のクライアントを表す証明書が含まれます。最終的には、クライアントとサーバー・ウォレットの両方が証明書を交換し、相互TLS (mTLS)を確立します。この場合、クライアント・ウォレットはデータベース管理で使用されます。
ノート: クライアント・ウォレットは、データベース・ユーザーがデータベース管理とデータベースの間でmTLSを確立する場合にのみ必要です。TLSが唯一の要件である場合、クライアント・ウォレットの作成は必要ありません。
- /u01/app/oracleの下のtcps_walletsフォルダに移動します。
- 次のコマンドを実行して、tcps_walletフォルダにクライアント・ウォレットを作成します。
orapki WALLET create -WALLET "/u01/app/oracle/tcps_wallet/clientwallet" -pwd <WALLET PASSWORD> -auto_loginを使用して、tcps_walletフォルダの下にclientwalletを作成します。
3. 次のコマンドを使用して、自己署名ユーザー証明書をウォレットに追加します。
orapki WALLET add -WALLET "/u01/app/oracle/tcps_wallet/clientwallet " -pwd <ウォレットパスワード> -dn "CN=DEV-CA、O=MYORG、C=MYOFFICE" -keysize 2048 -self_signed -validity 3650
キー・サイズは、512|1024|2048ビットのいずれかです。Federal Information Processing Standards (FIPS)では、キー・サイズは2048ビットである必要があります。
クライアント・ウォレットが作成され、次のコマンドを実行して、ウォレットに追加された証明書を表示/リストできます: orapki wallet display -wallet "/u01/app/oracle/tcps_wallet/clientwallet"。ウォレットは次のようになります。
クライアントおよびサーバー・ウォレットを作成するためのコマンドは、証明書を追加するために用意されているウォレットとのみ同じです。
ウォレット間の証明書の交換
クライアント・ウォレットとサーバー・ウォレットがプロビジョニングされたら、次のステップは証明書を交換することです。これにより、前のステップで作成したクライアント・ウォレットを持つクライアントのみがセキュア・ポートを介してデータベースと通信できるようになります。これは相互TLSと呼ばれます。
- 次のコマンドを実行して、クライアントおよびサーバー・ウォレット証明書をエクスポートします。
- エクスポートサーバーウォレット: orapki WALLET export -WALLET "/u01/app/oracle/tcps_wallet/serverwallet" -pwd <WALLET PASSWORD> -dn "CN=DB-CA、O=MYORG、C=MYOFFICE" -cert /u01/app/oracle/tcps_wallet/server-certificate.crt
- エクスポートクライアントウォレット: orapki WALLET export -WALLET "/u01/app/oracle/tcps_wallet/clientwallet" -pwd <WALLET PASSWORD> -dn "CN=DEV-CA、O=MYORG、C=MYOFFICE" -cert /u01/app/oracle/tcps_wallet/client-certificate.crt
- 次のコマンドを実行して、互いの証明書を信頼します。
- サーバウォレットの信頼クライアント証明書: orapki WALLET add -WALLET "/u01/app/oracle/tcps_wallet/serverwallet" -pwd <WALLET PASSWORD> -trusted_cert -cert client-certificate.crt
- クライアント・ウォレット内の信頼サーバー証明書: orapki WALLET add -WALLET "/u01/app/oracle/tcps_wallet/clientwallet" -pwd <WALLET PASSWORD> -trusted_cert -cert server-certificate.crt
TLS接続のパラメータを使用してsqlnet.oraを更新
次のステップとして、サーバー上の$ORACLE_HOME/network/admin/sqlnet.oraファイルに次のエントリを追加します。
# Location to the server wallet
WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = "/u01/app/oracle/tcps_wallet/serverwallet)
))
SQLNET.AUTHENTICATION_SERVICES = (TCPS,NTS,BEQ)
# Turn on Client Authentication to be able to establish mTLS
SSL_CLIENT_AUTHENTICATION = TRUE
# Setting this to true would make sure that native encryption would not interfere with TCPS
SQLNET. IGNORE_ANO_ENCRYPTION_FOR_TCPS=TRUE
リスナーを更新してTLSポートを追加
設定の最後のステップは、TLSのリスナーを追加することです。どのネットワーク接続でも、このセキュア・チャネルを介した接続を処理するために新しいポートを導入する必要があります。たとえば、HTTPの場合は80、HTTPSの場合は443です。
1. "$ORACLE_HOME/network/admin/listener.ora"を開き、LISTENERとしてキーを持つ既存のエントリを検索します。DESCRIPTION_LISTの下に、TCPの既存のエントリがあります。
このTCPエントリをコピーし、次の変更を加えて説明ブロックに新しいエントリを追加します。
- プロトコルをTCPSに変更
- ポート番号を2484 (またはデータベース・ノードで使用可能な任意のポート)に変更します。
2. ウォレットの場所をlistener.oraファイルに追加します。
# Location to the server wallet
WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = "/u01/app/oracle/tcps_wallet/serverwallet)
))
3. 次のコマンドを実行してリスナーを再起動します。
- lsnrctl stop (Stops the listener)
- lsnrctl start (Starts the listener)
- lsnrctl status (Check the starts of listener after restart)
リスナーを再起動すると、TCPSエントリがリスナー・ステータス出力に表示されます。
TCPSを使用するための詳細
データベースでTLS/TCPSが構成されたため、TCPSプロトコルでデータベース管理を有効にする場合は、次の詳細が必要になります。
- この場合のTCPSリスナー・ポート番号は2824
- データベース・ウォレット・ファイル: /u01/app/oracle/tcps_wallet/clientwallet/ewallet.p12
- クライアント・ウォレットの作成時に使用されるWalletパスワード
- クライアント証明書の証明書識別名
TCPSプロトコルを使用したデータベース管理の有効化
OCIコンソールから、プロトコルをTCPSにしてデータベース管理を有効にできるようになりました。フローの一部として、プロトコルをTCPSとして選択した場合、前述のウォレットの詳細を指定するように求められます。
クラウド・データベースのデータベース管理を有効にするには:
- OCIコンソールでナビゲーション・メニューを開き、「Observability & Management」をクリックします。「データベース管理」で、「管理」をクリックします。
- 「管理」ページの左ペインで、クラウド・データベースが存在するコンパートメントを選択し、「データベース管理の有効化」をクリックします。
- 「データベース管理の有効化」ダイアログで、目的のクラウド・データベースに関する詳細を指定し、接続プロトコルとして「TCPS」オプションを選択します。
図1: 「データベース管理の有効化」ダイアログ・ボックスの「プロトコル」セクション
4. 「プロトコル」セクションに表示される新しいフィールドで、次の詳細を指定します。
- ポート: 2484
- データベースWalletシークレット:
- 「Create new secret…」オプションを選択し、データベース・ウォレットを含むシークレットを作成します。ウォレット・シークレットには、データベースにクライアント・ウォレットを作成するときに指定したウォレット・ファイル、ウォレット・パスワードおよび証明書識別名が保持されます。選択したウォレット・タイプ(JavaキーストアまたはPKCS#12)に応じて、必要な詳細をそれぞれ入力する必要があります。「データベース・ウォレット・シークレットの作成」ダイアログ・ボックス(図2を参照):
- シークレットの名前を指定します。
- オプションで、シークレットの説明を追加します。
- 保存先のコンパートメント、使用するボールト、暗号化キーを選択します
- ウォレット・フォーマット・タイプ(JavaキーストアまたはPKCS#12)を選択します。
- ここで、データベース・ウォレットの選択としてPKCS#12を選択した場合は、次の情報が必要です。
- クライアント・ウォレットのWalletパスワード
- クライアント・ウォレットのewallet.p12ファイル
- クライアント・ウォレット内の証明書の証明書識別名。たとえば、CN=DEV-CA、O=MYORG、C=MYOFFICEです。
図2: 新規作成データベースWalletシークレット・ページ-PKCS#12固有のワークフロー
5. 「接続用の資格証明の指定」セクションで、データベース・ユーザー名を指定し、データベース・パスワードを含むシークレットを選択します。
6/ データベース管理との通信に使用するデータベース管理プライベート・エンドポイントを選択します。
7. 「完全管理」オプションと「基本管理」オプションのいずれかを選択します。「管理オプション」セクションの「詳細」リンクには、各オプションが提供できる内容の詳細が表示されます。
データベース・シークレットが作成されたら、「データベース管理の有効化」(図1)をクリックすると、クラウド・データベースのホームページの「作業リクエスト」セクションをチェックして追跡できるOCI作業リクエストが開始されます。
新しいポート番号、ウォレットの詳細、およびTCPSプロトコルの選択により、データベース管理は、エンドツーエンドのセキュリティを提供する相互TLSを使用して、セキュアなチャネルを介してデータベースと通信できるようになります。
可用性
- この機能は、すべてのOCI商用リージョンで使用できます。
- 外部データベースとクラウド・データベースの両方をサポート(ExaCS/VM/BM)
- Autonomous Databaseのサポートはロードマップにあります
組織またはチーム内の外部およびクラウド・データベースと安全に接続して登録するオプションを持つことは、多くの顧客にとって要件です。OCI Database Managementサービスのクラウド・データベース機能に対するTCPSサポートを使用して、最新のデータベース・ウォレット・テクノロジを使用して、フリート全体のデータベースを接続、管理および監視できるようになりました。
今すぐOracle Cloud Infrastructureトライアル・アカウントにサインアップしましょう。これらの機能の詳細およびその使用方法については、ドキュメントを参照してください。
リソース
- Technical documentation
- Database Management Technical Overview
- Pricing (Observability and Management Platform - Database Management)
コメント
コメントを投稿