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