Encrypting your database password¶
</ div>
フェールオーバーマネージャーでは、データベースのパスワードをクラスタープロパティファイルに含める前に暗号化する必要があります。
/usr/edb/efm-4.<x>/binディレクトリにあるefm
utilityを使用して、パスワードを暗号化します。パスワードを暗号化する場合、ユーティリティを起動するときにコマンドラインでパスワードを渡すか、EFMPASS環境変数を使用できます。
パスワードを暗号化するには、次のコマンドを使用します。
efm encrypt <cluster_name> [ --from-env ]
<cluster_name>は、Failover Managerクラスターの名前を指定します。
--from-envオプションを含める場合、暗号化ユーティリティを呼び出す前に、暗号化する値をエクスポートする必要があります。例:
export EFMPASS=password
--from-envオプションを含めない場合、フェールオーバーマネージャーは、クラスタープロパティファイルに配置するための暗号化パスワードを生成する前に、データベースパスワードを2回入力するように求めます。ユーティリティが暗号化されたパスワードを共有したら、暗号化されたパスワードをコピーしてクラスタープロパティファイルに貼り付けます。
!!! Note * 多くのJavaベンダーは、完全な強度の暗号化を含むJavaのバージョンを出荷していますが、エクスポート制限のために有効化されていません。データベースパスワードを暗号化しようとしたときに不正なキーサイズを参照するエラーが発生した場合は、プラットフォームに制限のないポリシーを提供するJava暗号化拡張機能(JCE)をダウンロードして有効にします。
この例は、encryptユーティリティを使用してacctgクラスターのパスワードを暗号化することを示しています。
# efm encrypt acctg
This utility will generate an encrypted password for you to place in
your Failover Manager cluster property file:
/etc/edb/efm-4.4/acctg.properties
Please enter the password and hit enter:
Please enter the password again to confirm:
The encrypted password is: 516b36fb8031da17cfbc010f7d09359c
Please paste this into your acctg.properties file
db.password.encrypted=516b36fb8031da17cfbc010f7d09359c
!!! Note * ユーティリティは、プロパティファイルが存在しない場合に通知します。
暗号化されたパスワードを受け取ったら、パスワードをプロパティファイルに貼り付けて、Failover Managerサービスをスタートします。暗号化されたパスワードに問題がある場合、Failover Managerサービスはスタートされません。
[witness@localhost ~]# systemctl start edb-efm-4.4
Job for edb-efm-4.4.service failed because the control process exited with error code. See "systemctl status edb-efm-4.4.service" and "journalctl -xe" for details.
Failover
Managerサービスの開始時にこのメッセージを受け取った場合、詳細についてはスタートアップログ/var/log/efm-4.4/startup-efm.logを参照してください。
RHEL / CentOS 7.xまたはRHEL / CentOS 8.xを使用している場合、スタートアップ情報は次のコマンドでも利用できます。
systemctl status edb-efm-4.4
クラスターが誤って別のクラスターのデータベースに接続するのを防ぐため、クラスター名前は暗号化されたパスワードに組み込まれます。クラスター名前を変更する場合は、データベースパスワードを再暗号化し、クラスタープロパティファイルを更新する必要があります。
EFMPASS環境変数を使用する¶
この例は、パスワードを暗号化するときに--from-env環境変数を使用することを示しています。
efm encryptコマンドを呼び出す前に、EFMPASSの値をパスワード1safepasswordに設定します。
# export EFMPASS=1safepassword
次に、--from-envオプションを指定して、efm encryptを呼び出します。
# efm encrypt acctg --from-env
# 7ceecd8965fa7a5c330eaa9e43696f83
暗号化されたパスワード7ceecd8965fa7a5c330eaa9e43696f83はテキスト値として返されます。スクリプトを使用する場合、コマンドの終了コードを確認して、コマンドが成功したことを確認できます。正常に実行されると、0が返されます。