OpenLDAP 向け Agent
UCIDM は社内で管理している OpenLDAP サーバーから ID 情報を取得して UCIDM API に連携します。
OpenLDAP 向け Agent はコンテナとして稼働させます。次のように compose.yml に設定します。
agent-ldap:
depends_on:
- api
container_name: agent-ldap
image: docker.io/osstech/ucidm-agent:latest
logging: *default-logging
volumes:
- type: bind
source: ./agent-data/openldap
target: ${AGENT_PAGE_KEY_PATH}
bind:
create_host_path: true
#- type: bind
# source: ./certs/chainCA.crt
# target: ${SSL_CERT_FILE}
# read_only: true
# bind:
# create_host_path: false
entrypoint:
- ./bin/agent
- -verbose
- -jsonl
environment:
TZ: "${TZ}"
# SSL_CERT_FILE: "${SSL_CERT_FILE}"
PROTOCOL: "syncrepl"
PAGE_KEY_PATH: "${AGENT_PAGE_KEY_PATH}"
RELOAD_INTERVAL: "${AGENT_RELOAD_INTERVAL}"
API_HOST: "${API_HOST}"
API_PORT: "${API_PORT}"
API_ACCOUNT_AUTH_USER: "${API_ACCOUNT_AUTH_USER}"
API_ACCOUNT_AUTH_PASSWORD: "${API_ACCOUNT_AUTH_PASSWORD}"
restart: "always"
Agent の永続化ディレクトリ
永続化が必要なファイルなどは volumes/agent-data/openldap 配下に配置されます。
$ ls volumes/agent-data/openldap
ここで参照する環境変数は .env に設定します。
環境変数の設定
接続する OpenLDAP サーバーに関する設定は UCIDM API サーバーのシステム設定 で行います。
Agent モジュール
| 環境変数 | 値 | 既定値 | 説明 |
|---|---|---|---|
| TZ | 任意 | – | タイムゾーン情報 |
| SSL_CERT_FILE | 任意 | – | LDAP サーバーとの接続において 信頼する CA 証明書を指定 |
| PROTOCOL | syncrepl | – | LDAP 通信のプロトコル |
| RELOAD_INTERVAL | 任意 | 1m | システム設定の更新を定期的に問い合わせる間隔 |
| PAGE_KEY_PATH | 任意 | – | 同期状況の保存先ディレクトリ |
- OpenLDAP サーバーから正常にエントリを取得して UCIDM API サーバーへの連携に失敗 (リトライしても失敗) したときは自動で復旧しません
- 別途ツールで運用対応する 必要があります
次の属性は対象外として連携されません。
- userPassword
API サーバー
接続する UCIDM API サーバーの設定をします。
| 環境変数 | 値 | 既定値 | 説明 |
|---|---|---|---|
| API_SCHEME | https | http | UCIDM API サーバーのプロトコル |
| API_HOST | 任意 | localhost | UCIDM API サーバー名 |
| API_PORT | 任意 | 18080 | UCIDM API サーバーのポート番号 |
| API_ACCOUNT_AUTH_USER | 任意 | – | 接続する UCIDM API のアカウント認証ユーザー |
| API_ACCOUNT_AUTH_PASSWORD | 任意 | – | 接続する UCIDM API のアカウント認証パスワード |
UCIDM API サーバーへのリクエストに失敗 (ステータスコードが 500 以上を返す) したときのリトライの設定をします。
| 環境変数 | 値 | 既定値 | 説明 |
|---|---|---|---|
| CLIENT_RETRY_WAIT_MIN | 任意 | 1s | 1回目のリトライの待ち時間 |
| CLIENT_RETRY_WAIT_MAX | 任意 | 30s | リトライの最大の待ち時間 |
| CLIENT_RETRY_MAX | 任意 | 4 | リトライの最大回数 |