10.4. 暗号化したデータベースのエクスポートおよびインポート
暗号化されたデータベースのエクスポートおよびインポートは、通常のデータベースのエクスポートおよびインポートに似ています。ただし、暗号化された情報は、データをエクスポートするときに復号し、データベースに再インポートするときに再暗号化する必要があります。
10.4.1. 暗号化したデータベースのエクスポート
暗号化されたデータベースからデータをエクスポートするには、
-E
パラメーターを dsconf コマンドに渡します。
たとえば、復号した属性で完全な
userRoot
データベースをエクスポートするには、次のコマンドを実行します。
# dsconf -D "cn=Directory Manager" ldap://server.example.com backend export -E userRoot
または、特定のサブツリーのみをエクスポートできます。たとえば、ou=People,dc=example,dc=com エントリーからすべてのデータをエクスポートするには、以下のコマンドを実行します。
# dsconf -D "cn=Directory Manager" ldap://server.example.com backend export -E -s "ou=People,dc=example,dc=com" userRoot
dsconf
を使用したデータのエクスポートに関する詳細は、「dsconf backend export コマンドを使用したデータベースのエクスポート」を参照してください。
10.4.2. 暗号化されたデータベースへの LDIF ファイルのインポート
属性の暗号化が有効な場合にデータをデータベースにインポートするには、以下を実行します。
- Directory Server インスタンスを停止します。
# dsctl instance_name stop
- 前回のエクスポートと今回のインポートとの間で証明書データベースを置き換えた場合は、
/etc/dirsrv/slapd-instance_name/dse.ldif
ファイルを編集して、その属性を含む以下のエントリーを削除します。- cn=AES,cn=encrypted attribute keys,cn=database_name,cn=ldbm database,cn=plugins,cn=config
- cn=3DES,cn=encrypted attribute keys,cn=database_name,cn=ldbm database,cn=plugins,cn=config
重要全データベースのエントリーを削除します。nsSymmetricKey
属性を含むエントリーが/etc/dirsrv/slapd-instance_name/dse.ldif
ファイルに残されると、Directory Server は起動に失敗します。 - LDIF ファイルをインポートします。たとえば、
/tmp/example.ldif
をuserRoot
データベースにインポートするには、以下を行います。# dsctl instance_name ldif2db --encrypted userRoot /tmp/example.ldif
--encrypted
パラメーターを使用すると、スクリプトで属性を暗号化して、インポート中に暗号化を設定できます。 - インスタンスを起動します。
# dsctl instance_name start