arrows-rotate身份同步(LDAP)

設定 LDAP 身份同步,自動將企業目錄服務的使用者與群組匯入 MaiAgent,並支援以 LDAP 密碼直接登入平台

身份同步讓您將企業目錄服務(AD、JumpCloud、OpenLDAP 等)中的使用者與群組資料自動匯入 MaiAgent,免除逐一建立帳號的工作。搭配 LDAP 帳密登入 功能,員工更可直接使用企業既有密碼登入 MaiAgent,無需另外記憶。

circle-info

身份同步(LDAP)為 企業版 專屬功能。如需啟用,請聯繫 MaiAgent 業務團隊升級至企業方案。

使用場景

  1. 企業已有 AD / LDAP 目錄:希望員工資料自動流入 MaiAgent,不想手動維護兩套名單

  2. 離職帳號同步停用:員工離職時在企業端停用帳號,MaiAgent 端也會同步失去存取權

  3. 統一密碼管理:希望員工只需記一組企業密碼,不要每個系統各一組

  4. 部門權限映射:依據企業目錄中的群組,自動賦予 MaiAgent 對應的角色權限

  5. 大量使用者匯入:初次導入 MaiAgent 時,一次性將 100+ 員工帶入平台

跟 SSO 有什麼差別?

身份同步(LDAP)與 第三方登入(SSO) 都是企業級身份整合功能,但解決的問題不同:

比較面向
身份同步(LDAP)
第三方登入(SSO)

主要目的

把「人」從企業目錄同步進 MaiAgent

讓使用者用企業帳號「登入」 MaiAgent

使用者建立

✅ 自動建立

❌ 需搭配 JIT 或事先建立

登入方式

啟用 Bind 登入後用企業密碼登入

跳轉企業 IdP 完成登入

群組 / 角色同步

✅ 自動依據群組映射

⚠️ 視 IdP 與整合方式而定

常見整合對象

Microsoft AD、JumpCloud、OpenLDAP

Azure AD、Okta、Keycloak

兩者可同時啟用:用 SSO 負責跳轉登入、用 LDAP 同步維護帳號清單。

前置條件

啟用 LDAP 身份同步前,請先備齊以下資訊:

您的 IT 窗口需要提供

  • LDAP 伺服器位址:例如 ldaps://ad.company.com:636

  • Base DN:搜尋使用者的起點,例如 DC=company,DC=comou=Users,o=<org>,dc=jumpcloud,dc=com

  • Bind DN:具備讀取權限的服務帳號完整 DN

  • Bind 密碼:服務帳號的密碼

  • 防火牆開通:允許 MaiAgent 伺服器連線至您的 LDAP 伺服器(預設 port 636 for LDAPS、389 for LDAP)

MaiAgent 端需要的權限

  • 具備 組織擁有者(Owner) 或具備 組織管理權限 的角色

circle-exclamation

進入身份同步設定

  1. 從左側選單點選 組織設定 > 組織概覽

  2. 點擊 身份同步 進入設定頁面

  3. 點擊 選擇同步方式,在 Modal 中選擇 LDAP

選擇同步方式
選擇同步方式 Modal,目前支援 LDAP,SCIM 即將推出

進入設定後,會看到 5 個分頁:連線設定同步範圍群組映射登入與同步同步紀錄。接下來分別說明。

1. 連線設定

第一步先建立 MaiAgent 與您 LDAP 伺服器的連線。填完四個欄位後,務必先按「測試連線」驗證,確認無誤再儲存。

連線設定表單
連線設定分頁,填入伺服器位址、Base DN、Bind DN 與密碼

各欄位填入規則

欄位
說明
範例(JumpCloud)
範例(AD)

伺服器位址

LDAP 伺服器的連線位址,需帶協定與 port

ldaps://ldap.jumpcloud.com:636

ldaps://ad.company.com:636

Base DN

搜尋使用者的起點,必須包含 DC=(不分大小寫)

ou=Users,o=<ORG_ID>,dc=jumpcloud,dc=com

