株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

18c新機能:各プラガブル・データベースのキーストアの作成機能

守田です。

18cより、各プラガブル・データベースでキーストアの作成が可能になりました。
今回はこの機能について見ていきたいと思います。
※この機能は、Engineered System EE、およびOracle Cloudで使用可能です。
 オンプレミスのSE、EEでは使用できませんのでご注意ください。

以前のリリースでは、PDBでは、コンテナ・データベース(CDB)全体でキーストアを共有しており、
これには、CDBルートおよびすべてのPDBが含まれていました。このキーストアは、
CDBおよびすべてのPDBのマスター暗号化鍵を格納していました。

18cからは、以前のようにCDB全体で同じキーストアを共有する「統一モード」と、
個別のキーストアを持つ「分離モード」の2つのモードが提供されています。
分離モードでは、各個別のキーストアを独立して管理することにより、各キーストアは、
異なるパスワードを使用して保護できるようになります。

また、キーストアの格納場所を示す静的パラメータとして、「WALLET_ROOT」が、
使用するキーストアのタイプを指定する動的パラメータとして、「TDE_CONFIGURATION」が
追加されました。今までキーストアの格納場所を示していた、sqlnet.ora内に記述される
SQLNET.ENCRYPTION_WALLET_LOCATIONパラメータの動作が変更されました。

WALLET_ROOTパラメータが設定されている場合、WALLET_ROOTにより、
SQLNET.ENCRYPTION_WALLET_LOCATIONがオーバーライドされます。
WALLET_ROOTパラメータが設定されていない場合、SQLNET.ENCRYPTION_WALLET_LOCATIONが
キーストアの格納場所を示す値となります。

それでは、実際に設定してみます。まず、現在の設定状況を確認していきます。
v$encryption_walletビューの「KEYSTORE」列が"UNITED"となっています。
これは「統合モード」、つまりCDB全体でキーストアを共有していることを意味します。
20180826_1.JPG

ここから、「分離モード」、つまりPDB固有のキーストアを作成していきます。 今回は例として、
PDB固有のキーストア格納用のディレクトリを作成し、既存のCDBのキーストアをコピーしました。
20180826_3.JPG

次に、新しく追加された2つの初期化パラメータを設定していきます。「WALLET_ROOT」は静的パラメータですので、
設定を反映させるためにはインスタンスを停止が必要です。今回はspfileからpfileを作成し、pfileに追記しました。
20180826_4.JPG
20180826_5.JPG
20180826_6.JPG

再起動後、PDBに接続し、PDBにも動的パラメータ「TDE_CONFIGURATION」を設定します。
20180826_7.JPG
そして、PDBで明示的にキーストアを設定します。※白塗りのところは、キーストアのパスワードが入ります。
20180826_8.JPG
さらに自動ログインキーストアも設定しました。
20180826_9.JPG
確認すると、先ほどとは異なりv$encryption_walletビューの「KEYSTORE」列が"ISOLATED"となっています。
これは、「分離モード」、つまりPDBで個別のキーストアが設定されていることを意味します。
20180826_10.JPG
v\$encryption_walletビューであらためて全体を確認すると、CON_ID=1(CDB$ROOT)と、CON_ID=3(PDB1)の
キーストアのパスが異なっていることが確認できます。キーストアがそれぞれ個別に使用されていることを意味します。
20180826_11.JPG

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