Agent の再同期
なんらかの理由で LDAP サーバーのエントリが UCIDM API サーバーに ID 連携されていないときに運用対応する方法について説明します。
Agent モジュール のコンテナ内に運用ツールが同梱されており、Agent モジュールと同じ設定を使って再同期できます。
デフォルトでは Docker Compose を次の場所に配置します。ここではデフォルトの位置にインストールされている前提で作業を進めていきます。
docker-compose.yml
を配置したディレクトリへ移動します。
$ cd /opt/osstech/var/lib/ucidm
次のように実行してヘルプが表示されることを確認してください。-it
の後にコンテナ名を指定します。デフォルトでは agent-ldap または agent-ad という名前で設定しています。
$ docker compose exec -it agent-ad /bin/resync help
Usage: resync <flags> <subcommand> <subcommand args>
Subcommands:
commands list all command names
delete delete entries in the ucidm server
entry resync an ldap entry
flags describe all known top-level flags
help describe subcommands and their syntax
update update entries in the ucidm server
Use "resync flags" for a list of top-level flags
個別エントリの再同期
DN と種別 (ユーザーまたはグループ) を指定して個別エントリーを再同期します。
ユーザーエントリのとき
$ docker compose exec -it agent-ldap \
/bin/resync -verbose entry -dn uid=user1,ou=users,dc=example,dc=com -type user
グループエントリのとき
$ docker compose exec -it agent-ad \
/bin/resync -verbose entry -dn cn=group1,ou=groups,dc=example,dc=com -type group
すべてのエントリの再同期
LDAP サーバーのすべてのエントリーを UCIDM API サーバーに再同期します。Agent モジュールの cookie を削除して起動したときとほぼ同じような振る舞いとなります。
デフォルトではドライランモードで実行されて実際にエントリーは更新しません。LDAP サーバーのエントリがすべて UCIDM API サーバーに存在するかどうかのチェックのみ行います。
ユーザーエントリのとき (ドライラン有効)
$ docker compose exec -it agent-ldap /bin/resync update -type user
グループエントリのとき (ドライラン有効)
$ docker compose exec -it agent-ad /bin/resync update -type group
ドライランモードを解除して実際に更新するには次のように実行します。
ユーザーエントリのとき (ドライラン無効)
$ docker compose exec -it agent-ldap /bin/resync update -type user -dryrun=false
グループエントリのとき (ドライラン無効)
$ docker compose exec -it agent-ad /bin/resync update -type group -dryrun=false
UCIDM API サーバーから不整合なユーザーの削除
UCIDM API サーバーに存在して LDAP サーバーに存在しないエントリを UCIDM API サーバーから削除します。
デフォルトではドライランモードで実行されて実際にエントリーは削除しません。UCIDM API サーバーで削除対象となるエントリをチェックして一覧表示します。
ユーザーエントリのとき (ドライラン有効)
$ docker compose exec -it agent-ldap /bin/resync delete -type user
グループエントリのとき (ドライラン有効)
$ docker compose exec -it agent-ad /bin/resync delete -type group
ドライランモードを解除して実際に更新するには次のように実行します。
ユーザーエントリのとき (ドライラン無効)
$ docker compose exec -it agent-ldap /bin/resync delete -type user -dryrun=false
グループエントリのとき (ドライラン無効)
$ docker compose exec -it agent-ad /bin/resync delete -type group -dryrun=false