13.1.1 HADBサーバを新規導入する場合
ここでの説明は,HADBサーバを新規導入する際に,DBエリア暗号化機能の環境設定を一緒に行うことを前提としています。
HADBサーバの新規導入時にDBエリア暗号化機能の環境設定をする場合は,「8.1 システム構築の手順」で説明している「環境変数の設定」が完了したあとに,以降で説明する作業をしてください。
- 〈この項の構成〉
(1) HADB暗号鍵を管理する人の選定
HADB暗号鍵を格納するHADB暗号鍵ファイルは,OSが扱うことができるファイルシステム上のファイルとして保存します。HADB暗号鍵ファイルのパーミッションは,HADB管理者だけに読み取り権限が設定されます。職務分掌の観点から,HADB管理者を操作する人を次の2名に分けることを推奨します。
-
データベースの管理担当者
-
HADB暗号鍵の管理担当者
HADB暗号鍵の管理および廃棄などの作業は,HADB暗号鍵の管理担当者が責任を持って実施するようにしてください。
(2) HADB暗号鍵ファイルの保存先ディレクトリの作成
HADB暗号鍵ファイルの保存先ディレクトリを作成して,パーミッションを設定してください。
手順
次のすべての操作は,HADB管理者で実行してください。
-
HADB暗号鍵ファイルの保存先ディレクトリを作成する
mkdir /HADB/.crypto
上記のコマンドを実行すると,HADB暗号鍵ファイルの保存先ディレクトリとして/HADB/.cryptoが作成されます。
- メモ
-
ディレクトリ名はドット( . )から始まる名称にして,隠しディレクトリにすることを推奨します。
-
HADB暗号鍵ファイルの保存先ディレクトリのパーミッションを700に設定する
chmod 700 /HADB/.crypto
(3) データベースの初期設定
adbinitコマンドを実行して,データベースを初期設定します。その際,adbinitコマンドの初期設定オプションに暗号化対象のDBエリアを指定します。
<初期設定オプションの指定例>
set adb_init_dbarea_initialize = Y : : set adb_init_dmkey_path = /HADB/.crypto/adb_dmkey ...1 set adb_init_dic_encrypt = Y ...2 set adb_init_wrk_encrypt = Y ...3 set adb_init_stbl_encrypt = Y ...4 adbinitdbarea -n DBAREA01 \ -p 4 \ -v /dev/mapper/VolG01,/dev/mapper/VolG02 \ -q \ -i 2G,2 \ -e ...5 adbinitdbarea -n DBAREA02 \ -p 4 \ -v /dev/mapper/VolG03,/dev/mapper/VolG04,/dev/mapper/VolG05 \ -q \ -i 2G,3 \ -e ...5
[説明]
-
このオペランドを指定すると,adbinitコマンドの実行時にHADB暗号鍵が作成されます。このオペランドには,HADB暗号鍵の出力先ファイル名(HADB暗号鍵ファイル名)を絶対パスで指定します。
「(2) HADB暗号鍵ファイルの保存先ディレクトリの作成」で作成したHADB暗号鍵ファイルの保存先ディレクトリ(/HADB/.crypto)下に,任意のファイル名を指定します。
この例では,HADB暗号鍵ファイルとして/HADB/.crypto/adb_dmkeyが作成されます。
-
このオペランドを指定すると,ディクショナリ用DBエリアが暗号化対象になります。
-
このオペランドを指定すると,作業表用DBエリアが暗号化対象になります。
-
このオペランドを指定すると,システム表用DBエリアが暗号化対象になります。
-
-eオプションを指定したデータ用DBエリアが暗号化対象になります。機密情報が含まれている可能性がある表およびインデクスを格納するデータ用DBエリアにこのオプションを指定してください。
- メモ
-
データ用DBエリアを暗号化対象にした場合,次のDBエリアにも機密情報が含まれる可能性があるため,これらのDBエリアも暗号化対象にすることを推奨します。
-
ディクショナリ用DBエリア
-
作業表用DBエリア
-
システム表用DBエリア
-
上記の内容で初期設定オプションファイル(/HADB/server/conf/adbinit.opt)を作成し,adbinitコマンドを実行してください。
<adbinitコマンドの実行例>
adbinit -u ADBUSER01 ...1 -p '#HelloHADB_01' ...2 /HADB/server/conf/adbinit.opt ...3 /HADB/db ...4
[説明]
-
HADBユーザ名を指定します。adbinitコマンドを実行すると,認可識別子がADBUSER01であるHADBユーザが作成されます。
-
パスワードを指定します。ここで指定したパスワードが,1.で作成されるHADBユーザのパスワードになります。
-
作成した初期設定オプションのファイル名を指定します。
-
DBディレクトリ名を指定します。
- 重要
-
-
adbinitコマンドの入力後,KFAA90013-Qメッセージが出力されます。このメッセージが出力されたら,パスワードを入力してください。ここで入力したパスワードが,HADB暗号鍵利用パスワードとして設定されます。
-
HADB暗号鍵利用パスワードは,adbinitコマンドの-pオプションに指定するパスワードと異なるパスワードにしてください。
-
HADB暗号鍵利用パスワードは,「(1) HADB暗号鍵を管理する人の選定」で選定したHADB暗号鍵の管理担当者が決めて入力してください。
-
(4) サーバ定義の作成
サーバ定義を作成します。サーバ定義の作成については,「7. サーバ定義の設計」,および「8.5 サーバ定義の作成および変更方法」を参照してください。
なお,サーバ定義を作成する際,adb_crypto_dmkey_pathオペランドにHADB暗号鍵ファイルの絶対パスを指定してください。
set adb_crypto_dmkey_path = /HADB/.crypto/adb_dmkey
「(3) データベースの初期設定」で説明しているadb_init_dmkey_pathオペランドに指定したHADB暗号鍵ファイル(/HADB/.crypto/adb_dmkey)を指定します。
(5) HADBサーバの開始
adbstartコマンドを実行してHADBサーバを開始します。
- 重要
-
-
adbstartコマンドの入力後,KFAA90013-Qメッセージが出力されます。このメッセージが出力されたら,「(3) データベースの初期設定」で設定したHADB暗号鍵利用パスワードを入力してください。
-
HADB暗号鍵利用パスワードは,「(1) HADB暗号鍵を管理する人の選定」で選定したHADB暗号鍵の管理担当者が入力してください。
-
(6) HADBユーザの作成および暗号管理権限の付与
HADB暗号鍵を作成または更新する際,暗号管理権限とCONNECT権限が必要になります。HADB暗号鍵を管理するためのHADBユーザを作成し,そのHADBユーザに暗号管理権限とCONNECT権限を付与してください。
手順
次のすべての操作は,DBA権限およびCONNECT権限を持っているHADBユーザ(「(3) データベースの初期設定」で作成したHADBユーザADBUSER01)で実行してください。
-
HADBユーザを作成する
CREATE USER "CADMIN" IDENTIFIED BY 'Mk0fb3KVY8LqJk'
上記のCREATE USER文を実行すると,認可識別子が"CADMIN"で,パスワードが"Mk0fb3KVY8LqJk"であるHADBユーザが作成されます。
-
暗号管理権限を付与する
GRANT CRYPTO ADMIN, CONNECT TO "CADMIN"
上記のGRANT文を実行すると,1.で作成したHADBユーザCADMINに暗号管理権限とCONNECT権限が付与されます。
HADB暗号鍵の管理担当者が,ここで作成したHADBユーザCADMINを使用して,adbmkdmkコマンドを実行してHADB暗号鍵を作成したり,adbupddmkコマンドを実行してHADB暗号鍵を更新したりします。
- 重要
-
HADB暗号鍵の管理担当者は,HADBユーザCADMINのパスワードをすぐに変更してください。パスワードの変更方法については,「11.6.2 HADBユーザのパスワードを変更する方法」を参照してください。