4.6. LDAP サーバーの IdM への移行
ipa migrate-ds
コマンドを使用して、LDAP サーバーから Identity Management (IdM) に認証サービスと認可サービスを移行できます。
この例は一般的な移行手順のため、あらゆる環境に対応するわけではありません。
実際に LDAP 環境の移行に入る前に、LDAP のテスト環境を設定して移行プロセスを検証することを強く推奨します。環境をテストする場合は、以下を行います。
- IdM でテストユーザーを作成し、移行したユーザーの出力を、テストユーザーの出力と比較します。
- IdM にあるように、移行したユーザーの出力を、元の LDAP サーバーにあるように、ソースユーザーと比較します。
詳細なガイダンスは、以下の 検証 のセクションを参照してください。
前提条件
- LDAP ディレクトリーに対する管理者特権がある。
- IdM がインストールされている場合は、IdM の管理者特権がある。
-
以下の手順を実行している RHEL システムに
root
としてログインしている。 以下の章を読み、理解している。
手順
IdM がインストールされていない場合: 既存の LDAP ディレクトリーがインストールされているマシンとは別のマシンに、IdM サーバー (カスタム LDAP ディレクトリースキーマを含む) をインストールします。詳細は、Identity Management のインストール を参照してください。
注記カスタムユーザースキーマまたはカスタムグループスキーマの IdM でのサポートは限られています。互換性のないオブジェクト定義があると、移行中に問題が発生する可能性があります。
パフォーマンスの理由から、互換性プラグインを無効にします。
# ipa-compat-manage disable
スキーマ互換性機能の詳細と、移行時にスキーマ互換性機能を無効にする利点は、The schema to use when migrating from LDAP to IdM and the schema compat feature を参照してください。
IdM Directory Server インスタンスを再起動します。
# systemctl restart dirsrv.target
IdM サーバーが移行を許可できるように設定します。
# ipa config-mod --enable-migration=TRUE
--enable-migration
を TRUE に設定すると、以下のようになります。- LDAP の追加操作時に、ハッシュ前のパスワードを許可します。
- 初期 Kerberos 認証に失敗した場合に、パスワードの移行シーケンスを試行するように SSSD を設定します。詳細は、Using SSSD when migrating passwords from LDAP to IdM の Workflow セクションを参照してください。
ユースケースに応じたオプションを指定して、IdM 移行スクリプト
ipa migrate-ds
を実行します。詳細は、Customizing the migration from LDAP to IdM を参照してください。# ipa migrate-ds --your-options ldap://ldap.example.com:389
注記上記のいずれかの手順で compat プラグインを無効にしなかった場合は、
--with-compat
オプションをipa migrate-ds
に追加します。# ipa migrate-ds --your-options --with-compat ldap://ldap.example.com:389
互換性プラグインを再度有効にします。
# ipa-compat-manage enable
IdM Directory Server を再起動します。
# systemctl restart dirsrv.target
すべてのユーザーのパスワードが移行したら、移行モードを無効にします。
# ipa config-mod --enable-migration=FALSE
-
[オプション] すべてのユーザーが移行されたら、非 SSSD クライアントを再設定して、LDAP 認証 (
pam_ldap
) ではなく Kerberos 認証 (pam_krb5
) を使用します。詳細は、RHEL 7 System-level Authentication Guide の Configuring a Kerberos Client を参照してください。 ユーザーにハッシュされた Kerberos パスワードを生成させます。Planning password migration when migrating from LDAP to IdM で説明されている方法のいずれかを選択します。
SSSD メソッド を決定した場合は、以下を行います。
SSSD がインストールされているクライアントを、LDAP ディレクトリーから IdM ディレクトリーに移動し、IdM でクライアントとして登録します。これにより必要なキーと証明書がダウンロードされます。
Red Hat Enterprise Linux クライアントでは、この
ipa-client-install
コマンドを使用して実行できます。以下に例を示します。# ipa-client-install --enable-dns-update
IdM 移行 Web ページ メソッドを決定した場合は、以下を行います。
移行 Web ページを使用して IdM にログインするようにユーザーに指示します。
https://ipaserver.example.com/ipa/migration
ユーザーの移行プロセスを監視するには、パスワードは持っているが Kerberos プリンシパルキーはまだないユーザーアカウントを表示するよう既存の LDAP ディレクトリーに問い合わせます。
$ ldapsearch -LL -x -D 'cn=Directory Manager' -w secret -b 'cn=users,cn=accounts,dc=example,dc=com' '(&(!(krbprincipalkey=))(userpassword=))' uid
注記フィルターの前後に一重引用符を付けてシェルで解釈されないようにします。
- クライアントとユーザーすべての移行が完了したら LDAP ディレクトリーを廃止します。
検証
ipa user-add
を使用して、IdM にテストユーザーを作成します。移行したユーザーの出力を、テストユーザーの出力と比較します。移行したユーザーに、テストユーザーに存在する属性およびオブジェクトクラスの最小セットが含まれていることを確認します。以下に例を示します。$ ipa user-show --all testing_user dn: uid=testing_user,cn=users,cn=accounts,dc=idm,dc=example,dc=com User login: testing_user First name: testing Last name: user Full name: testing user Display name: testing user Initials: tu Home directory: /home/testing_user GECOS: testing user Login shell: /bin/sh Principal name: testing_user@IDM.EXAMPLE.COM Principal alias: testing_user@IDM.EXAMPLE.COM Email address: testing_user@idm.example.com UID: 1689700012 GID: 1689700012 Account disabled: False Preserved user: False Password: False Member of groups: ipausers Kerberos keys available: False ipauniqueid: 843b1ac8-6e38-11ec-8dfe-5254005aad3e mepmanagedentry: cn=testing_user,cn=groups,cn=accounts,dc=idm,dc=example,dc=com objectclass: top, person, organizationalperson, inetorgperson, inetuser, posixaccount, krbprincipalaux, krbticketpolicyaux, ipaobject, ipasshuser, ipaSshGroupOfPubKeys, mepOriginEntry
- IdM にあるように、移行したユーザーの出力を、元の LDAP サーバーにあるように、ソースユーザーと比較します。インポートされた属性が 2 回コピーされていないこと、およびそれらが正しい値を持っていることを確認してください。