管理多個用戶帳戶的密碼是使用多個數據源管理企業環境的複雜性之一。 Microsoft Identity Manager 2016 (MIM) 提供兩個密碼管理解決方案:
密碼同步處理 – 利用密碼變更通知服務 (PCNS) 從 Active Directory 擷取密碼變更,並將其傳播至其他連線的數據源。
用戶型密碼變更管理 – 透過 Web 型技術支持人員和自助式密碼重設應用程式,利用 Windows Management Instrumentation (WMI)。
藉由使用密碼同步處理和使用者型密碼變更管理,您可以:
減少用戶必須記住的不同密碼數目。
同時將使用者多個帳戶中的密碼設定或變更為相同的密碼。
允許使用者在 Active Directory 中變更自己的密碼,並將密碼變更推送至其他系統。
消除建置其他密碼或認證存放區的風險。
使用 Active Directory 作為授權來源,跨多個數據源同步處理密碼。
即時執行密碼管理作業,與 MIM 作業無關。
密碼延伸模組
目錄伺服器的管理代理程式預設支援密碼變更和設定作業。 對於預設不支援密碼變更和設定作業的檔案型、資料庫和可延伸連線管理代理程式,您可以建立 .NET 密碼擴展名動態連結庫 (DLL)。 每當針對這些管理代理程式叫用密碼變更或設定呼叫時,就會呼叫 .NET 密碼延伸模組 DLL。 在 Synchronization Service Manager 中,這些管理代理程式會設定密碼擴充功能設定。 如需設定密碼擴充功能的詳細資訊,請參閱 FIM 開發人員參考。
根據預設,管理代理程式支援密碼管理: | 藉由使用密碼擴充功能,管理代理程式也支持密碼管理: |
---|---|
Active Directory | 屬性值組文字檔 |
Active Directory 輕量型目錄服務 (ADLDS) | 分隔文字檔 |
IBM 目錄伺服器 | 目錄服務標記語言 (DSML) |
Lotus Notes | 可延伸連線能力 |
Novell eDirectory | 固定寬度文本檔 |
Sun 和 Netscape 目錄伺服器 | IBM DB2 通用資料庫 |
LDAP 資料交換格式 (LDIF) | |
Microsoft SQL Server | |
Oracle 資料庫 |
密碼同步處理
密碼同步處理可與 Active Directory 網域上的密碼變更通知服務 (PCNS) 搭配運作,並允許從 Active Directory 產生的密碼變更自動傳播至其他已連線的數據源。 MIM 會藉由以遠端過程調用 (RPC) 伺服器的形式執行,以接聽 Active Directory 域控制器的密碼變更通知來達成此目的。 收到並驗證密碼變更要求時,會由 MIM 處理並傳播至適當的管理代理程式。
這很重要
MIM 不支援雙向密碼同步處理。 設定雙向密碼同步處理可以建立迴圈,這會耗用伺服器資源,並可能對 Active Directory 和 MIM 產生負面影響。
PCNS 會在每個 Active Directory 域控制器上執行。 接收密碼通知的系統稱為目標。 您的 MIM 伺服器必須設定為 Active Directory 中的 PCNS 目標,才能傳送密碼通知。 PCNS 組態必須定義包含群組,並選擇性地定義排除群組。 這些群組可用來限制來自網域的敏感性密碼流程。 例如,若要傳送所有用戶的密碼,但不要傳送系統管理密碼,您可以選擇使用網域用戶作為包含群組,而 Domain Admins 作為排除群組。 如需設定密碼變更通知服務的詳細資訊,請參閱使用密碼同步處理
密碼同步處理程式所涉及的元件如下:
密碼變更通知服務 (Pcnssvc.exe)– 密碼變更通知服務會在域控制器上執行,並負責從本機密碼篩選接收密碼變更通知、排入佇列以取得執行 MIM 的目標伺服器,以及使用 RPC 傳遞通知。 服務會加密密碼,並確保密碼保持安全,直到成功傳遞至執行 MIM 的目標伺服器為止。
服務主體名稱 (SPN) – SPN 是 Active Directory 中帳戶物件上的屬性,由 Kerberos 通訊協定用來相互驗證 PCNS 和目標。 SPN 可確保 PCNS 向執行 MIM 的正確伺服器進行驗證,而且沒有其他服務可以接收密碼變更通知。 SPN 是使用 setspn.exe 工具建立和指派。 如需設定 SPN 的詳細資訊,請參閱使用密碼同步處理。
密碼變更通知篩選器 (Pcnsflt.dll) – 密碼篩選器是用來從 Active Directory 取得純文本密碼。 此篩選器是由參與密碼散發至執行 MIM 的目標伺服器之每個 Windows Server 域控制器上的 Local Security Authority (LSA) 載入。 安裝篩選並重新啟動域控制器之後,篩選會開始接收來自該域控制器之密碼變更的密碼變更通知。 密碼通知篩選器會與域控制器上執行的其他篩選同時執行。
密碼變更通知服務組態公用程式 (Pcnscfg.exe) – pcnscfg.exe 公用程式可用來管理和維護儲存在 Active Directory 內的密碼變更通知服務組態參數。 這些組態參數,例如定義目標伺服器、密碼佇列重試間隔,以及啟用或停用目標伺服器,會在驗證密碼通知並傳送至執行 MIM 的目標伺服器時使用。 服務組態會儲存在Active Directory中,因此只需要更新一個域控制器上的組態。 Active Directory 會將變更複寫至所有其他域控制器。
遠端過程調用 (RPC) 伺服器上執行 MIM – 啟用密碼同步處理時,會啟動執行 MIM 之伺服器上的 RPC 伺服器,使其能夠接收密碼變更通知服務的通知。 RPC 會動態選取要使用的埠範圍。 如果您需要 MIM 透過防火牆與 Active Directory 樹系通訊,您必須開啟一系列埠。
密碼延伸模組 DLL – 密碼延伸模組 DLL 提供一種方式,透過任何資料庫的規則擴充功能、可延伸連線或檔案式管理代理程式,來實作密碼集或變更作業。 這可藉由建立一個名為 「export_password」 的匯出專用加密屬性來完成,該屬性實際上不存在於連線的目錄中,但可在布建規則延伸模組中存取和設定,也可以在匯出屬性流程期間使用。 如需設定密碼擴充功能的詳細資訊,請參閱 FIM 開發人員參考。
準備密碼同步處理
設定 MIM 和 Active Directory 環境的密碼同步處理之前,請確認下列事項:
MIM 會根據安裝指示進行安裝。
已建立管理連線數據源的管理代理程式,以進行密碼同步處理,且物件已成功聯結和同步處理。
若要設定密碼同步處理:
擴充 Active Directory 架構,以新增安裝和執行密碼變更通知服務 (PCNS) 所需的類別和屬性。
在每個域控制器上安裝PCNS。
在 Active Directory 中為 MIM 服務帳戶設定服務主體名稱 (SPN)。
設定PCNS以與目標MIM服務通訊。
設定要管理連線數據源的管理代理程式,以進行密碼同步處理。
在 MIM 上啟用密碼同步處理。
如需設定密碼同步處理的詳細資訊,請參閱使用密碼同步處理。
密碼同步處理程式
下圖顯示將密碼變更要求從 Active Directory 域控制器同步處理至其他已連線資料來源的程式:
使用者按下 Ctrl+Alt+Del 來起始密碼變更要求。密碼變更要求,包括新的密碼,會傳送至最近的域控制器。
域控制器會記錄密碼變更要求,並通知密碼變更通知篩選器 (Pcnsflt.dll)。
密碼變更通知篩選器會將要求傳遞至密碼變更通知服務 (PCNS)。
PCNS 會驗證密碼變更要求,然後使用 Kerberos 驗證服務主體名稱 (SPN),並將加密 RPC 中的密碼變更要求轉送至 MIM 目標伺服器。
MIM 會驗證來源域控制器,然後使用功能變數名稱來找出服務該網域的管理代理程式,並使用密碼變更要求中的使用者帳戶資訊,在連接器空間中找出對應的物件。
MIM 會使用聯結數據表資訊來決定接收密碼變更的管理代理程式,並將密碼變更推送至它們。
密碼同步處理安全性
已解決下列密碼同步處理安全性考慮:
來自密碼來源的驗證 – 收到密碼變更通知時,MIM 以及來源域控制器會執行 Kerberos 驗證,以確保收件者和發件人都有效。 收到密碼變更通知時,MIM 可確保呼叫者在所屬網域的域控制器容器中有帳戶。
因為連線不安全而無法將密碼同步處理至目標數據源 – 如果管理代理程式已設定為需要安全連線,但未偵測到連線,同步處理就會失敗。 如果管理代理程式已設定為允許不安全的連線,仍會發生同步處理。 只有在檢查並瞭解所涉及的風險之後,才應啟用允許不安全的連線。
安全儲存密碼 – MIM 只會暫時儲存加密的密碼。 MIM 在密碼變更通知作業期間收到的所有密碼都會在輸入 MIM 程式時立即加密。 成功將其傳送到目標已連線數據源的那一刻,會將其解密,並立即清除儲存密碼的記憶體。 如果作業無法寫入目標連接的數據源,則會儲存加密的密碼,直到嘗試所有重試,然後從記憶體清除為止。
安全密碼佇列 – 儲存在PCNS密碼佇列中的密碼會經過加密,直到傳遞為止。
密碼同步處理錯誤復原案例
在理想情況下,每當使用者變更密碼時,變更就會同步處理,且不會發生任何錯誤。 下列案例說明 MIM 如何從常見的同步處理錯誤復原:
從 Active Directory 到 MIM 失敗的密碼通知 – 如果網路已關閉,或執行 MIM 的伺服器無法使用,就可能發生此問題。 密碼變更通知仍會由PCNS在域控制器本機排入佇列。 PCNS 會根據其重試間隔設定重新嘗試通知。
目標數據源的密碼同步處理失敗 – 如果網路關閉,或目標數據源無法使用,也可能會發生此情況。 密碼變更通知會根據管理代理程式的設定排入佇列並重試,以進行重試嘗試和重試間隔。 所有密碼都會在儲存以進行重試時加密,並在作業成功或達到重試限制時刪除。
在失敗後啟動執行 MIM 的暖待命伺服器 – 在執行 MIM 的主伺服器失敗時,您可以設定暖待命伺服器進行密碼同步處理,並啟動它而不會遺失密碼變更。 如需詳細資訊,請參閱 MIISactivate:伺服器啟用工具
某些失敗已足夠嚴重,而且沒有數量重試可能會導致作業成功。 在這些情況下,會記錄錯誤事件,並停止進程。 不會重試下列事件:
事件 | 嚴重程度 | 說明 |
---|---|---|
6919 | 資訊 | 密碼同步處理集作業未執行,因為時間戳已過期。 |
6921 | 錯誤 | 密碼同步處理集作業未處理,因為目標管理代理程式上未啟用密碼管理。 |
6922 | 錯誤 | 密碼同步處理集作業未處理,因為未在目標管理代理程式上設定密碼管理。 |
6923 | 警告 | 密碼同步處理集作業未處理,因為找不到連線目錄中的目標連接器空間物件。 |
6927 | 錯誤 | 密碼同步處理集作業失敗,因為密碼不符合目標系統的密碼原則。 |
6928 | 錯誤 | 密碼同步處理集作業失敗,因為目標管理代理程式的密碼擴充功能未設定為支援密碼設定作業。 |
用戶型密碼變更管理
MIM 提供兩個使用 Windows Management Instrumentation (WMI) 重設密碼的 Web 應用程式。 如同密碼同步處理,您可以在管理代理程式設計工具中設定管理代理程式時啟用密碼管理。 如需密碼管理和 WMI 的相關信息,請參閱 MIM 開發人員參考。
MIM 會在安裝期間建立兩個安全組,特別支持密碼管理作業:
FIMSyncBrowse - 此群組的成員有權在使用 WMI 查詢執行搜尋作業時收集使用者帳戶的相關信息。
FIMSyncPasswordSet - 此群組的成員有權使用密碼管理介面搭配 WMI 來執行帳戶搜尋、密碼集和密碼變更作業。