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 証明書を指定 |
| PROTOCOL | dirsync | – | LDAP 通信のプロトコル |
| 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_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 | リトライの最大回数 |