DC=company,DC=com

Bind DN

用於驗證的服務帳號完整路徑

uid=svcaccount,ou=Users,o=<ORG_ID>,dc=jumpcloud,dc=com

CN=svc-maiagent,OU=ServiceAccounts,DC=company,DC=com

密碼

Bind DN 帳號的密碼

各欄位的具體值需要由您的 IT 窗口提供,實際串接案例可參考後方 操作範例(以 JumpCloud 為例) 章節。

測試連線

填好欄位後按 測試連線。成功時會顯示綠色「Connection successful」訊息與回應時間。

連線測試成功
測試連線成功,顯示回應時間(約 200–300ms 為正常)
circle-exclamation

常見錯誤

錯誤訊息
可能原因
處理方式

Invalid credentials

Bind DN 或密碼錯誤

確認 Bind DN 格式,密碼是否為最新

Server unreachable

伺服器位址錯誤或防火牆未開通

確認 URL、port,請 IT 開通 MaiAgent 連出該 LDAP 伺服器

Invalid DN syntax

Base DN 格式不符

Base DN 必須包含 DC=,檢查逗號、層級是否正確

Timeout

連線超過 10 秒仍無回應

確認 LDAP 伺服器正常運作、網路路由可達

2. 同步範圍

選擇要將 LDAP 中哪些使用者同步進 MaiAgent。支援兩種模式:

簡單模式(推薦)

勾選要同步的 組織單位(OU)群組(Group)。勾選後下方可按 預覽清單 確認會被同步的使用者。

同步範圍簡單模式
簡單模式,勾選要同步的 OU 或群組。右側數字表示該範圍內的使用者人數
使用者預覽
按下「預覽清單」後,列出所有會被同步的使用者。支援 Email / 姓名搜尋
circle-info

OU 與 Group 可同時勾選。若一位使用者同時符合多個條件,只會被同步一次,群組對應關係會保留全部。

進階模式

若需要更精細的篩選(例如「只同步職等 Manager 以上的工程部員工」),可切換到進階模式自訂 LDAP Filter。

常用 Filter 範例:

需求
LDAP Filter

只同步啟用中的使用者

