Active Directory 向け Agent

UCIDM は社内で管理している Active Directory サーバーから ID 情報を取得して UCIDM API に連携します。

Active Directory 向け Agent はコンテナとして稼働させます。次のように compose.yml に設定します。

  agent-ad:
    depends_on:
      - api
    container_name: agent-ad
    image: docker.io/osstech/ucidm-agent:latest
    logging: *default-logging
    volumes:
      - type: bind
        source: ./agent-data/ad
        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: "dirsync"
      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/ad 配下に配置されます。

$ ls volumes/agent-data/ad

ここで参照する環境変数は .env に設定します。

環境変数の設定

Agent モジュール

接続する Active Directory サーバーに関する設定は UCIDM API サーバーのシステム設定 で行います。

環境変数既定値説明
TZ任意タイムゾーン情報
SSL_CERT_FILE任意LDAP サーバーとの接続において
信頼する CA 証明書を指定
PROTOCOLdirsyncLDAP 通信のプロトコル
PAGE_KEY_PATH任意同期状況の保存先ディレクトリ
RELOAD_INTERVAL任意1mシステム設定の更新を定期的に問い合わせる間隔
  • AD から正常にエントリを取得して UCIDM API サーバーへの連携に失敗 (リトライしても失敗) したときは自動で復旧しません

次の属性は Windows サーバーでのみ必要なシステム関連の属性なので連携されません。

  • lmPwdHistory
  • ntPwdHistory
  • supplementalCredentials
  • nTSecurityDescriptor
  • pwdLastSet
  • parentGUID
  • objectSid
  • memberOf
  • unicodePwd
  • dBCSPwd
  • codePage
  • countryCode
  • instanceType
  • sAMAccountType
  • objectCategory
  • badPwdCount
  • badPasswordTime
  • dSCorePropagationData

1回の検索リクエストで取得できるエントリー数の設定

1回の検索リクエストで取得できるエントリー数はデフォルトで MaxPageSize=1000 に設定されています。あるグループに所属するメンバー数が1000件よりも多い場合、この設定値をメンバー数よりも大きい値に設定する必要があります。MaxPageSize の値は次のようにして設定を変更します。

c:\>ntdsutil
ntdsutil: ldap policies
ldap policy: connections
server connections: connect to server localhost
server connections: quit
ldap policy: show values
  現在の設定を確認
ldap policy: set maxpagesize to 10000
ldap policy: commit changes
ldap policy: show values
  変更した設定を確認
ldap policy: quit
ntdsutil: quit

詳細については Microsoft 社のドキュメントを参照してください。

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リトライの最大回数