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 証明書を指定
PROTOCOLsyncreplLDAP 通信のプロトコル
RELOAD_INTERVAL任意1mシステム設定の更新を定期的に問い合わせる間隔
PAGE_KEY_PATH任意同期状況の保存先ディレクトリ
  • OpenLDAP サーバーから正常にエントリを取得して UCIDM API サーバーへの連携に失敗 (リトライしても失敗) したときは自動で復旧しません

次の属性は対象外として連携されません。

  • userPassword

API サーバー

接続する UCIDM API サーバーの設定をします。

環境変数既定値説明
API_SCHEMEhttpshttpUCIDM API サーバーのプロトコル
API_HOST任意localhostUCIDM API サーバー名
API_PORT任意18080UCIDM API サーバーのポート番号
API_ACCOUNT_AUTH_USER任意接続する UCIDM API のアカウント認証ユーザー
API_ACCOUNT_AUTH_PASSWORD任意接続する UCIDM API のアカウント認証パスワード

UCIDM API サーバーへのリクエストに失敗 (ステータスコードが 500 以上を返す) したときのリトライの設定をします。

環境変数既定値説明
CLIENT_RETRY_WAIT_MIN任意1s1回目のリトライの待ち時間
CLIENT_RETRY_WAIT_MAX任意30sリトライの最大の待ち時間
CLIENT_RETRY_MAX任意4リトライの最大回数