(&(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

只同步特定部門

(&(objectClass=user)(department=Engineering))

排除服務帳號

(&(objectClass=user)(!(sAMAccountName=svc-*)))

circle-exclamation

3. 群組映射

設定 LDAP 群組與 MaiAgent 角色的對應關係。未映射的群組會自動建立同名的 MaiAgent 角色(可在此開關關閉)。

circle-info

身份同步 vs 權限管理的分工

身份同步只負責把「使用者」與「角色歸屬」從 LDAP 同步進 MaiAgent;每個角色的具體權限範圍(可以用哪些功能、存取哪些資源)需要管理員先到 角色權限管理 頁設定一次

設定完成後,之後新進員工只要在 LDAP 端加入對應的群組,就會自動同步進 MaiAgent 並取得該角色的權限 — 不需要管理員個別為每位新人設定。

群組映射
群組映射分頁,可逐筆設定、或用 CSV 批次匯入

操作選項

  • 新增映射:手動對應一個 LDAP 群組到 MaiAgent 角色

  • 下載範本:取得 CSV 範本,批次建立映射

  • 匯入檔案:上傳填寫完成的 CSV

  • 自動建立未映射的角色:預設開啟。同步時遇到尚未映射的 LDAP 群組,會自動在 MaiAgent 建立同名角色

映射範例

LDAP 群組
MaiAgent 角色
用途

Engineering

工程師

工程部門共用角色

Finance

財務

財務部門共用角色

AI-Project

AI 專案成員

跨部門專案角色,成員可同時來自其他部門

circle-info

若員工屬於多個 LDAP 群組(例如同時在 EngineeringAI-Project),同步後會同時被賦予兩個對應的 MaiAgent 角色

circle-exclamation

4. 登入與同步

這一頁管兩件事:LDAP 帳密登入開關手動觸發同步

登入與同步
登入與同步分頁,包含 Bind 登入開關、手動同步按鈕、上次同步結果

LDAP 帳密登入

啟用後,同步進來的使用者可以直接用 LDAP 密碼 登入 MaiAgent,無需另外設定。

circle-info

啟用 LDAP 帳密登入後,使用者在 LDAP 目錄服務變更密碼會立即生效,不需要等下一次同步。

circle-exclamation

手動觸發同步

按下 立即執行同步 會從 LDAP 拉取最新資料並更新 MaiAgent。

  • 自動同步:系統預設每 30 分鐘自動同步一次,不需手動介入

  • 冷卻時間:手動同步有 60 秒冷卻限制,避免短時間重複觸發

  • 同步動作:包含「新增(Active 使用者)」、「更新(資料變更)」、「停用(LDAP 移出範圍或被 Suspended)」

上次同步結果

顯示最近一次同步的統計摘要,包含新增、更新、停用、失敗的筆數。詳細明細請到 同步紀錄 分頁查看。

5. 同步紀錄

查看每一次同步的完整明細:時間、動作、影響的使用者、觸發方式。

同步紀錄
同步紀錄分頁,可搜尋 Email / 姓名 / 角色,或以動作類型篩選

動作類型

動作
意義

新增

使用者從 LDAP 第一次被同步進 MaiAgent

更新

使用者資料變更(姓名、Email、群組歸屬)

停用

使用者在 LDAP 被移出範圍、被 Suspended,或被刪除

失敗

該使用者同步失敗(詳見明細中的錯誤訊息)

觸發方式

  • 手動:由管理員在 登入與同步 分頁點擊「立即執行同步」

  • 自動:系統每 30 分鐘自動排程觸發

驗證同步是否成功

執行同步後,透過以下三個地方可以確認使用者是否正確匯入、LDAP 群組是否對應到 MaiAgent 角色。

驗證 1:到成員管理頁查看使用者

進入 組織設定 > 成員管理,LDAP 同步進來的使用者會出現在列表中。以 Email 搜尋可快速定位特定使用者。

成員列表,含 LDAP 同步使用者
成員管理列表,LDAP 同步進來的 Chen 家族與原本手動邀請的成員並列

每位使用者的「角色」欄位會顯示其所屬的 MaiAgent 角色,例如 One Chen 對應到 Group 1Group 2 兩個角色,反映了他在 LDAP 端同時屬於這兩個群組。

circle-exclamation

驗證 2:到角色權限管理頁查看角色

進入 組織設定 > 角色權限,LDAP 群組映射對應的角色會出現在列表中,「成員」欄位顯示目前透過同步加入此角色的使用者。

角色權限管理列表
角色權限管理列表,Group 1 與 Group 2 是 LDAP 同步時自動建立的角色

從上圖可以看到:

  • Group 1 有兩位成員(Two Chen、One Chen),對應 LDAP 端 Group 1 的成員

  • Group 2 有兩位成員(Three Chen、One Chen),對應 LDAP 端 Group 2 的成員

  • One Chen 同時出現在兩個角色中,代表他在 LDAP 端屬於兩個群組

  • 這些角色外觀與手動建立的角色相同,可以點進去調整權限範圍

驗證 3:到同步紀錄查執行歷程

進入 身份同步 > 同步紀錄,可以看到每一次同步的時間、動作(新增 / 更新 / 停用)、對應使用者、觸發方式。這是判斷「同步有沒有失敗、失敗在哪位」的唯一地方。

不同驗證需求的對照表

想知道什麼
去哪裡看

使用者有沒有匯入成功

成員管理 列表,以 Email 搜尋

使用者被分到哪些角色

成員管理 列表,該使用者的「角色」欄位

LDAP 群組有沒有變成角色

角色權限 列表

某角色實際有哪些成員

角色權限 列表,該角色的「成員」欄位

某使用者是 LDAP 同步還是手動新增

同步紀錄,以 Email 搜尋,有紀錄代表 LDAP 同步

同步有沒有失敗、失敗原因

同步紀錄,以「失敗」篩選動作類型

上次同步帶進 / 停用幾位

登入與同步,「上次同步結果」統計

操作建議

啟用身份同步後,在成員 / 角色管理頁做部分手動操作會和 LDAP 衝突,請注意以下事項。

成員管理頁

操作
後果

手動刪除 LDAP 同步的使用者

下次同步會再次建立

直接改 LDAP 同步使用者的 Email

同步時會以 LDAP 為準覆蓋

啟用 Bind 登入後手動重設密碼

本地密碼不可用,密碼只能在 LDAP 端改

角色權限管理頁

操作
後果

刪除 LDAP 映射對應的角色

下次同步若開啟「自動建立未映射的角色」會重建

手動在該角色中增減成員

下次同步時成員名單會以 LDAP 群組為準覆蓋

重命名角色

與 LDAP 群組的關聯會斷裂,建議改在 群組映射 頁重新對應

circle-info

簡單原則權限由 MaiAgent 角色控制、成員歸屬由 LDAP 群組控制。想改權限去角色設定、想改誰在哪個群組去 LDAP 端。

角色權限的首次設定

同步完成後,新建立的角色(例如 Group 1Group 2預設沒有任何權限。請到 角色權限管理 頁為每個角色設定:

  • 功能權限:這個角色能使用哪些功能(AI 助理、知識庫、客服對話…)

  • 資源存取:能存取哪些特定的助理、知識庫、資料庫

每個角色只需要設定一次。之後該角色的新成員(從 LDAP 同步進來的)會自動繼承這些權限,不需要管理員為每位新人個別分配。

操作範例(以 JumpCloud 為例)

以下是以 JumpCloud 為 LDAP 伺服器的完整串接流程。其他系統(Microsoft AD、OpenLDAP 等)步驟相同,差別只在各欄位的格式,可參考文末附錄的對照表。

Step 1:在 JumpCloud 找到連線資訊

登入 JumpCloud Adminarrow-up-right,進 Access > LDAP

JumpCloud LDAP 頁
JumpCloud Admin 左側選單 Access > LDAP

點進 JumpCloud LDAP Directory,複製頁面中的 ORG DN

JumpCloud LDAP Directory 詳細頁
JumpCloud LDAP Directory 詳細頁,ORG DN 欄位的值就是您需要的組織識別碼

Step 2:確認使用者已啟用 LDAP Bind DN

點進任一使用者(例如 bob.chen)> 切換到 Directories 分頁 > 確認該使用者已綁定 JumpCloud LDAP 並標示為 LDAP Bind DN

使用者 LDAP Bind DN
使用者詳細頁 > Directories,確認已綁定 LDAP Bind DN
circle-exclamation

Step 3:組合連線參數

以 ORG DN 為 o=69de10c5be030ec43849f7a1,dc=jumpcloud,dc=com 為例:

欄位

伺服器位址

ldaps://ldap.jumpcloud.com:636

Base DN

ou=Users,o=69de10c5be030ec43849f7a1,dc=jumpcloud,dc=com

Bind DN

uid=bob.chen,ou=Users,o=69de10c5be030ec43849f7a1,dc=jumpcloud,dc=com

密碼

Bob Chen 的 JumpCloud 密碼

Step 4:在 MaiAgent 填入並測試

貼到 MaiAgent 連線設定,按 測試連線,看到綠色「Connection successful」即可儲存。

Step 5:設定同步範圍並執行

切到 同步範圍ou=Users,儲存 → 到 登入與同步立即執行同步 → 到 同步紀錄 確認使用者已新增。

常見問題

Q1. 測試連線顯示「Invalid credentials」,但我確定密碼是對的

檢查三個地方:

  1. Bind DN 格式:確認完整路徑,包含所有 ou=dc= 層級

  2. LDAP Bind DN 勾選(JumpCloud):進該使用者 > Directories > 確認有勾「Enable as LDAP Bind DN」

  3. 密碼特殊字元:若密碼含有 $! 等字元,在某些系統中需要 escape

Q2. 為什麼有些使用者沒被同步進來?

查以下項目:

  • 使用者狀態在 LDAP 是否為 Active(JumpCloud 的 Staged / Suspended 不會同步)

  • 是否在勾選的 OU / Group 範圍內(進階模式則需符合 Filter 條件)

  • 使用者的 Email 欄位是否為空(MaiAgent 以 Email 為唯一識別,缺 Email 會跳過)

同步紀錄 可以看到詳細的失敗原因。

Q3. 可以只同步特定部門嗎?

可以。兩種做法:

  • 簡單模式:在 LDAP 裡把該部門獨立成一個 OU 或 Group,在 MaiAgent 只勾該項目

  • 進階模式:用自訂 LDAP Filter,例如 (&(objectClass=user)(department=Engineering))

Q4. 員工改了 LDAP 密碼,MaiAgent 這邊要等同步嗎?

不用。只要啟用了 LDAP 帳密登入,使用者用新密碼登入時 MaiAgent 會即時向 LDAP 驗證,完全即時生效。

Q5. 啟用 LDAP 帳密登入後,原本 MaiAgent 的本地密碼還能用嗎?

不能。啟用後所有已同步的使用者認證來源會變為 LDAP,原本的 MaiAgent 密碼被設為不可用。使用者只能用 LDAP 密碼登入。

若之後關閉此開關,使用者需請管理員重設密碼後才能再次登入。

Q6. 員工離職了,MaiAgent 這邊會自動停用嗎?

會。在 LDAP 端把使用者 Suspend 或 Disable 後,下一次同步(手動或 30 分鐘自動)MaiAgent 就會將其停用。若啟用了 Bind 登入,該員工當下就無法再登入。

Q7. LDAP 群組改名或刪除,MaiAgent 會怎樣?

  • 群組改名:MaiAgent 端的原角色名稱不會自動改名;建議手動更新對應的群組映射

  • 群組刪除:若已建立映射,映射會保留但該 LDAP 群組下無使用者;建議手動清理

Q8. 自動同步是每幾分鐘一次?可以調整嗎?

目前是固定每 30 分鐘一次,尚不支援客製化週期。若有急迫需求,可用「立即執行同步」手動觸發。

附錄:不同 LDAP 系統連線範例

Microsoft Active Directory

欄位

伺服器位址

ldaps://ad.company.com:636

Base DN

DC=company,DC=com

Bind DN

CN=svc-maiagent,OU=ServiceAccounts,DC=company,DC=com

JumpCloud

欄位

伺服器位址

ldaps://ldap.jumpcloud.com:636

Base DN

ou=Users,o=<ORG_ID>,dc=jumpcloud,dc=com

Bind DN

uid=<username>,ou=Users,o=<ORG_ID>,dc=jumpcloud,dc=com

OpenLDAP / FreeIPA

欄位

伺服器位址

ldaps://ldap.company.local:636

Base DN

dc=company,dc=local

Bind DN

uid=maiagent,ou=system,dc=company,dc=local

Azure AD(Entra ID)

Azure AD 本身不開 LDAP port,但可以透過 Azure AD Domain Services(AADDS) 這個 Azure 付費 add-on 提供 LDAP 介面。若您的企業使用 Azure AD,可以走以下任一路徑:

目的
建議做法

同步使用者

啟用 AADDS,把 AADDS 當成 LDAP 伺服器填入(欄位格式與 Microsoft AD 相同)

登入認證

直接使用 第三方登入(SSO) 搭配 SAML / OAuth,不需走 LDAP Bind

同時有 on-prem AD

直接當 Microsoft AD 串接,不需 AADDS

circle-info

若您只想讓員工用 Azure AD 帳號 登入 MaiAgent、不需要同步使用者資料,請直接看 第三方登入(SSO) 文件,不需這份身份同步手冊。

下一步

Last updated

Was this helpful?